diff options
author | Stan Cox <scox@redhat.com> | 2009-03-09 21:27:30 -0400 |
---|---|---|
committer | Stan Cox <scox@redhat.com> | 2009-03-09 21:27:30 -0400 |
commit | d82227a838a0ac11827a4047dc33b9e38eefc3b7 (patch) | |
tree | 586248e3ccd2d80bb8a9113ee2b7fdbde55ae756 /includes | |
parent | 046e719028ae6b037fb7342b7d0764985bfaf408 (diff) | |
download | systemtap-steved-d82227a838a0ac11827a4047dc33b9e38eefc3b7.tar.gz systemtap-steved-d82227a838a0ac11827a4047dc33b9e38eefc3b7.tar.xz systemtap-steved-d82227a838a0ac11827a4047dc33b9e38eefc3b7.zip |
Use alternate keywords for sdt.h
* include/sys/sdt.h: Initialize args when declaring. Use alternate keywords.
Diffstat (limited to 'includes')
-rw-r--r-- | includes/sys/sdt.h | 228 |
1 files changed, 92 insertions, 136 deletions
diff --git a/includes/sys/sdt.h b/includes/sys/sdt.h index ba927093..ea1da719 100644 --- a/includes/sys/sdt.h +++ b/includes/sys/sdt.h @@ -18,7 +18,7 @@ __uint64_t arg #else #define STAP_PROBE_STRUCT_ARG(arg) \ - long arg __attribute__ ((aligned(8))) + long arg __attribute__ ((aligned(8))) #endif #define STAP_SENTINEL 0x31425250 @@ -33,12 +33,12 @@ struct _probe_ ## probe \ static char probe ## _ ## probe_name [strlen(#probe)+1] \ __attribute__ ((section (".probes"))) \ = #probe; \ -static volatile struct _probe_ ## probe _probe_ ## probe __attribute__ ((section (".probes"))) = {STAP_SENTINEL,(size_t)& probe ## _ ## probe_name[0],argc}; +__extension__ static volatile struct _probe_ ## probe _probe_ ## probe __attribute__ ((section (".probes"))) = {STAP_SENTINEL,(size_t)& probe ## _ ## probe_name[0],argc}; /* The goto _probe_ prevents the label from "drifting" */ #define STAP_LABEL_REF(probe, label) \ if (__builtin_expect(_probe_ ## probe.probe_type < 0, 0)) \ - goto label + goto label; /* These baroque macros are used to create a unique label */ #define STAP_CONCAT(a,b) a ## b @@ -53,190 +53,146 @@ static volatile struct _probe_ ## probe _probe_ ## probe __attribute__ ((section #define STAP_PROBE_(probe,label) \ do { \ -label: \ - asm volatile ("nop"); \ STAP_PROBE_STRUCT(probe,(size_t)&& label) \ - STAP_LABEL_REF(probe,label);} while (0) + STAP_LABEL_REF(probe,label); \ +label: \ + __asm__ volatile ("nop");} \ + while (0) #define STAP_PROBE1_(probe,label,parm1) \ do { \ - volatile typeof((parm1)) arg1 __attribute__ ((unused)); \ + volatile __typeof__((parm1)) arg1 __attribute__ ((unused)) = parm1; \ STAP_PROBE_STRUCT(probe,(size_t)&& label) \ - STAP_LABEL_REF(probe,label); \ - arg1 = parm1; \ + STAP_LABEL_REF(probe,label); \ label: \ - asm volatile ("nop /* %0 */" :: "X"( arg1)); } while (0) + __asm__ volatile ("nop /* %0 */" :: "X"( arg1));} \ +while (0) #define STAP_PROBE2_(probe,label,parm1,parm2) \ do { \ - volatile typeof((parm1)) arg1 __attribute__ ((unused)); \ - volatile typeof((parm2)) arg2 __attribute__ ((unused)); \ + volatile __typeof__((parm1)) arg1 __attribute__ ((unused)) = parm1; \ + volatile __typeof__((parm2)) arg2 __attribute__ ((unused)) = parm2; \ STAP_PROBE_STRUCT(probe,(size_t)&& label) \ - STAP_LABEL_REF(probe,label); \ - arg1 = parm1; \ - arg2 = parm2; \ + STAP_LABEL_REF(probe,label); \ label: \ - asm volatile ("nop /* %0 %1 */" :: "X"(arg1), "X"(arg2)); } while (0) + __asm__ volatile ("nop /* %0 %1 */" :: "X"(arg1), "X"(arg2)); \ +} while (0) #define STAP_PROBE3_(probe,label,parm1,parm2,parm3) \ do { \ - volatile typeof((parm1)) arg1 __attribute__ ((unused)); \ - volatile typeof((parm2)) arg2 __attribute__ ((unused)); \ - volatile typeof((parm3)) arg3 __attribute__ ((unused)); \ + volatile __typeof__((parm1)) arg1 __attribute__ ((unused)) = parm1; \ + volatile __typeof__((parm2)) arg2 __attribute__ ((unused)) = parm2; \ + volatile __typeof__((parm3)) arg3 __attribute__ ((unused)) = parm3; \ STAP_PROBE_STRUCT(probe,(size_t)&& label) \ - STAP_LABEL_REF(probe,label); \ - arg1 = parm1; \ - arg2 = parm2; \ - arg3 = parm3; \ + STAP_LABEL_REF(probe,label); \ label: \ - asm volatile ("nop /* %0 %1 %2 */" :: "X"(arg1), "X"(arg2), "X"(arg3)); } while (0) + __asm__ volatile ("nop /* %0 %1 %2 */" :: "X"(arg1), "X"(arg2), "X"(arg3)); \ +} while (0) #define STAP_PROBE4_(probe,label,parm1,parm2,parm3,parm4) \ do { \ - volatile typeof((parm1)) arg1 __attribute__ ((unused)); \ - volatile typeof((parm2)) arg2 __attribute__ ((unused)); \ - volatile typeof((parm3)) arg3 __attribute__ ((unused)); \ - volatile typeof((parm4)) arg4 __attribute__ ((unused)); \ + volatile __typeof__((parm1)) arg1 __attribute__ ((unused)) = parm1; \ + volatile __typeof__((parm2)) arg2 __attribute__ ((unused)) = parm2; \ + volatile __typeof__((parm3)) arg3 __attribute__ ((unused)) = parm3; \ + volatile __typeof__((parm4)) arg4 __attribute__ ((unused)) = parm4; \ STAP_PROBE_STRUCT(probe,(size_t)&& label) \ - STAP_LABEL_REF(probe,label); \ - arg1 = parm1; \ - arg2 = parm2; \ - arg3 = parm3; \ - arg4 = parm4; \ + STAP_LABEL_REF(probe,label); \ label: \ - asm volatile ("nop /* %0 %1 %2 %3 */" :: "X"(arg1), "X"(arg2), "X"(arg3), "X"(arg4)); } while (0) + __asm__ volatile ("nop /* %0 %1 %2 %3 */" :: "X"(arg1), "X"(arg2), "X"(arg3), "X"(arg4)); \ +} while (0) #define STAP_PROBE5_(probe,label,parm1,parm2,parm3,parm4,parm5) \ do { \ - volatile typeof((parm1)) arg1 __attribute__ ((unused)); \ - volatile typeof((parm2)) arg2 __attribute__ ((unused)); \ - volatile typeof((parm3)) arg3 __attribute__ ((unused)); \ - volatile typeof((parm4)) arg4 __attribute__ ((unused)); \ - volatile typeof((parm5)) arg5 __attribute__ ((unused)); \ + volatile __typeof__((parm1)) arg1 __attribute__ ((unused)) = parm1; \ + volatile __typeof__((parm2)) arg2 __attribute__ ((unused)) = parm2; \ + volatile __typeof__((parm3)) arg3 __attribute__ ((unused)) = parm3; \ + volatile __typeof__((parm4)) arg4 __attribute__ ((unused)) = parm4; \ + volatile __typeof__((parm5)) arg5 __attribute__ ((unused)) = parm5; \ STAP_PROBE_STRUCT(probe,(size_t)&& label) \ - STAP_LABEL_REF(probe,label); \ - arg1 = parm1; \ - arg2 = parm2; \ - arg3 = parm3; \ - arg4 = parm4; \ - arg5 = parm5; \ + STAP_LABEL_REF(probe,label); \ label: \ - asm volatile ("nop /* %0 %1 %2 %3 %4 */" :: "X"(arg1), "X"(arg2), "X"(arg3), "X"(arg4), "X"(arg5)); } while (0) + __asm__ volatile ("nop /* %0 %1 %2 %3 %4 */" :: "X"(arg1), "X"(arg2), "X"(arg3), "X"(arg4), "X"(arg5)); \ +} while (0) #define STAP_PROBE6_(probe,label,parm1,parm2,parm3,parm4,parm5,parm6) \ do { \ - volatile typeof((parm1)) arg1 __attribute__ ((unused)); \ - volatile typeof((parm2)) arg2 __attribute__ ((unused)); \ - volatile typeof((parm3)) arg3 __attribute__ ((unused)); \ - volatile typeof((parm4)) arg4 __attribute__ ((unused)); \ - volatile typeof((parm5)) arg5 __attribute__ ((unused)); \ - volatile typeof((parm6)) arg6 __attribute__ ((unused)); \ + volatile __typeof__((parm1)) arg1 __attribute__ ((unused)) = parm1; \ + volatile __typeof__((parm2)) arg2 __attribute__ ((unused)) = parm2; \ + volatile __typeof__((parm3)) arg3 __attribute__ ((unused)) = parm3; \ + volatile __typeof__((parm4)) arg4 __attribute__ ((unused)) = parm4; \ + volatile __typeof__((parm5)) arg5 __attribute__ ((unused)) = parm5; \ + volatile __typeof__((parm6)) arg6 __attribute__ ((unused)) = parm6; \ STAP_PROBE_STRUCT(probe,(size_t)&& label) \ - STAP_LABEL_REF(probe,label); \ - arg1 = parm1; \ - arg2 = parm2; \ - arg3 = parm3; \ - arg4 = parm4; \ - arg5 = parm5; \ - arg6 = parm6; \ + STAP_LABEL_REF(probe,label); \ label: \ - asm volatile ("nop" :: "X"(arg1), "X"(arg2), "X"(arg3), "X"(arg4), "X"(arg5), "X"(arg6)); } while (0) + __asm__ volatile ("nop" :: "X"(arg1), "X"(arg2), "X"(arg3), "X"(arg4), "X"(arg5), "X"(arg6)); \ +} while (0) #define STAP_PROBE7_(probe,label,parm1,parm2,parm3,parm4,parm5,parm6,parm7) \ do { \ - volatile typeof((parm1)) arg1 __attribute__ ((unused)); \ - volatile typeof((parm2)) arg2 __attribute__ ((unused)); \ - volatile typeof((parm3)) arg3 __attribute__ ((unused)); \ - volatile typeof((parm4)) arg4 __attribute__ ((unused)); \ - volatile typeof((parm5)) arg5 __attribute__ ((unused)); \ - volatile typeof((parm6)) arg6 __attribute__ ((unused)); \ - volatile typeof((parm7)) arg7 __attribute__ ((unused)); \ + volatile __typeof__((parm1)) arg1 __attribute__ ((unused)) = parm1; \ + volatile __typeof__((parm2)) arg2 __attribute__ ((unused)) = parm2; \ + volatile __typeof__((parm3)) arg3 __attribute__ ((unused)) = parm3; \ + volatile __typeof__((parm4)) arg4 __attribute__ ((unused)) = parm4; \ + volatile __typeof__((parm5)) arg5 __attribute__ ((unused)) = parm5; \ + volatile __typeof__((parm6)) arg6 __attribute__ ((unused)) = parm6; \ + volatile __typeof__((parm7)) arg7 __attribute__ ((unused)) = parm7; \ STAP_PROBE_STRUCT(probe,(size_t)&& label) \ - STAP_LABEL_REF(probe,label); \ - arg1 = parm1; \ - arg2 = parm2; \ - arg3 = parm3; \ - arg4 = parm4; \ - arg5 = parm5; \ - arg6 = parm6; \ - arg7 = parm7; \ + STAP_LABEL_REF(probe,label); \ label: \ - asm volatile ("nop" :: "X"(arg1), "X"(arg2), "X"(arg3), "X"(arg4), "X"(arg5), "X"(arg6), "X"(arg7)); } while (0) + __asm__ volatile ("nop" :: "X"(arg1), "X"(arg2), "X"(arg3), "X"(arg4), "X"(arg5), "X"(arg6), "X"(arg7)); \ +} while (0) #define STAP_PROBE8_(probe,label,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8) \ do { \ - volatile typeof((parm1)) arg1 __attribute__ ((unused)); \ - volatile typeof((parm2)) arg2 __attribute__ ((unused)); \ - volatile typeof((parm3)) arg3 __attribute__ ((unused)); \ - volatile typeof((parm4)) arg4 __attribute__ ((unused)); \ - volatile typeof((parm5)) arg5 __attribute__ ((unused)); \ - volatile typeof((parm6)) arg6 __attribute__ ((unused)); \ - volatile typeof((parm7)) arg7 __attribute__ ((unused)); \ - volatile typeof((parm8)) arg8 __attribute__ ((unused)); \ + volatile __typeof__((parm1)) arg1 __attribute__ ((unused)) = parm1; \ + volatile __typeof__((parm2)) arg2 __attribute__ ((unused)) = parm2; \ + volatile __typeof__((parm3)) arg3 __attribute__ ((unused)) = parm3; \ + volatile __typeof__((parm4)) arg4 __attribute__ ((unused)) = parm4; \ + volatile __typeof__((parm5)) arg5 __attribute__ ((unused)) = parm5; \ + volatile __typeof__((parm6)) arg6 __attribute__ ((unused)) = parm6; \ + volatile __typeof__((parm7)) arg7 __attribute__ ((unused)) = parm7; \ + volatile __typeof__((parm8)) arg8 __attribute__ ((unused)) = parm8; \ STAP_PROBE_STRUCT(probe,(size_t)&& label) \ - STAP_LABEL_REF(probe,label); \ - arg1 = parm1; \ - arg2 = parm2; \ - arg3 = parm3; \ - arg4 = parm4; \ - arg5 = parm5; \ - arg6 = parm6; \ - arg7 = parm7; \ - arg8 = parm8; \ + STAP_LABEL_REF(probe,label); \ label: \ - asm volatile ("nop" :: "X"(arg1), "X"(arg2), "X"(arg3), "X"(arg4), "X"(arg5), "X"(arg6), "X"(arg7), "X"(arg8)); } while (0) + __asm__ volatile ("nop" :: "X"(arg1), "X"(arg2), "X"(arg3), "X"(arg4), "X"(arg5), "X"(arg6), "X"(arg7), "X"(arg8)); \ +} while (0) #define STAP_PROBE9_(probe,label,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9) \ do { \ - volatile typeof((parm1)) arg1 __attribute__ ((unused)); \ - volatile typeof((parm2)) arg2 __attribute__ ((unused)); \ - volatile typeof((parm3)) arg3 __attribute__ ((unused)); \ - volatile typeof((parm4)) arg4 __attribute__ ((unused)); \ - volatile typeof((parm5)) arg5 __attribute__ ((unused)); \ - volatile typeof((parm6)) arg6 __attribute__ ((unused)); \ - volatile typeof((parm7)) arg7 __attribute__ ((unused)); \ - volatile typeof((parm8)) arg8 __attribute__ ((unused)); \ - volatile typeof((parm9)) arg9 __attribute__ ((unused)); \ + volatile __typeof__((parm1)) arg1 __attribute__ ((unused)) = parm1; \ + volatile __typeof__((parm2)) arg2 __attribute__ ((unused)) = parm2; \ + volatile __typeof__((parm3)) arg3 __attribute__ ((unused)) = parm3; \ + volatile __typeof__((parm4)) arg4 __attribute__ ((unused)) = parm4; \ + volatile __typeof__((parm5)) arg5 __attribute__ ((unused)) = parm5; \ + volatile __typeof__((parm6)) arg6 __attribute__ ((unused)) = parm6; \ + volatile __typeof__((parm7)) arg7 __attribute__ ((unused)) = parm7; \ + volatile __typeof__((parm8)) arg8 __attribute__ ((unused)) = parm8; \ + volatile __typeof__((parm9)) arg9 __attribute__ ((unused)) = parm9; \ STAP_PROBE_STRUCT(probe,(size_t)&& label) \ - STAP_LABEL_REF(probe,label); \ - arg1 = parm1; \ - arg2 = parm2; \ - arg3 = parm3; \ - arg4 = parm4; \ - arg5 = parm5; \ - arg6 = parm6; \ - arg7 = parm7; \ - arg8 = parm8; \ - arg9 = parm9; \ + STAP_LABEL_REF(probe,label); \ label: \ - asm volatile ("nop" :: "X"(arg1), "X"(arg2), "X"(arg3), "X"(arg4), "X"(arg5), "X"(arg6), "X"(arg7), "X"(arg8), "X"(arg9)); } while (0) + __asm__ volatile ("nop" :: "X"(arg1), "X"(arg2), "X"(arg3), "X"(arg4), "X"(arg5), "X"(arg6), "X"(arg7), "X"(arg8), "X"(arg9)); \ +} while (0) #define STAP_PROBE10_(probe,label,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9,parm10) \ do { \ - volatile typeof((parm1)) arg1 __attribute__ ((unused)); \ - volatile typeof((parm2)) arg2 __attribute__ ((unused)); \ - volatile typeof((parm3)) arg3 __attribute__ ((unused)); \ - volatile typeof((parm4)) arg4 __attribute__ ((unused)); \ - volatile typeof((parm5)) arg5 __attribute__ ((unused)); \ - volatile typeof((parm6)) arg6 __attribute__ ((unused)); \ - volatile typeof((parm7)) arg7 __attribute__ ((unused)); \ - volatile typeof((parm8)) arg8 __attribute__ ((unused)); \ - volatile typeof((parm9)) arg9 __attribute__ ((unused)); \ - volatile typeof((parm10)) arg10 __attribute__ ((unused)); \ + volatile __typeof__((parm1)) arg1 __attribute__ ((unused)) = parm1; \ + volatile __typeof__((parm2)) arg2 __attribute__ ((unused)) = parm2; \ + volatile __typeof__((parm3)) arg3 __attribute__ ((unused)) = parm3; \ + volatile __typeof__((parm4)) arg4 __attribute__ ((unused)) = parm4; \ + volatile __typeof__((parm5)) arg5 __attribute__ ((unused)) = parm5; \ + volatile __typeof__((parm6)) arg6 __attribute__ ((unused)) = parm6; \ + volatile __typeof__((parm7)) arg7 __attribute__ ((unused)) = parm7; \ + volatile __typeof__((parm8)) arg8 __attribute__ ((unused)) = parm8; \ + volatile __typeof__((parm9)) arg9 __attribute__ ((unused)) = parm9; \ + volatile __typeof__((parm10)) arg10 __attribute__ ((unused)) = parm10; \ STAP_PROBE_STRUCT(probe,(size_t)&& label) \ - STAP_LABEL_REF(probe,label); \ - arg1 = parm1; \ - arg2 = parm2; \ - arg3 = parm3; \ - arg4 = parm4; \ - arg5 = parm5; \ - arg6 = parm6; \ - arg7 = parm7; \ - arg8 = parm8; \ - arg9 = parm9; \ - arg10 = parm10; \ + STAP_LABEL_REF(probe,label); \ label: \ - asm volatile ("nop" :: "X"(arg1), "X"(arg2), "X"(arg3), "X"(arg4), "X"(arg5), "X"(arg6), "X"(arg7), "X"(arg8), "X"(arg9), "X"(arg10)); } while (0) + __asm__ volatile ("nop" :: "X"(arg1), "X"(arg2), "X"(arg3), "X"(arg4), "X"(arg5), "X"(arg6), "X"(arg7), "X"(arg8), "X"(arg9), "X"(arg10)); \ +} while (0) #define STAP_PROBE(provider,probe) \ STAP_PROBE_(probe,STAP_LABEL(STAP_LABEL_PREFIX(probe),STAP_COUNTER)) |