diff options
author | Mark Alexander <marka@cygnus> | 1996-12-15 04:59:33 +0000 |
---|---|---|
committer | Mark Alexander <marka@cygnus> | 1996-12-15 04:59:33 +0000 |
commit | d31b72a3144f839485f928bc2ef9dc6b51e6c87e (patch) | |
tree | d54ecd0ad24ef2354473ea9aa5cba40068043c1d /gdb/config | |
parent | 97e091b20f5c160bd9f8fcd9152e20691ee427f5 (diff) | |
download | gdb-d31b72a3144f839485f928bc2ef9dc6b51e6c87e.zip gdb-d31b72a3144f839485f928bc2ef9dc6b51e6c87e.tar.gz gdb-d31b72a3144f839485f928bc2ef9dc6b51e6c87e.tar.bz2 |
* config/mips/tm-mips.h (FIX_CALL_DUMMY): Define to set up $25
correctly for PIC on Irix 5.
Diffstat (limited to 'gdb/config')
-rw-r--r-- | gdb/config/mips/tm-mips.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gdb/config/mips/tm-mips.h b/gdb/config/mips/tm-mips.h index e9f1fe2..1094429 100644 --- a/gdb/config/mips/tm-mips.h +++ b/gdb/config/mips/tm-mips.h @@ -183,6 +183,7 @@ extern int in_sigtramp PARAMS ((CORE_ADDR, char *)); # define MIPS_LAST_ARG_REGNUM 7 /* old ABI uses R4 through R7 for args */ # define MIPS_NUM_ARG_REGS 4 #endif +#define T9_REGNUM 25 /* Contains address of callee in PIC */ #define SP_REGNUM 29 /* Contains address of top of stack */ #define RA_REGNUM 31 /* Contains return address value */ #define PS_REGNUM 32 /* Contains processor status */ @@ -392,7 +393,10 @@ extern void mips_pop_frame PARAMS ((void)); #define CALL_DUMMY_BREAKPOINT_OFFSET (0) -#define FIX_CALL_DUMMY(dummyname, start_sp, fun, nargs, args, rettype, gcc_p) +/* On Irix, $t9 ($25) contains the address of the callee (used for PIC). + It doesn't hurt to do this on other systems; $t9 will be ignored. */ +#define FIX_CALL_DUMMY(dummyname, start_sp, fun, nargs, args, rettype, gcc_p) \ + write_register(T9_REGNUM, fun) #define CALL_DUMMY_LOCATION AT_ENTRY_POINT |