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    [W:0.020 / U:1.352 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site