diff options
author | dwilder <dwilder> | 2007-02-27 19:05:18 +0000 |
---|---|---|
committer | dwilder <dwilder> | 2007-02-27 19:05:18 +0000 |
commit | c15a2f295337d2fba612d6e9f004de0795fc0233 (patch) | |
tree | 4ba549ae35b87a0fd209b814f79cbaea1987827a /runtime/loc2c-runtime.h | |
parent | 1cc165ee6221eb7e2183daf9461961d06a4e682d (diff) | |
download | systemtap-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.
Diffstat (limited to 'runtime/loc2c-runtime.h')
-rw-r--r-- | runtime/loc2c-runtime.h | 19 |
1 files changed, 19 insertions, 0 deletions
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( \ |