From: Mark Alexander Date: Fri, 3 Oct 1997 16:58:31 +0000 (+0000) Subject: * config/mips/tm-mips.h (MAKE_MSYMBOL_SPECIAL): Force MIPS16 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9388a6f2be06c69c47f0645179495cbc3e4ebe5a;p=binutils-gdb.git * 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 --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bb5323ff554..0660c4c5aa6 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,15 @@ +Fri Oct 3 09:52:26 1997 Mark Alexander + + * 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 + Mon Sep 29 23:03:03 1997 Mark Alexander * mips-tdep.c (set_reg_offset): New function. diff --git a/gdb/config/mips/tm-mips.h b/gdb/config/mips/tm-mips.h index ea1f4b06c26..867859f1ad6 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) \