On Sat, 30 Sep 2006 14:04:43 -0400, Mathieu Desnoyers <[email protected]> wrote:
> +#define MARK(name, format, args...) \
> + do { \
> + static marker_probe_func *__mark_call_##name = \
> + __mark_empty_function; \
> + volatile static char __marker_enable_##name = 0; \
> + static const struct __mark_marker_c __mark_c_##name \
> + __attribute__((section(".markers.c"))) = \
> + { #name, &__mark_call_##name, format } ; \
> + static const struct __mark_marker __mark_##name \
> + __attribute__((section(".markers"), unused)) = \
> + { &__mark_c_##name, &__marker_enable_##name } ; \
> + if (unlikely(__marker_enable_##name)) { \
> + preempt_disable(); \
> + (*__mark_call_##name)(format, ## args); \
> + preempt_enable_no_resched(); \
> + } \
> + } while(0)
When I compiled this with gcc 4.1.1 (mips), ".markers" section was
empty.
I suppose "unused" attribute is not suitable for modern gcc. Maybe
__attribute_used__ should be used?
The __attrribute_used__ is defined in compiler-gcc3.h as:
#if __GNUC_MINOR__ >= 3
# define __attribute_used__ __attribute__((__used__))
#else
# define __attribute_used__ __attribute__((__unused__))
#endif
---
Atsushi Nemoto
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]