diff options
author | srinivasa <srinivasa> | 2008-01-18 08:47:31 +0000 |
---|---|---|
committer | srinivasa <srinivasa> | 2008-01-18 08:47:31 +0000 |
commit | c7bcf4514f821aafb8540ebe60f308c0bad1f2b6 (patch) | |
tree | 0d2c23f22dc6af71500b33716c82a0c1d8bbbc67 /runtime/loc2c-runtime.h | |
parent | af3047833424103c4e17728e849670da865d37c3 (diff) | |
download | systemtap-steved-c7bcf4514f821aafb8540ebe60f308c0bad1f2b6.tar.gz systemtap-steved-c7bcf4514f821aafb8540ebe60f308c0bad1f2b6.tar.xz systemtap-steved-c7bcf4514f821aafb8540ebe60f308c0bad1f2b6.zip |
From srinivasa@in.ibm.com, To make systemtap to work with register rename patch for x86/x86_64
Diffstat (limited to 'runtime/loc2c-runtime.h')
-rw-r--r-- | runtime/loc2c-runtime.h | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/runtime/loc2c-runtime.h b/runtime/loc2c-runtime.h index 8dbff764..4674e399 100644 --- a/runtime/loc2c-runtime.h +++ b/runtime/loc2c-runtime.h @@ -75,7 +75,37 @@ }) -#if defined __i386__ +#if defined (STAPCONF_X86_UNIREGS) && defined (__i386__) + +#define dwarf_register_0(regs) regs->ax +#define dwarf_register_1(regs) regs->cx +#define dwarf_register_2(regs) regs->dx +#define dwarf_register_3(regs) regs->bx +#define dwarf_register_4(regs) ((long) ®s->sp) +#define dwarf_register_5(regs) regs->bp +#define dwarf_register_6(regs) regs->si +#define dwarf_register_7(regs) regs->di + +#elif defined (STAPCONF_X86_UNIREGS) && defined (__x86_64__) + +#define dwarf_register_0(regs) regs->ax +#define dwarf_register_1(regs) regs->dx +#define dwarf_register_2(regs) regs->cx +#define dwarf_register_3(regs) regs->bx +#define dwarf_register_4(regs) regs->si +#define dwarf_register_5(regs) regs->di +#define dwarf_register_6(regs) regs->bp +#define dwarf_register_7(regs) regs->sp +#define dwarf_register_8(regs) regs->r8 +#define dwarf_register_9(regs) regs->r9 +#define dwarf_register_10(regs) regs->r10 +#define dwarf_register_11(regs) regs->r11 +#define dwarf_register_12(regs) regs->r12 +#define dwarf_register_13(regs) regs->r13 +#define dwarf_register_14(regs) regs->r14 +#define dwarf_register_15(regs) regs->r15 + +#elif defined __i386__ /* The stack pointer is unlike other registers. When a trap happens in kernel mode, it is not saved in the trap frame (struct pt_regs). |