From 64367e0abc90c1be80214d0983bbce3fa2c052bb Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Sat, 8 Apr 2000 22:35:35 +0000 Subject: [PATCH] * 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. --- gdb/ChangeLog | 13 +++++++++++++ gdb/Makefile.in | 3 +-- gdb/dwarf2read.c | 33 ++------------------------------- 3 files changed, 16 insertions(+), 33 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ed2a367022d..320506dfc57 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,16 @@ +2000-04-08 Jim Blandy + + * 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 * configure.in (NEW_PROC_API): Escape square brackets when testing diff --git a/gdb/Makefile.in b/gdb/Makefile.in index b54fc01aae4..ddcf7f484ee 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -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 diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 299619a74cd..b8b648ac8d0 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -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 * -- 2.30.2