1ba1ac98cSAlexander Yermolovich; RUN: rm -rf %t 2ba1ac98cSAlexander Yermolovich; RUN: mkdir %t 3ba1ac98cSAlexander Yermolovich; RUN: cd %t 4e51a6b73Szr33; RUN: llvm-mc -dwarf-version=4 -filetype=obj -triple x86_64-unknown-linux %p/Inputs/dwarf4-df-dualcu-loclist-main.s \ 5e51a6b73Szr33; RUN: -split-dwarf-file=main.dwo -o main.o 6e51a6b73Szr33; RUN: llvm-mc -dwarf-version=4 -filetype=obj -triple x86_64-unknown-linux %p/Inputs/dwarf4-df-dualcu-loclist-helper.s \ 7e51a6b73Szr33; RUN: -split-dwarf-file=helper.dwo -o helper.o 8ba1ac98cSAlexander Yermolovich; RUN: %clang %cflags -gdwarf-5 -O2 -gsplit-dwarf=split main.o helper.o -o main.exe 9*6aad62cfSSayhaan Siddiqui; RUN: llvm-bolt main.exe -o main.exe.bolt --update-debug-sections --debug-thread-count=4 --cu-processing-batch-size=4 10ba1ac98cSAlexander Yermolovich; RUN: llvm-dwarfdump --show-form --verbose --debug-info main.dwo | FileCheck -check-prefix=PRE-BOLT-DWO-MAIN %s 1175f770a6SAlexander Yermolovich; RUN: llvm-dwarfdump --show-form --verbose --debug-info main.dwo.dwo | FileCheck -check-prefix=BOLT-DWO-MAIN %s 12ba1ac98cSAlexander Yermolovich; RUN: llvm-dwarfdump --show-form --verbose --debug-info helper.dwo | FileCheck -check-prefix=PRE-BOLT-DWO-HELPER %s 1375f770a6SAlexander Yermolovich; RUN: llvm-dwarfdump --show-form --verbose --debug-info helper.dwo.dwo | FileCheck -check-prefix=BOLT-DWO-HELPER %s 14ba1ac98cSAlexander Yermolovich 1511791ae7SSayhaan Siddiqui;; Testing dwarf4 split dwarf for two CUs. Making sure DW_AT_location [DW_FORM_sec_offset] is updated correctly. 16ba1ac98cSAlexander Yermolovich 17ba1ac98cSAlexander Yermolovich; PRE-BOLT-DWO-MAIN: version = 0x0004 18ba1ac98cSAlexander Yermolovich; PRE-BOLT-DWO-MAIN: DW_TAG_formal_parameter [10] 19ba1ac98cSAlexander Yermolovich; PRE-BOLT-DWO-MAIN-NEXT: DW_AT_location [DW_FORM_sec_offset] (0x00000000: 20ba1ac98cSAlexander Yermolovich; PRE-BOLT-DWO-MAIN-NEXT: DW_LLE_startx_length (0x0000000000000003, 0x0000000000000014) 21ba1ac98cSAlexander Yermolovich; PRE-BOLT-DWO-MAIN-NEXT: DW_LLE_startx_length (0x0000000000000005, 0x0000000000000005) 22ba1ac98cSAlexander Yermolovich; PRE-BOLT-DWO-MAIN: DW_TAG_formal_parameter [10] 23ba1ac98cSAlexander Yermolovich; PRE-BOLT-DWO-MAIN-NEXT: DW_AT_location [DW_FORM_sec_offset] (0x00000016: 24ba1ac98cSAlexander Yermolovich; PRE-BOLT-DWO-MAIN-NEXT: DW_LLE_startx_length (0x0000000000000003, 0x000000000000000c) 25ba1ac98cSAlexander Yermolovich; PRE-BOLT-DWO-MAIN-NEXT: DW_LLE_startx_length (0x0000000000000006, 0x000000000000000d) 26ba1ac98cSAlexander Yermolovich 27ba1ac98cSAlexander Yermolovich; BOLT-DWO-MAIN: version = 0x0004 28ba1ac98cSAlexander Yermolovich; BOLT-DWO-MAIN: DW_TAG_formal_parameter [10] 291c6dc43dSAlexander Yermolovich; BOLT-DWO-MAIN-NEXT: DW_AT_location [DW_FORM_sec_offset] (0x00000010: 3075f770a6SAlexander Yermolovich; BOLT-DWO-MAIN-NEXT: DW_LLE_startx_length (0x0000000000000003, 0x0000000000000014) 3175f770a6SAlexander Yermolovich; BOLT-DWO-MAIN-NEXT: DW_LLE_startx_length (0x0000000000000004, 0x0000000000000005) 32ba1ac98cSAlexander Yermolovich; BOLT-DWO-MAIN: DW_TAG_formal_parameter [10] 331c6dc43dSAlexander Yermolovich; BOLT-DWO-MAIN-NEXT: DW_AT_location [DW_FORM_sec_offset] (0x00000026: 3475f770a6SAlexander Yermolovich; BOLT-DWO-MAIN-NEXT: DW_LLE_startx_length (0x0000000000000003, 0x000000000000000c) 3575f770a6SAlexander Yermolovich; BOLT-DWO-MAIN-NEXT: DW_LLE_startx_length (0x0000000000000005, 0x000000000000000d) 36ba1ac98cSAlexander Yermolovich 37ba1ac98cSAlexander Yermolovich 38ba1ac98cSAlexander Yermolovich; PRE-BOLT-DWO-HELPER: version = 0x0004 39ba1ac98cSAlexander Yermolovich; PRE-BOLT-DWO-HELPER: DW_TAG_formal_parameter [5] 40ba1ac98cSAlexander Yermolovich; PRE-BOLT-DWO-HELPER-NEXT: DW_AT_location [DW_FORM_sec_offset] (0x00000000: 41ba1ac98cSAlexander Yermolovich; PRE-BOLT-DWO-HELPER-NEXT: DW_LLE_startx_length (0x0000000000000002, 0x0000000000000008) 42ba1ac98cSAlexander Yermolovich; PRE-BOLT-DWO-HELPER-NEXT: DW_LLE_startx_length (0x0000000000000003, 0x0000000000000016) 43ba1ac98cSAlexander Yermolovich 44ba1ac98cSAlexander Yermolovich; BOLT-DWO-HELPER: version = 0x0004 45ba1ac98cSAlexander Yermolovich; BOLT-DWO-HELPER: DW_TAG_formal_parameter [5] 461c6dc43dSAlexander Yermolovich; BOLT-DWO-HELPER-NEXT: DW_AT_location [DW_FORM_sec_offset] (0x00000010: 47ba1ac98cSAlexander Yermolovich; BOLT-DWO-HELPER-NEXT: DW_LLE_startx_length (0x0000000000000002, 0x0000000000000008): DW_OP_reg5 RDI 48ba1ac98cSAlexander Yermolovich; BOLT-DWO-HELPER-NEXT: DW_LLE_startx_length (0x0000000000000003, 0x0000000000000016) 49