summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordwilder <dwilder>2007-02-27 19:05:18 +0000
committerdwilder <dwilder>2007-02-27 19:05:18 +0000
commitc15a2f295337d2fba612d6e9f004de0795fc0233 (patch)
tree4ba549ae35b87a0fd209b814f79cbaea1987827a
parent1cc165ee6221eb7e2183daf9461961d06a4e682d (diff)
downloadsystemtap-steved-c15a2f295337d2fba612d6e9f004de0795fc0233.tar.gz
systemtap-steved-c15a2f295337d2fba612d6e9f004de0795fc0233.tar.xz
systemtap-steved-c15a2f295337d2fba612d6e9f004de0795fc0233.zip
loc2c-runtime.h: Added defines for EX_TABLE needed by older
s390 kernels that do not already have it defined.
-rw-r--r--runtime/ChangeLog5
-rw-r--r--runtime/loc2c-runtime.h19
2 files changed, 24 insertions, 0 deletions
diff --git a/runtime/ChangeLog b/runtime/ChangeLog
index f1ed003f..c609f71f 100644
--- a/runtime/ChangeLog
+++ b/runtime/ChangeLog
@@ -1,3 +1,8 @@
+2007-02-27 David Wilder <dwilder@us.ibm.com>
+
+ * loc2c-runtime.h: Added defines for EX_TABLE needed by older
+ s390 kernels that do not already have it defined.
+
2007-02-07 Martin Hunt <hunt@redhat.com>
* stack-ppc64.c (__stp_stack_print): Remove an old
diff --git a/runtime/loc2c-runtime.h b/runtime/loc2c-runtime.h
index 1860741a..0e0256a4 100644
--- a/runtime/loc2c-runtime.h
+++ b/runtime/loc2c-runtime.h
@@ -296,6 +296,25 @@
#elif defined (__s390__) || defined (__s390x__)
+#ifndef EX_TABLE
+/*
+ * Helper macro for exception table entries
+ */
+#ifndef __s390x__
+#define EX_TABLE(_fault,_target) \
+ ".section __ex_table,\"a\"\n" \
+ " .align 4\n" \
+ " .long " #_fault "," #_target "\n" \
+ ".previous\n"
+#else
+#define EX_TABLE(_fault,_target) \
+ ".section __ex_table,\"a\"\n" \
+ " .align 8\n" \
+ " .quad " #_fault "," #_target "\n" \
+ ".previous\n"
+#endif
+#endif
+
#define __stp_get_asm(x, addr, err, size) \
({ \
asm volatile( \