+2012-10-17 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * dwfl_module_getdwarf.c (__libdwfl_getelf): Do not return yet on
+ matching build-id. Check ELFERR before closing this MOD file.
+
2012-10-10 Jan Kratochvil <jan.kratochvil@redhat.com>
* dwfl_segment_report_module.c (dwfl_segment_report_module):
mod->main.elf), 2))
{
case 2:
- /* Build ID matches as it should. */
- return;
+ /* Build ID matches as it should. But initialize MAIN_BIAS below. */
+ break;
case -1: /* ELF error. */
mod->elferr = INTUSE(dwfl_errno) ();
abort ();
}
- /* We get here when it was the right ELF file. Clear it out. */
- elf_end (mod->main.elf);
- mod->main.elf = NULL;
- if (mod->main.fd >= 0)
+ if (mod->elferr != DWFL_E_NOERROR)
{
- close (mod->main.fd);
- mod->main.fd = -1;
+ /* We get here when it was the right ELF file. Clear it out. */
+ elf_end (mod->main.elf);
+ mod->main.elf = NULL;
+ if (mod->main.fd >= 0)
+ {
+ close (mod->main.fd);
+ mod->main.fd = -1;
+ }
}
}
+2012-10-17 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * run-addrname-test.sh: New test for DSO with build-id bias.
+ * testfile69.core.bz2: New file.
+ * testfile69.so.bz2: New file.
+
2012-10-10 Jan Kratochvil <jan.kratochvil@redhat.com>
* run-addrname-test.sh: New test for core vDSO bias.
??:0
EOF
+testfiles testfile69.core testfile69.so
+testrun_compare ../src/addr2line --core=./testfile69.core -S 0x7f0bc6a33535 0x7f0bc6a33546 <<\EOF
+libstatic+0x9
+??:0
+libglobal+0x9
+??:0
+EOF
+
exit 0