* dwarf2read.c: Revert Andrew Cagney's change of Dec 15, 1997.
authorJim Blandy <jimb@codesourcery.com>
Sat, 8 Apr 2000 22:35:35 +0000 (22:35 +0000)
committerJim Blandy <jimb@codesourcery.com>
Sat, 8 Apr 2000 22:35:35 +0000 (22:35 +0000)
Don't include "bfd-elf.h".
(address_significant_size): Delete variable.
(dwarf2_build_psymtabs_hard): Don't set it, or check for
consistency between it and the Dwarf 2 compilation unit header
address size.
(read_address): Don't mask off bits above
address_significant_size.
* Makefile.in (dwarf2read.o): Don't depend on $(elf_bfd_h).
(elf_bfd_h): Remove variable; it's no longer used.

gdb/ChangeLog
gdb/Makefile.in
gdb/dwarf2read.c

index ed2a367022df90703004ad981f9e44c8982bb084..320506dfc57dec16ca039f3ea039e74f59d8a516 100644 (file)
@@ -1,3 +1,16 @@
+2000-04-08  Jim Blandy  <jimb@redhat.com>
+
+       * dwarf2read.c: Revert Andrew Cagney's change of Dec 15, 1997.
+       Don't include "bfd-elf.h".
+       (address_significant_size): Delete variable.
+       (dwarf2_build_psymtabs_hard): Don't set it, or check for
+       consistency between it and the Dwarf 2 compilation unit header
+       address size.
+       (read_address): Don't mask off bits above
+       address_significant_size.
+       * Makefile.in (dwarf2read.o): Don't depend on $(elf_bfd_h).
+       (elf_bfd_h): Remove variable; it's no longer used.
+
 2000-04-08  Peter Schauer  <pes@regent.e-technik.tu-muenchen.de>
 
        * configure.in (NEW_PROC_API):  Escape square brackets when testing
index b54fc01aae4a1ac8ee8b57e1f6d2218bf6efc401..ddcf7f484eec03cadd8b47fd7d4374c959bc9fd8 100644 (file)
@@ -500,7 +500,6 @@ LINTFILES = $(SFILES) $(YYFILES) $(CONFIG_SRCS) init.c
 getopt_h =     $(INCLUDE_DIR)/getopt.h
 floatformat_h =        $(INCLUDE_DIR)/floatformat.h
 bfd_h =                $(BFD_DIR)/bfd.h
-elf_bfd_h =     $(BFD_SRC)/elf-bfd.h
 dis-asm_h =    $(INCLUDE_DIR)/dis-asm.h 
 remote-sim_h = $(INCLUDE_DIR)/remote-sim.h
 
@@ -1243,7 +1242,7 @@ dwarfread.o: dwarfread.c $(bfd_h) buildsym.h complaints.h $(defs_h) \
        $(expression_h) $(gdbtypes_h) language.h objfiles.h symfile.h \
        $(symtab_h) gdb_string.h
 
-dwarf2read.o: dwarf2read.c $(bfd_h) $(elf_bfd_h) buildsym.h $(defs_h) \
+dwarf2read.o: dwarf2read.c $(bfd_h) buildsym.h $(defs_h) \
        $(expression_h) $(gdbtypes_h) language.h objfiles.h symfile.h \
        $(symtab_h) gdb_string.h
 
index 299619a74cda22cef13bc66c6add606aa111c9a5..b8b648ac8d05915ff641ec715d5c6f79b048d762 100644 (file)
@@ -27,7 +27,6 @@
 
 #include "defs.h"
 #include "bfd.h"
-#include "elf-bfd.h"
 #include "symtab.h"
 #include "gdbtypes.h"
 #include "symfile.h"
@@ -546,15 +545,6 @@ static struct complaint dwarf2_unsupported_const_value_attr =
    whatever scope is currently getting read. */
 static int address_size;
 
-/* Some elf32 object file formats while linked for a 32 bit address
-   space contain debug information that has assumed 64 bit
-   addresses. Eg 64 bit MIPS target produced by GCC/GAS/LD where the
-   symbol table contains 32bit address values while its .debug_info
-   section contains 64 bit address values.
-   ADDRESS_SIGNIFICANT_SIZE specifies the number significant bits in
-   the ADDRESS_SIZE bytes read from the file */
-static int address_significant_size;
-
 /* Externals references.  */
 extern int info_verbose;       /* From main.c; nonzero => verbose */
 
@@ -937,9 +927,6 @@ dwarf2_build_psymtabs_hard (objfile, mainline)
   int comp_unit_has_pc_info;
   CORE_ADDR lowpc, highpc;
 
-  /* Number of bytes of any addresses that are signficant */
-  address_significant_size = get_elf_backend_data (abfd)->s->arch_size / 8;
-
   info_ptr = dwarf_info_buffer;
   abbrev_ptr = dwarf_abbrev_buffer;
 
@@ -980,13 +967,6 @@ dwarf2_build_psymtabs_hard (objfile, mainline)
                 (long) (beg_of_comp_unit - dwarf_info_buffer));
          return;
        }
-      if (address_size < address_significant_size)
-       {
-         error ("Dwarf Error: bad address size (%ld) in compilation unit header (offset 0x%lx + 11).",
-                (long) cu_header.addr_size,
-                (long) (beg_of_comp_unit - dwarf_info_buffer));
-       }
-
       /* Read the abbrevs for this compilation unit into a table */
       dwarf2_read_abbrevs (abfd, cu_header.abbrev_offset);
       make_cleanup (dwarf2_empty_abbrev_table, NULL);
@@ -3500,17 +3480,8 @@ read_address (abfd, buf)
       /* *THE* alternative is 8, right? */
       abort ();
     }
-  /* If the address being read is larger than the address that is
-     applicable for the object file format then mask it down to the
-     correct size.  Take care to avoid unnecessary shift or shift
-     overflow */
-  if (address_size > address_significant_size
-      && address_significant_size < sizeof (CORE_ADDR))
-    {
-      CORE_ADDR mask = ((CORE_ADDR) 0) - 1;
-      retval &= ~(mask << (address_significant_size * 8));
-    }
-  return retval;
+
+ return retval;
 }
 
 static char *