mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 20:14:06 +08:00
gold/
* dwarf_reader.cc (Dwarf_info_reader::check_buffer): Move function into class definition in header file. (Dwarf_info_reader::warn_corrupt_debug_section): New function. * dwarf_reader.h (Dwarf_info_reader::warn_corrupt_debug_section): New function. (Dwarf_info_reader::check_buffer): Move here from .cc file.
This commit is contained in:
parent
69e2f9c4dc
commit
a68a081d64
@ -1,3 +1,12 @@
|
||||
2013-03-01 Cary Coutant <ccoutant@google.com>
|
||||
|
||||
* dwarf_reader.cc (Dwarf_info_reader::check_buffer): Move
|
||||
function into class definition in header file.
|
||||
(Dwarf_info_reader::warn_corrupt_debug_section): New function.
|
||||
* dwarf_reader.h (Dwarf_info_reader::warn_corrupt_debug_section):
|
||||
New function.
|
||||
(Dwarf_info_reader::check_buffer): Move here from .cc file.
|
||||
|
||||
2013-02-28 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* target.h (Target::plt_fde_location, do_plt_fde_location): Declare.
|
||||
|
@ -1141,21 +1141,6 @@ Dwarf_die::sibling_offset()
|
||||
|
||||
// class Dwarf_info_reader
|
||||
|
||||
// Check that the pointer P is within the current compilation unit.
|
||||
|
||||
inline bool
|
||||
Dwarf_info_reader::check_buffer(const unsigned char* p) const
|
||||
{
|
||||
if (p > this->buffer_ + this->cu_offset_ + this->cu_length_)
|
||||
{
|
||||
gold_warning(_("%s: corrupt debug info in %s"),
|
||||
this->object_->name().c_str(),
|
||||
this->object_->section_name(this->shndx_).c_str());
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Begin parsing the debug info. This calls visit_compilation_unit()
|
||||
// or visit_type_unit() for each compilation or type unit found in the
|
||||
// section, and visit_die() for each top-level DIE.
|
||||
@ -1447,6 +1432,16 @@ Dwarf_info_reader::visit_type_unit(off_t, off_t, uint64_t, Dwarf_die*)
|
||||
{
|
||||
}
|
||||
|
||||
// Print a warning about a corrupt debug section.
|
||||
|
||||
void
|
||||
Dwarf_info_reader::warn_corrupt_debug_section() const
|
||||
{
|
||||
gold_warning(_("%s: corrupt debug info in %s"),
|
||||
this->object_->name().c_str(),
|
||||
this->object_->section_name(this->shndx_).c_str());
|
||||
}
|
||||
|
||||
// class Sized_dwarf_line_info
|
||||
|
||||
struct LineStateMachine
|
||||
|
@ -799,9 +799,21 @@ class Dwarf_info_reader
|
||||
{ this->reloc_mapper_->reset(checkpoint); }
|
||||
|
||||
private:
|
||||
// Print a warning about a corrupt debug section.
|
||||
void
|
||||
warn_corrupt_debug_section() const;
|
||||
|
||||
// Check that P is within the bounds of the current section.
|
||||
bool
|
||||
check_buffer(const unsigned char* p) const;
|
||||
check_buffer(const unsigned char* p) const
|
||||
{
|
||||
if (p > this->buffer_ + this->cu_offset_ + this->cu_length_)
|
||||
{
|
||||
this->warn_corrupt_debug_section();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Read the DWARF string table.
|
||||
bool
|
||||
|
Loading…
Reference in New Issue
Block a user