elfread.c (elf_symtab_read): merge SYMBOL_IS_SPECIAL into MAKE_MSYMBOL_SPECIAL
authorRon Unrau <runrau@cygnus>
Wed, 4 Mar 1998 08:45:55 +0000 (08:45 +0000)
committerRon Unrau <runrau@cygnus>
Wed, 4 Mar 1998 08:45:55 +0000 (08:45 +0000)
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

gdb/ChangeLog
gdb/config/mips/tm-mips.h
gdb/elfread.c

index b9cc487a441b72af63f422c06cb2df9e3d9c1ca6..1d39e12588d55c22e687c15c23875696e297110f 100644 (file)
@@ -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
index e1d7fc85400569fc35c5b6b75750ce28e3569389..36edcbb8523bb0edabf0062cd977e4f05a665784 100644 (file)
@@ -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) \
index 179a0ef08a85ebf486b5b1aa6731b6d7b621566f..d5f810eb9a1bfa306df136400a4ebb94ea4ae192 100644 (file)
@@ -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
            }
        }