aboutsummaryrefslogtreecommitdiff
path: root/gdb/config
diff options
context:
space:
mode:
authorMark Alexander <marka@cygnus>1996-12-15 04:59:33 +0000
committerMark Alexander <marka@cygnus>1996-12-15 04:59:33 +0000
commitd31b72a3144f839485f928bc2ef9dc6b51e6c87e (patch)
treed54ecd0ad24ef2354473ea9aa5cba40068043c1d /gdb/config
parent97e091b20f5c160bd9f8fcd9152e20691ee427f5 (diff)
downloadgdb-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.h6
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