diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2013-11-21 15:33:22 +0100 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2013-11-21 15:33:22 +0100 |
commit | 99a29497c673871040fed2382938eb5bd06befdd (patch) | |
tree | 5e4f03b8df815ac849a3abbd4674ceb33637e0da /libdwfl | |
parent | b301c2efeab0a712570bfd72ae5e07a63f1ba784 (diff) | |
download | elfutils-99a29497c673871040fed2382938eb5bd06befdd.tar.gz |
Fix non-build-id core files on build-id system
Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
Diffstat (limited to 'libdwfl')
-rw-r--r-- | libdwfl/ChangeLog | 6 | ||||
-rw-r--r-- | libdwfl/link_map.c | 8 |
2 files changed, 11 insertions, 3 deletions
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog index 3c2ffc81..deb50140 100644 --- a/libdwfl/ChangeLog +++ b/libdwfl/ChangeLog @@ -1,5 +1,11 @@ 2013-11-21 Jan Kratochvil <jan.kratochvil@redhat.com> + Fix non-build-id core files on build-id system. + * link_map.c (report_r_debug): Remove valid clearing if build-id cannot + be read from memory. + +2013-11-21 Jan Kratochvil <jan.kratochvil@redhat.com> + * dwfl_segment_report_module.c (dwfl_segment_report_module): New variable close_elf. Call __libdwfl_find_elf_build_id and compare the content, if possible. diff --git a/libdwfl/link_map.c b/libdwfl/link_map.c index b30f2e37..2913d9f7 100644 --- a/libdwfl/link_map.c +++ b/libdwfl/link_map.c @@ -415,9 +415,11 @@ report_r_debug (uint_fast8_t elfclass, uint_fast8_t elfdata, &buffer, &buffer_available, build_id_vaddr, build_id_len, memory_callback_arg)) - /* File has valid build-id which cannot be verified - in memory. */ - valid = false; + { + /* File has valid build-id which cannot be read from + memory. This happens for core files without bit 4 + (0x10) set in Linux /proc/PID/coredump_filter. */ + } else { if (memcmp (build_id_bits, buffer, build_id_len) != 0) |