diff options
-rw-r--r-- | gold/ChangeLog | 8 | ||||
-rw-r--r-- | gold/dwarf_reader.cc | 7 | ||||
-rw-r--r-- | gold/dwarf_reader.h | 7 | ||||
-rw-r--r-- | gold/layout.cc | 2 |
4 files changed, 11 insertions, 13 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index 316e72e..2fb28c5 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,11 @@ +2014-06-06 Cary Coutant <ccoutant@google.com> + + * dwarf_reader.h (Dwarf_pubnames_table): Remove output_section_offset_. + * dwarf_reader.cc (Dwarf_pubnames_table::read_section): Likewise. + (Dwarf_pubnames_table::read_header): Likewise. + * layout.cc (gdb_fast_lookup_sections): Add .debug_gnu_pubnames and + .debug_gnu_pubtypes. + 2014-06-05 Joel Brobecker <brobecker@adacore.com> * Makefile.am (CONFIG_STATUS_DEPENDENCIES): New. diff --git a/gold/dwarf_reader.cc b/gold/dwarf_reader.cc index bc9e85f..df14bd5 100644 --- a/gold/dwarf_reader.cc +++ b/gold/dwarf_reader.cc @@ -505,13 +505,11 @@ Dwarf_pubnames_table::read_section(Relobj* object, const unsigned char* symtab, if (strcmp(section_name_suffix, name) == 0) { shndx = i; - this->output_section_offset_ = object->output_section_offset(i); break; } else if (strcmp(section_name_suffix, gnu_name) == 0) { shndx = i; - this->output_section_offset_ = object->output_section_offset(i); this->is_gnu_style_ = true; break; } @@ -560,11 +558,6 @@ Dwarf_pubnames_table::read_header(off_t offset) // Make sure we have actually read the section. gold_assert(this->buffer_ != NULL); - // Correct the offset. For incremental update links, we have a - // relocated offset that is relative to the output section, but - // here we need an offset relative to the input section. - offset -= this->output_section_offset_; - if (offset < 0 || offset + 14 >= this->buffer_end_ - this->buffer_) return false; diff --git a/gold/dwarf_reader.h b/gold/dwarf_reader.h index 8dd62ad..cac413b 100644 --- a/gold/dwarf_reader.h +++ b/gold/dwarf_reader.h @@ -401,7 +401,7 @@ class Dwarf_pubnames_table : dwinfo_(dwinfo), buffer_(NULL), buffer_end_(NULL), owns_buffer_(false), offset_size_(0), pinfo_(NULL), end_of_table_(NULL), is_pubtypes_(is_pubtypes), is_gnu_style_(false), - output_section_offset_(0), unit_length_(0), cu_offset_(0) + unit_length_(0), cu_offset_(0) { } ~Dwarf_pubnames_table() @@ -455,11 +455,6 @@ class Dwarf_pubnames_table // Gnu-style pubnames table. This style has an extra flag byte between the // offset and the name, and is used for generating version 7 of gdb-index. bool is_gnu_style_; - // For incremental update links, this will hold the offset of the - // input section within the output section. Offsets read from - // relocated data will be relative to the output section, and need - // to be corrected before reading data from the input section. - uint64_t output_section_offset_; // Fields read from the header. uint64_t unit_length_; off_t cu_offset_; diff --git a/gold/layout.cc b/gold/layout.cc index 147f740..c5c3b57 100644 --- a/gold/layout.cc +++ b/gold/layout.cc @@ -563,7 +563,9 @@ static const char* gdb_fast_lookup_sections[] = { "aranges", "pubnames", + "gnu_pubnames", "pubtypes", + "gnu_pubtypes", }; // Returns whether the given debug section is in the list of |