diff options
author | Ron Unrau <runrau@cygnus> | 1998-03-04 08:45:55 +0000 |
---|---|---|
committer | Ron Unrau <runrau@cygnus> | 1998-03-04 08:45:55 +0000 |
commit | 4f0f84e7fbc1bfd555c6a9eb8da4ee445bd25fa3 (patch) | |
tree | 03462eea58fae7d0cd971bfe613322fc8a0aef4e | |
parent | 239f4e323c81eb8b8498a6678ce8d9eb15ec32ef (diff) | |
download | gdb-4f0f84e7fbc1bfd555c6a9eb8da4ee445bd25fa3.zip gdb-4f0f84e7fbc1bfd555c6a9eb8da4ee445bd25fa3.tar.gz gdb-4f0f84e7fbc1bfd555c6a9eb8da4ee445bd25fa3.tar.bz2 |
elfread.c (elf_symtab_read): merge SYMBOL_IS_SPECIAL into MAKE_MSYMBOL_SPECIAL
config/mips/tm-mips.h: ditto
symtab.h: update comments re minimal_symbol->info
mips-tdep.c: globalize gdb_print_insn_mips
txvu-tdep.c: disassemble support
config/mips/tm-txvu.h: add vu_pc, use MAKE_MSYMBOL_SPECIAL, track updates
from tm-r5900.h
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/config/mips/tm-mips.h | 19 | ||||
-rw-r--r-- | gdb/elfread.c | 5 |
3 files changed, 17 insertions, 13 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b9cc487..1d39e12 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +Wed Mar 4 01:39:08 1998 Ron Unrau <runrau@cygnus.com> + + * elfread.c (elf_symtab_read): merge SYMBOL_IS_SPECIAL into + MAKE_MSYMBOL_SPECIAL + * config/mips/tm-mips.h: ditto + Tue Mar 3 17:19:08 1998 John Metzler <jmetzler@cygnus.com> * config/mips/tm-vr4xxx.h : implements vr4111 as saparate from 4300 diff --git a/gdb/config/mips/tm-mips.h b/gdb/config/mips/tm-mips.h index e1d7fc8..36edcbb 100644 --- a/gdb/config/mips/tm-mips.h +++ b/gdb/config/mips/tm-mips.h @@ -564,25 +564,24 @@ typedef unsigned long t_inst; /* Integer big enough to hold an instruction */ /* Macros for setting and testing a bit in a minimal symbol that marks it as 16-bit function. The MSB of the minimal symbol's - "info" field is used for this purpose. This field is already + "info" field is used for this purpose. This field is already being used to store the symbol size, so the assumption is that the symbol size cannot exceed 2^31. - SYMBOL_IS_SPECIAL tests whether an ELF symbol is "special", i.e. refers - to a 16-bit function - MAKE_MSYMBOL_SPECIAL sets a "special" bit in a minimal symbol to mark it - as a 16-bit function + MAKE_MSYMBOL_SPECIAL tests whether an ELF symbol is "special", i.e. refers + to a 16-bit function, and sets a "special" bit in a + minimal symbol to mark it as a 16-bit function MSYMBOL_IS_SPECIAL tests the "special" bit in a minimal symbol MSYMBOL_SIZE returns the size of the minimal symbol, i.e. the "info" field with the "special" bit masked out */ -#define SYMBOL_IS_SPECIAL(sym) \ - (((elf_symbol_type *) sym) -> internal_elf_sym.st_other == STO_MIPS16) -#define MAKE_MSYMBOL_SPECIAL(msym) \ +#define MAKE_MSYMBOL_SPECIAL(sym,msym) \ { \ - MSYMBOL_INFO (msym) = (char *) (((long) MSYMBOL_INFO (msym)) | 0x80000000); \ - SYMBOL_VALUE_ADDRESS (msym) |= 1; \ + if (((elf_symbol_type *) sym) -> internal_elf_sym.st_other == STO_MIPS16) { \ + MSYMBOL_INFO (msym) = (char *) (((long) MSYMBOL_INFO (msym)) | 0x80000000); \ + SYMBOL_VALUE_ADDRESS (msym) |= 1; \ + } \ } #define MSYMBOL_IS_SPECIAL(msym) \ diff --git a/gdb/elfread.c b/gdb/elfread.c index 179a0ef..d5f810e 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -538,9 +538,8 @@ elf_symtab_read (abfd, addr, objfile, dynamic) if (msym != NULL) msym->filename = filesymname; #endif -#ifdef SYMBOL_IS_SPECIAL - if (SYMBOL_IS_SPECIAL (sym)) - MAKE_MSYMBOL_SPECIAL (msym); +#ifdef MAKE_MSYMBOL_SPECIAL + MAKE_MSYMBOL_SPECIAL (sym,msym); #endif } } |