77 lines · plain
1; RUN: split-file %p/Inputs/dwarf5-str-split-dwarf.s %t2; RUN: cd %t3; RUN: llvm-mc --split-dwarf-file=main.dwo --triple=x86_64-unknown-linux-gnu \4; RUN: --filetype=obj main.s -o=main.o5; RUN: llvm-mc --split-dwarf-file=helper.dwo --triple=x86_64-unknown-linux-gnu \6; RUN: --filetype=obj helper.s -o=helper.o7; RUN: %clang %cflags -gdwarf-4 -gsplit-dwarf=split main.o helper.o -o main.exe8; RUN: llvm-dwp -e main.exe -o main.exe.dwp9; RUN: llvm-dwarfdump --show-form --verbose --debug-str main.exe.dwp \10; RUN: | FileCheck -check-prefix=PRE-BOLT-STR %s11; RUN: llvm-dwarfdump --show-form --verbose --debug-str-offsets main.exe.dwp \12; RUN: | FileCheck -check-prefix=PRE-BOLT-STR-OFFSETS %s13; RUN: llvm-bolt main.exe -o main.exe.bolt --update-debug-sections14; RUN: llvm-dwarfdump --show-form --verbose --debug-str main.dwo.dwo \15; RUN: | FileCheck -check-prefix=BOLT-MAIN-STR %s16; RUN: llvm-dwarfdump --show-form --verbose --debug-str-offsets main.dwo.dwo \17; RUN: | FileCheck -check-prefix=BOLT-MAIN-STR-OFFSETS %s18; RUN: llvm-dwarfdump --show-form --verbose --debug-str helper.dwo.dwo \19; RUN: | FileCheck -check-prefix=BOLT-HELPER-STR %s20; RUN: llvm-dwarfdump --show-form --verbose --debug-str-offsets helper.dwo.dwo \21; RUN: | FileCheck -check-prefix=BOLT-HELPER-STR-OFFSETS %s22 23;; For DWARF5, this test checks that strings are split correctly from a combined24;; section in DWP file, into appropriate .dwo files.25 26; PRE-BOLT-STR: 0x00000000: "main"27; PRE-BOLT-STR: 0x00000005: "int"28; PRE-BOLT-STR: 0x00000009: "clang version 22.0.0"29; PRE-BOLT-STR: 0x0000001e: "main.cpp"30; PRE-BOLT-STR: 0x00000027: "main.dwo"31; PRE-BOLT-STR: 0x00000030: "_Z9getReturnv"32; PRE-BOLT-STR: 0x0000003e: "getReturn"33; PRE-BOLT-STR: 0x00000048: "helper.cpp"34; PRE-BOLT-STR: 0x00000053: "helper.dwo"35 36; PRE-BOLT-STR-OFFSETS: 0x00000000: Contribution size = 24, Format = DWARF32, Version = 537; PRE-BOLT-STR-OFFSETS: 0x00000008: 00000000 "main"38; PRE-BOLT-STR-OFFSETS: 0x0000000c: 00000005 "int"39; PRE-BOLT-STR-OFFSETS: 0x00000010: 00000009 "clang version 22.0.0"40; PRE-BOLT-STR-OFFSETS: 0x00000014: 0000001e "main.cpp"41; PRE-BOLT-STR-OFFSETS: 0x00000018: 00000027 "main.dwo"42; PRE-BOLT-STR-OFFSETS: 0x0000001c: Contribution size = 28, Format = DWARF32, Version = 543; PRE-BOLT-STR-OFFSETS: 0x00000024: 00000030 "_Z9getReturnv"44; PRE-BOLT-STR-OFFSETS: 0x00000028: 0000003e "getReturn"45; PRE-BOLT-STR-OFFSETS: 0x0000002c: 00000005 "int"46; PRE-BOLT-STR-OFFSETS: 0x00000030: 00000009 "clang version 22.0.0"47; PRE-BOLT-STR-OFFSETS: 0x00000034: 00000048 "helper.cpp"48; PRE-BOLT-STR-OFFSETS: 0x00000038: 00000053 "helper.dwo"49 50; BOLT-MAIN-STR: 0x00000000: "main"51; BOLT-MAIN-STR: 0x00000005: "int"52; BOLT-MAIN-STR: 0x00000009: "clang version 22.0.0"53; BOLT-MAIN-STR: 0x0000001e: "main.cpp"54; BOLT-MAIN-STR: 0x00000027: "main.dwo"55 56; BOLT-MAIN-STR-OFFSETS: 0x00000000: Contribution size = 24, Format = DWARF32, Version = 557; BOLT-MAIN-STR-OFFSETS: 0x00000008: 00000000 "main"58; BOLT-MAIN-STR-OFFSETS: 0x0000000c: 00000005 "int"59; BOLT-MAIN-STR-OFFSETS: 0x00000010: 00000009 "clang version 22.0.0"60; BOLT-MAIN-STR-OFFSETS: 0x00000014: 0000001e "main.cpp"61; BOLT-MAIN-STR-OFFSETS: 0x00000018: 00000027 "main.dwo"62 63; BOLT-HELPER-STR: 0x00000000: "_Z9getReturnv"64; BOLT-HELPER-STR: 0x0000000e: "getReturn"65; BOLT-HELPER-STR: 0x00000018: "int"66; BOLT-HELPER-STR: 0x0000001c: "clang version 22.0.0"67; BOLT-HELPER-STR: 0x00000031: "helper.cpp"68; BOLT-HELPER-STR: 0x0000003c: "helper.dwo"69 70; BOLT-HELPER-STR-OFFSETS: 0x00000000: Contribution size = 28, Format = DWARF32, Version = 571; BOLT-HELPER-STR-OFFSETS: 0x00000008: 00000000 "_Z9getReturnv"72; BOLT-HELPER-STR-OFFSETS: 0x0000000c: 0000000e "getReturn"73; BOLT-HELPER-STR-OFFSETS: 0x00000010: 00000018 "int"74; BOLT-HELPER-STR-OFFSETS: 0x00000014: 0000001c "clang version 22.0.0"75; BOLT-HELPER-STR-OFFSETS: 0x00000018: 00000031 "helper.cpp"76; BOLT-HELPER-STR-OFFSETS: 0x0000001c: 0000003c "helper.dwo"77