summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2013-11-21 15:33:22 +0100
committerJan Kratochvil <jan.kratochvil@redhat.com>2013-11-21 15:33:22 +0100
commit99a29497c673871040fed2382938eb5bd06befdd (patch)
tree5e4f03b8df815ac849a3abbd4674ceb33637e0da
parentb301c2efeab0a712570bfd72ae5e07a63f1ba784 (diff)
downloadelfutils-99a29497c673871040fed2382938eb5bd06befdd.tar.gz
Fix non-build-id core files on build-id system
Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
-rw-r--r--libdwfl/ChangeLog6
-rw-r--r--libdwfl/link_map.c8
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)