From 9388a6f2be06c69c47f0645179495cbc3e4ebe5a Mon Sep 17 00:00:00 2001 From: Mark Alexander Date: Fri, 3 Oct 1997 16:58:31 +0000 Subject: * config/mips/tm-mips.h (MAKE_MSYMBOL_SPECIAL): Force MIPS16 addresses to be odd. (MIPS_FPU_SINGLE_REGSIZE, MIPS_FPU_DOUBLE_REGSIZE): Define. * mips-tdep.c (mips_extract_return_value): Doubles aren't returned in FP0 if FP registers are single-precision only. start-sanitize-r5900 * config/mips/tm-r5900.h (MIPS_LAST_FP_ARG_REGNUM): Redefine to disable use of FP registers for function arguments. end-sanitize-r5900 --- gdb/config/mips/tm-mips.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'gdb/config/mips/tm-mips.h') diff --git a/gdb/config/mips/tm-mips.h b/gdb/config/mips/tm-mips.h index ea1f4b0..867859f 100644 --- a/gdb/config/mips/tm-mips.h +++ b/gdb/config/mips/tm-mips.h @@ -163,6 +163,11 @@ int mips_about_to_return PARAMS ((CORE_ADDR pc)); #define MIPS_REGSIZE 4 #endif +/* The sizes of floating point registers. */ + +#define MIPS_FPU_SINGLE_REGSIZE 4 +#define MIPS_FPU_DOUBLE_REGSIZE 8 + /* Number of machine registers */ #ifndef NUM_REGS @@ -567,7 +572,11 @@ typedef unsigned long t_inst; /* Integer big enough to hold an instruction */ #define SYMBOL_IS_SPECIAL(sym) \ (((elf_symbol_type *) sym) -> internal_elf_sym.st_other == STO_MIPS16) #define MAKE_MSYMBOL_SPECIAL(msym) \ - MSYMBOL_INFO (msym) = (char *) (((long) MSYMBOL_INFO (msym)) | 0x80000000) + { \ + MSYMBOL_INFO (msym) = (char *) (((long) MSYMBOL_INFO (msym)) | 0x80000000); \ + SYMBOL_VALUE_ADDRESS (msym) |= 1; \ + } + #define MSYMBOL_IS_SPECIAL(msym) \ (((long) MSYMBOL_INFO (msym) & 0x80000000) != 0) #define MSYMBOL_SIZE(msym) \ -- cgit v1.1