31 lines
1.4 KiB
Diff
31 lines
1.4 KiB
Diff
|
commit 93104368952c37268da724231487058ea3eaf1dc
|
||
|
Author: Tom Hughes <tom@compton.nu>
|
||
|
Date: Thu May 20 17:16:06 2021 +0100
|
||
|
|
||
|
Don't look for separate debuginfo if the image has a .debug_info section
|
||
|
|
||
|
Fixes BZ#435908
|
||
|
|
||
|
diff --git a/coregrind/m_debuginfo/readelf.c b/coregrind/m_debuginfo/readelf.c
|
||
|
index b0f062ddc..e424e3e7e 100644
|
||
|
--- a/coregrind/m_debuginfo/readelf.c
|
||
|
+++ b/coregrind/m_debuginfo/readelf.c
|
||
|
@@ -2879,13 +2879,15 @@ Bool ML_(read_elf_debug_info) ( struct _DebugInfo* di )
|
||
|
/* Look for a build-id */
|
||
|
HChar* buildid = find_buildid(mimg, False, False);
|
||
|
|
||
|
- /* Look for a debug image that matches either the build-id or
|
||
|
+ /* If we don't have a .debug_info section in the main image then
|
||
|
+ look for a debug image that matches either the build-id or
|
||
|
the debuglink-CRC32 in the main image. If the main image
|
||
|
doesn't contain either of those then this won't even bother
|
||
|
to try looking. This looks in all known places, including
|
||
|
the --extra-debuginfo-path if specified and on the
|
||
|
--debuginfo-server if specified. */
|
||
|
- if (buildid != NULL || debuglink_escn.img != NULL) {
|
||
|
+ if (debug_info_escn.img == NULL &&
|
||
|
+ (buildid != NULL || debuglink_escn.img != NULL)) {
|
||
|
/* Do have a debuglink section? */
|
||
|
if (debuglink_escn.img != NULL) {
|
||
|
UInt crc_offset
|