|
| 1 | +# REQUIRES: system-linux |
| 2 | + |
| 3 | +# RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %p/Inputs/dwarf5_main.s -o %tmain.o |
| 4 | +# RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %p/Inputs/dwarf5_helper.s -o %thelper.o |
| 5 | +# RUN: %clang %cflags -dwarf-5 %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 > %t.txt |
| 8 | +# RUN: llvm-dwarfdump --show-form --verbose --debug-str-offsets %t.bolt >> %t.txt |
| 9 | +# RUN: cat %t.txt | FileCheck --check-prefix=CHECK %s |
| 10 | + |
| 11 | +## This test checks we correclty re-renerate .debug_str_offsets. |
| 12 | + |
| 13 | +# CHECK: .debug_str_offsets contents |
| 14 | +# CHECK-NEXT: 0x00000000: Contribution size = 52, Format = DWARF32, Version = 5 |
| 15 | +# CHECK-NEXT: "clang version 15.0.0" |
| 16 | +# CHECK-NEXT: "main.cpp" |
| 17 | +# CHECK-NEXT: "/testLocListMultiple" |
| 18 | +# CHECK-NEXT: "_Z3usePiS_" |
| 19 | +# CHECK-NEXT: "use" |
| 20 | +# CHECK-NEXT: "main" |
| 21 | +# CHECK-NEXT: "int" |
| 22 | +# CHECK-NEXT: "x" |
| 23 | +# CHECK-NEXT: "y" |
| 24 | +# CHECK-NEXT: "argc" |
| 25 | +# CHECK-NEXT: "argv" |
| 26 | +# CHECK-NEXT: "char" |
| 27 | +# CHECK-NEXT: 0x00000038: Contribution size = 48, Format = DWARF32, Version = 5 |
| 28 | +# CHECK-NEXT: "clang version 15.0.0)" |
| 29 | +# CHECK-NEXT: "foo.cpp" |
| 30 | +# CHECK-NEXT: "/testLocListMultiple" |
| 31 | +# CHECK-NEXT: "fooVar" |
| 32 | +# CHECK-NEXT: "int" |
| 33 | +# CHECK-NEXT: "_Z6useFooPi" |
| 34 | +# CHECK-NEXT: "useFoo" |
| 35 | +# CHECK-NEXT: "x" |
| 36 | +# CHECK-NEXT: "_Z3fooi" |
| 37 | +# CHECK-NEXT: "foo" |
| 38 | +# CHECK-NEXT: "argc" |
| 39 | + |
| 40 | +## Checking post bolt |
| 41 | +# CHECK: .debug_str_offsets contents |
| 42 | +# CHECK-NEXT: 0x00000000: Contribution size = 52, Format = DWARF32, Version = 5 |
| 43 | +# CHECK-NEXT: "clang version 15.0.0" |
| 44 | +# CHECK-NEXT: "main.cpp" |
| 45 | +# CHECK-NEXT: "/testLocListMultiple" |
| 46 | +# CHECK-NEXT: "_Z3usePiS_" |
| 47 | +# CHECK-NEXT: "use" |
| 48 | +# CHECK-NEXT: "main" |
| 49 | +# CHECK-NEXT: "int" |
| 50 | +# CHECK-NEXT: "x" |
| 51 | +# CHECK-NEXT: "y" |
| 52 | +# CHECK-NEXT: "argc" |
| 53 | +# CHECK-NEXT: "argv" |
| 54 | +# CHECK-NEXT: "char" |
| 55 | +# CHECK-NEXT: 0x00000038: Contribution size = 48, Format = DWARF32, Version = 5 |
| 56 | +# CHECK-NEXT: "clang version 15.0.0)" |
| 57 | +# CHECK-NEXT: "foo.cpp" |
| 58 | +# CHECK-NEXT: "/testLocListMultiple" |
| 59 | +# CHECK-NEXT: "fooVar" |
| 60 | +# CHECK-NEXT: "int" |
| 61 | +# CHECK-NEXT: "_Z6useFooPi" |
| 62 | +# CHECK-NEXT: "useFoo" |
| 63 | +# CHECK-NEXT: "x" |
| 64 | +# CHECK-NEXT: "_Z3fooi" |
| 65 | +# CHECK-NEXT: "foo" |
| 66 | +# CHECK-NEXT: "argc" |
0 commit comments