elf.c (elf_add): Don't get the wrong offsets if a debug section is missing.
* elf.c (elf_add): Don't get the wrong offsets if a debug section is missing. From-SVN: r203810
This commit is contained in:
parent
5628781003
commit
6c084a5b37
2 changed files with 14 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2013-10-17 Ian Lance Taylor <iant@google.com>
|
||||||
|
|
||||||
|
* elf.c (elf_add): Don't get the wrong offsets if a debug section
|
||||||
|
is missing.
|
||||||
|
|
||||||
2013-10-15 David Malcolm <dmalcolm@redhat.com>
|
2013-10-15 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
* configure.ac: Add --enable-host-shared, setting up
|
* configure.ac: Add --enable-host-shared, setting up
|
||||||
|
|
|
@ -759,6 +759,8 @@ elf_add (struct backtrace_state *state, int descriptor, uintptr_t base_address,
|
||||||
{
|
{
|
||||||
off_t end;
|
off_t end;
|
||||||
|
|
||||||
|
if (sections[i].size == 0)
|
||||||
|
continue;
|
||||||
if (min_offset == 0 || sections[i].offset < min_offset)
|
if (min_offset == 0 || sections[i].offset < min_offset)
|
||||||
min_offset = sections[i].offset;
|
min_offset = sections[i].offset;
|
||||||
end = sections[i].offset + sections[i].size;
|
end = sections[i].offset + sections[i].size;
|
||||||
|
@ -785,8 +787,13 @@ elf_add (struct backtrace_state *state, int descriptor, uintptr_t base_address,
|
||||||
descriptor = -1;
|
descriptor = -1;
|
||||||
|
|
||||||
for (i = 0; i < (int) DEBUG_MAX; ++i)
|
for (i = 0; i < (int) DEBUG_MAX; ++i)
|
||||||
sections[i].data = ((const unsigned char *) debug_view.data
|
{
|
||||||
+ (sections[i].offset - min_offset));
|
if (sections[i].size == 0)
|
||||||
|
sections[i].data = NULL;
|
||||||
|
else
|
||||||
|
sections[i].data = ((const unsigned char *) debug_view.data
|
||||||
|
+ (sections[i].offset - min_offset));
|
||||||
|
}
|
||||||
|
|
||||||
if (!backtrace_dwarf_add (state, base_address,
|
if (!backtrace_dwarf_add (state, base_address,
|
||||||
sections[DEBUG_INFO].data,
|
sections[DEBUG_INFO].data,
|
||||||
|
|
Loading…
Add table
Reference in a new issue