summaryrefslogtreecommitdiffstats
path: root/includes
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2009-08-18 22:08:51 +0200
committerMark Wielaard <mjw@redhat.com>2009-08-18 22:08:51 +0200
commita80a54cb804d0df40e064a72bd8c6bf7c1258e02 (patch)
treedac0e4bf9f70037697c3de4bfeeeb98aba047819 /includes
parent766d05e2cabc44805a9e12c4c309d1232f681f10 (diff)
downloadsystemtap-steved-a80a54cb804d0df40e064a72bd8c6bf7c1258e02.tar.gz
systemtap-steved-a80a54cb804d0df40e064a72bd8c6bf7c1258e02.tar.xz
systemtap-steved-a80a54cb804d0df40e064a72bd8c6bf7c1258e02.zip
PR10512 Referencing computed goto labels in c++ constructors does work.
PR10533 inlined vars are not always found was fixed which means we no longer need to prevent inlining of the STAP_PROBE macros. * includes/sys/sdt.h (STAP_UNINLINE_LABEL): Removed. (STAP_PROBE[1-9]_): Remove label: and STAP_UNINLINE_LABEL.
Diffstat (limited to 'includes')
-rw-r--r--includes/sys/sdt.h23
1 files changed, 0 insertions, 23 deletions
diff --git a/includes/sys/sdt.h b/includes/sys/sdt.h
index e3a605c5..ddcc74e5 100644
--- a/includes/sys/sdt.h
+++ b/includes/sys/sdt.h
@@ -65,9 +65,6 @@
#define STAP_UNINLINE
#endif
-#define STAP_UNINLINE_LABEL(label) \
- __extension__ static volatile long labelval __attribute__ ((unused)) = (long) &&label
-
#if defined __x86_64__ || defined __i386__ || defined __powerpc__ || defined __arm__
#define STAP_NOP "\tnop "
#else
@@ -85,57 +82,48 @@ do { \
#define STAP_PROBE1_(probe,label,parm1) \
do { \
- STAP_UNINLINE_LABEL(label); \
volatile __typeof__((parm1)) arg1 = parm1; \
STAP_UNINLINE; \
STAP_PROBE_DATA(probe,STAP_UPROBE_GUARD,2f); \
- label: \
__asm__ volatile ("2:\n" \
STAP_NOP "/* %0 */" :: "g"(arg1)); \
} while (0)
#define STAP_PROBE2_(probe,label,parm1,parm2) \
do { \
- STAP_UNINLINE_LABEL(label); \
volatile __typeof__((parm1)) arg1 = parm1; \
volatile __typeof__((parm2)) arg2 = parm2; \
STAP_UNINLINE; \
STAP_PROBE_DATA(probe,STAP_UPROBE_GUARD,2f); \
- label: \
__asm__ volatile ("2:\n" \
STAP_NOP "/* %0 %1 */" :: "g"(arg1), "g"(arg2)); \
} while (0)
#define STAP_PROBE3_(probe,label,parm1,parm2,parm3) \
do { \
- STAP_UNINLINE_LABEL(label); \
volatile __typeof__((parm1)) arg1 = parm1; \
volatile __typeof__((parm2)) arg2 = parm2; \
volatile __typeof__((parm3)) arg3 = parm3; \
STAP_UNINLINE; \
STAP_PROBE_DATA(probe,STAP_UPROBE_GUARD,2f); \
- label: \
__asm__ volatile ("2:\n" \
STAP_NOP "/* %0 %1 %2 */" :: "g"(arg1), "g"(arg2), "g"(arg3)); \
} while (0)
#define STAP_PROBE4_(probe,label,parm1,parm2,parm3,parm4) \
do { \
- STAP_UNINLINE_LABEL(label); \
volatile __typeof__((parm1)) arg1 = parm1; \
volatile __typeof__((parm2)) arg2 = parm2; \
volatile __typeof__((parm3)) arg3 = parm3; \
volatile __typeof__((parm4)) arg4 = parm4; \
STAP_UNINLINE; \
STAP_PROBE_DATA(probe,STAP_UPROBE_GUARD,2f); \
- label: \
__asm__ volatile ("2:\n" \
STAP_NOP "/* %0 %1 %2 %3 */" :: "g"(arg1), "g"(arg2), "g"(arg3), "g"(arg4)); \
} while (0)
#define STAP_PROBE5_(probe,label,parm1,parm2,parm3,parm4,parm5) \
do { \
- STAP_UNINLINE_LABEL(label); \
volatile __typeof__((parm1)) arg1 = parm1; \
volatile __typeof__((parm2)) arg2 = parm2; \
volatile __typeof__((parm3)) arg3 = parm3; \
@@ -143,14 +131,12 @@ do { \
volatile __typeof__((parm5)) arg5 = parm5; \
STAP_UNINLINE; \
STAP_PROBE_DATA(probe,STAP_UPROBE_GUARD,2f); \
- label: \
__asm__ volatile ("2:\n" \
STAP_NOP "/* %0 %1 %2 %3 %4 */" :: "g"(arg1), "g"(arg2), "g"(arg3), "g"(arg4), "g"(arg5)); \
} while (0)
#define STAP_PROBE6_(probe,label,parm1,parm2,parm3,parm4,parm5,parm6) \
do { \
- STAP_UNINLINE_LABEL(label); \
volatile __typeof__((parm1)) arg1 = parm1; \
volatile __typeof__((parm2)) arg2 = parm2; \
volatile __typeof__((parm3)) arg3 = parm3; \
@@ -159,14 +145,12 @@ do { \
volatile __typeof__((parm6)) arg6 = parm6; \
STAP_UNINLINE; \
STAP_PROBE_DATA(probe,STAP_UPROBE_GUARD,2f); \
- label: \
__asm__ volatile ("2:\n" \
STAP_NOP "/* %0 %1 %2 %3 %4 %5 */" :: "g"(arg1), "g"(arg2), "g"(arg3), "g"(arg4), "g"(arg5), "g"(arg6)); \
} while (0)
#define STAP_PROBE7_(probe,label,parm1,parm2,parm3,parm4,parm5,parm6,parm7) \
do { \
- STAP_UNINLINE_LABEL(label); \
volatile __typeof__((parm1)) arg1 = parm1; \
volatile __typeof__((parm2)) arg2 = parm2; \
volatile __typeof__((parm3)) arg3 = parm3; \
@@ -176,14 +160,12 @@ do { \
volatile __typeof__((parm7)) arg7 = parm7; \
STAP_UNINLINE; \
STAP_PROBE_DATA(probe,STAP_UPROBE_GUARD,2f); \
- label: \
__asm__ volatile ("2:\n" \
STAP_NOP "/* %0 %1 %2 %3 %4 %5 %6 */" :: "g"(arg1), "g"(arg2), "g"(arg3), "g"(arg4), "g"(arg5), "g"(arg6), "g"(arg7)); \
} while (0)
#define STAP_PROBE8_(probe,label,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8) \
do { \
- STAP_UNINLINE_LABEL(label); \
volatile __typeof__((parm1)) arg1 = parm1; \
volatile __typeof__((parm2)) arg2 = parm2; \
volatile __typeof__((parm3)) arg3 = parm3; \
@@ -194,14 +176,12 @@ do { \
volatile __typeof__((parm8)) arg8 = parm8; \
STAP_UNINLINE; \
STAP_PROBE_DATA(probe,STAP_UPROBE_GUARD,2f); \
- label: \
__asm__ volatile ("2:\n" \
STAP_NOP "/* %0 %1 %2 %3 %4 %5 %6 %7 */" :: "g"(arg1), "g"(arg2), "g"(arg3), "g"(arg4), "g"(arg5), "g"(arg6), "g"(arg7), "g"(arg8)); \
} while (0)
#define STAP_PROBE9_(probe,label,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9) \
do { \
- STAP_UNINLINE_LABEL(label); \
volatile __typeof__((parm1)) arg1 = parm1; \
volatile __typeof__((parm2)) arg2 = parm2; \
volatile __typeof__((parm3)) arg3 = parm3; \
@@ -213,14 +193,12 @@ do { \
volatile __typeof__((parm9)) arg9 = parm9; \
STAP_UNINLINE; \
STAP_PROBE_DATA(probe,STAP_UPROBE_GUARD,2f); \
- label: \
__asm__ volatile ("2:\n" \
STAP_NOP "/* %0 %1 %2 %3 %4 %5 %6 %7 %8 */" :: "g"(arg1), "g"(arg2), "g"(arg3), "g"(arg4), "g"(arg5), "g"(arg6), "g"(arg7), "g"(arg8), "g"(arg9)); \
} while (0)
#define STAP_PROBE10_(probe,label,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9,parm10) \
do { \
- STAP_UNINLINE_LABEL(label); \
volatile __typeof__((parm1)) arg1 = parm1; \
volatile __typeof__((parm2)) arg2 = parm2; \
volatile __typeof__((parm3)) arg3 = parm3; \
@@ -233,7 +211,6 @@ do { \
volatile __typeof__((parm10)) arg10 = parm10; \
STAP_UNINLINE; \
STAP_PROBE_DATA(probe,STAP_UPROBE_GUARD,2f); \
- label: \
__asm__ volatile ("2:\n" \
STAP_NOP "/* %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 */" :: "g"(arg1), "g"(arg2), "g"(arg3), "g"(arg4), "g"(arg5), "g"(arg6), "g"(arg7), "g"(arg8), "g"(arg9), "g"(arg10)); \
} while (0)