@walter-erquinigo found the the [PR with testing and a fix for DebugInfoD](https://github.com/llvm/llvm-project/pull/98344) caused an issue when working with stripped binaries. The issue is that when you're working with split-dwarf, there are *3* possible files: The stripped binary the user is debugging, the "only-keep-debug" *or* unstripped binary, plus the `.dwp` file. The debuginfod plugin should provide the unstripped/OKD binary. However, if the debuginfod plugin fails, the default symbol locator plugin will just return the stripped binary, which doesn't help. So, to address that, the SymbolVendorELF code checks to see if the SymbolLocator's ExecutableObjectFile request returned the same file, and bails if that's the case. You can see the specific diff as the second commit in the PR. I'm investigating adding a test: I can't quite get a simple repro, and I'm unwilling to make any additional changes to Makefile.rules to this diff, for Pavlovian reasons.
20 lines
492 B
Makefile
20 lines
492 B
Makefile
C_SOURCES := main.c
|
|
|
|
# For normal (non DWP) Debuginfod tests, we need:
|
|
|
|
# * The full binary: a.out.unstripped
|
|
# Produced by Makefile.rules with SAVE_FULL_DEBUG_BINARY set to YES and
|
|
# SPLIT_DEBUG_SYMBOLS set to YES
|
|
|
|
# * The stripped binary (a.out)
|
|
# Produced by Makefile.rules with SPLIT_DEBUG_SYMBOLS set to YES
|
|
|
|
# * The 'only-keep-debug' binary (a.out.debug)
|
|
# Produced below
|
|
|
|
SPLIT_DEBUG_SYMBOLS := YES
|
|
SAVE_FULL_DEBUG_BINARY := YES
|
|
GEN_GNU_BUILD_ID := YES
|
|
|
|
include Makefile.rules
|