1 # REQUIRES: system-linux
3 # RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %p/Inputs/dwarf5-basic-cu.s -o %tmain.o
4 # RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %p/Inputs/dwarf5-types-no-cu.s -o %thelper.o
5 # RUN: %clang %cflags %tmain.o %thelper.o -o %t.exe -Wl,-q
6 # RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections
7 # RUN: llvm-dwarfdump --show-form --verbose --debug-str-offsets %t.exe | FileCheck -check-prefix=PRE-BOLT %s
8 # RUN: llvm-dwarfdump --show-form --verbose --debug-str-offsets %t.bolt | FileCheck -check-prefix=POST-BOLT %s
10 ## This test checks we correclty re-generate .debug_str_offsets when there are type units that have an offset not shared with CU.
12 # PRE-BOLT: .debug_str_offsets contents
13 # PRE-BOLT-NEXT: Contribution size = 24, Format = DWARF32, Version = 5
14 # PRE-BOLT-NEXT: "clang version 18.0.0git (git@github.com:llvm/llvm-project.git 44dc1e0baae7c4b8a02ba06dcf396d3d452aa873)"
15 # PRE-BOLT-NEXT: "main.cpp"
16 # PRE-BOLT-NEXT: "/home"
17 # PRE-BOLT-NEXT: "main"
18 # PRE-BOLT-NEXT: "int"
19 # PRE-BOLT-NEXT: Contribution size = 60, Format = DWARF32, Version = 5
20 # PRE-BOLT-NEXT: "clang version 18.0.0git (git@github.com:llvm/llvm-project.git 44dc1e0baae7c4b8a02ba06dcf396d3d452aa873)"
21 # PRE-BOLT-NEXT: "helper.cpp"
22 # PRE-BOLT-NEXT: "/home"
25 # PRE-BOLT-NEXT: "char"
28 # PRE-BOLT-NEXT: "Foo1"
31 # PRE-BOLT-NEXT: "int"
33 # PRE-BOLT-NEXT: "Foo2"
36 # POST-BOLT: .debug_str_offsets contents
37 # POST-BOLT-NEXT: Contribution size = 60, Format = DWARF32, Version = 5
38 # POST-BOLT-NEXT: "clang version 18.0.0git (git@github.com:llvm/llvm-project.git 44dc1e0baae7c4b8a02ba06dcf396d3d452aa873)"
39 # POST-BOLT-NEXT: "helper.cpp"
40 # POST-BOLT-NEXT: "/home"
41 # POST-BOLT-NEXT: "f1"
42 # POST-BOLT-NEXT: "a1"
43 # POST-BOLT-NEXT: "char"
44 # POST-BOLT-NEXT: "a2"
45 # POST-BOLT-NEXT: "a3"
46 # POST-BOLT-NEXT: "Foo1"
47 # POST-BOLT-NEXT: "f2"
48 # POST-BOLT-NEXT: "b1"
49 # POST-BOLT-NEXT: "int"
50 # POST-BOLT-NEXT: "b2"
51 # POST-BOLT-NEXT: "Foo2"
52 # POST-BOLT-NEXT: Contribution size = 24, Format = DWARF32, Version = 5
53 # POST-BOLT-NEXT: "clang version 18.0.0git (git@github.com:llvm/llvm-project.git 44dc1e0baae7c4b8a02ba06dcf396d3d452aa873)"
54 # POST-BOLT-NEXT: "main.cpp"
55 # POST-BOLT-NEXT: "/home"
56 # POST-BOLT-NEXT: "main"
57 # POST-BOLT-NEXT: "int"