diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
3 files changed, 44 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/linux/buildidcase/Makefile b/lldb/packages/Python/lldbsuite/test/linux/buildidcase/Makefile new file mode 100644 index 00000000000..31a33f0156f --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/linux/buildidcase/Makefile @@ -0,0 +1,20 @@ +LEVEL = ../../make +C_SOURCES := main.c +LD_EXTRAS += -Wl,--build-id=sha1 + +all: stripped.out + +.PHONY: .build-id +stripped.out .build-id: a.out + $(OBJCOPY) -j .note.gnu.build-id -O binary $< tmp + rm -rf .build-id + fn=`od -An -tx1 <tmp|tr -d ' \n'|sed -e 's/^.\{32\}//' -e 's#^..#.build-id/&/#' -e 's#$$#.debug#'` && \ + mkdir -p `dirname $$fn` && \ + $(OBJCOPY) --only-keep-debug $< $$fn && \ + $(OBJCOPY) --strip-all --add-gnu-debuglink=$$fn $< stripped.out + $(RM) tmp + +clean:: + $(RM) -r stripped.out .build-id + +include $(LEVEL)/Makefile.rules diff --git a/lldb/packages/Python/lldbsuite/test/linux/buildidcase/TestTargetSymbolsBuildidCase.py b/lldb/packages/Python/lldbsuite/test/linux/buildidcase/TestTargetSymbolsBuildidCase.py new file mode 100644 index 00000000000..f4c965eba31 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/linux/buildidcase/TestTargetSymbolsBuildidCase.py @@ -0,0 +1,21 @@ +""" Testing separate debug info loading by its .build-id. """ +import os +import time +import lldb +import sys +from lldbsuite.test.decorators import * +from lldbsuite.test.lldbtest import * +from lldbsuite.test import lldbutil + + +class TestTargetSymbolsBuildidCase(TestBase): + + mydir = TestBase.compute_mydir(__file__) + + @no_debug_info_test # Prevent the genaration of the dwarf version of this test + @skipUnlessPlatform(['linux']) + def test_target_symbols_buildid_case(self): + self.build(clean=True) + exe = self.getBuildArtifact("stripped.out") + + lldbutil.run_to_name_breakpoint(self, "main", exe_name = exe) diff --git a/lldb/packages/Python/lldbsuite/test/linux/buildidcase/main.c b/lldb/packages/Python/lldbsuite/test/linux/buildidcase/main.c new file mode 100644 index 00000000000..4cce7f667ff --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/linux/buildidcase/main.c @@ -0,0 +1,3 @@ +int main() { + return 0; +} |