lkml.org 
[lkml]   [2006]   [Oct]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] Linux Kernel Markers 0.20 for 2.6.17
From
On Sat, 30 Sep 2006 14:04:43 -0400, Mathieu Desnoyers <compudj@krystal.dyndns.org> 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 majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2006-10-17 17:51    [from the cache]
©2003-2011 Jasper Spaans