1901867b1SAlexander Yermolovich# REQUIRES: system-linux 2901867b1SAlexander Yermolovich 3901867b1SAlexander Yermolovich# RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %p/Inputs/dwarf5-loclist-offset-form-main.s -o %tmain.o 4901867b1SAlexander Yermolovich# RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %p/Inputs/dwarf5-loclist-offset-form-helper.s -o %thelper.o 5901867b1SAlexander Yermolovich# RUN: %clang %cflags -dwarf-5 %tmain.o %thelper.o -o %t.exe -Wl,-q 6*6aad62cfSSayhaan Siddiqui# RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections --debug-thread-count=4 --cu-processing-batch-size=4 7901867b1SAlexander Yermolovich# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.exe | FileCheck --check-prefix=PRECHECK %s 8901867b1SAlexander Yermolovich# RUN: llvm-dwarfdump --show-form --verbose --debug-addr %t.bolt > %t.txt 9901867b1SAlexander Yermolovich# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt >> %t.txt 10901867b1SAlexander Yermolovich# RUN: cat %t.txt | FileCheck --check-prefix=POSTCHECK %s 11901867b1SAlexander Yermolovich 1211791ae7SSayhaan Siddiqui## Checks we can handle DWARF5 CU with DWARF4 DW_AT_location access pattern. 13901867b1SAlexander Yermolovich 14901867b1SAlexander Yermolovich# PRECHECK: DW_TAG_compile_unit 15901867b1SAlexander Yermolovich# PRECHECK: DW_TAG_variable [5] 16901867b1SAlexander Yermolovich# PRECHECK-NEXT: DW_AT_location [DW_FORM_sec_offset] 17901867b1SAlexander Yermolovich# PRECHECK: DW_TAG_variable [5] 18901867b1SAlexander Yermolovich# PRECHECK-NEXT: DW_AT_location [DW_FORM_sec_offset] 19901867b1SAlexander Yermolovich# PRECHECK: DW_TAG_compile_unit 20901867b1SAlexander Yermolovich# PRECHECK: DW_TAG_variable [11] 21901867b1SAlexander Yermolovich# PRECHECK-NEXT: DW_AT_location [DW_FORM_sec_offset] 22901867b1SAlexander Yermolovich 23901867b1SAlexander Yermolovich# POSTCHECK: Addrs: [ 24901867b1SAlexander Yermolovich# POSTCHECK-NEXT: 0x[[#%.16x,ADDR:]] 25901867b1SAlexander Yermolovich# POSTCHECK-NEXT: 0x[[#%.16x,ADDR1:]] 26901867b1SAlexander Yermolovich# POSTCHECK-NEXT: 0x[[#%.16x,ADDR2:]] 27901867b1SAlexander Yermolovich# POSTCHECK-NEXT: 0x[[#%.16x,ADDR3:]] 28901867b1SAlexander Yermolovich# For second CU. 29901867b1SAlexander Yermolovich# POSTCHECK: Addrs: [ 30901867b1SAlexander Yermolovich# POSTCHECK-NEXT: 0x[[#%.16x,ADDR4:]] 31901867b1SAlexander Yermolovich# POSTCHECK-NEXT: 0x[[#%.16x,ADDR5:]] 32901867b1SAlexander Yermolovich# POSTCHECK-NEXT: 0x[[#%.16x,ADDR6:]] 33901867b1SAlexander Yermolovich# POSTCHECK-NEXT: 0x[[#%.16x,ADDR7:]] 34901867b1SAlexander Yermolovich 35901867b1SAlexander Yermolovich# POSTCHECK: DW_TAG_compile_unit 36901867b1SAlexander Yermolovich# POSTCHECK: DW_AT_loclists_base [DW_FORM_sec_offset] (0x0000000c) 37901867b1SAlexander Yermolovich# POSTCHECK: DW_TAG_variable [5] 38901867b1SAlexander Yermolovich# POSTCHECK-NEXT: DW_AT_location [DW_FORM_loclistx] (indexed (0x0) 39e22ff52cSAlexander Yermolovich# POSTCHECK-NEXT: [0x[[#ADDR2]] 40124ca880SAlexander Yermolovich# POSTCHECK-SAME: 0x[[#ADDR2 + 0x9]] 41124ca880SAlexander Yermolovich# POSTCHECK-NEXT: [0x[[#ADDR2 + 0x9]] 42124ca880SAlexander Yermolovich# POSTCHECK-SAME: 0x[[#ADDR2 + 0xf]] 43901867b1SAlexander Yermolovich# POSTCHECK: DW_TAG_variable [5] 44901867b1SAlexander Yermolovich# POSTCHECK-NEXT: DW_AT_location [DW_FORM_loclistx] (indexed (0x1) 45901867b1SAlexander Yermolovich# POSTCHECK-NEXT: [0x[[#ADDR3]] 46901867b1SAlexander Yermolovich# POSTCHECK-SAME: 0x[[#ADDR3 + 2]] 47901867b1SAlexander Yermolovich 48901867b1SAlexander Yermolovich# POSTCHECK: DW_TAG_compile_unit 49124ca880SAlexander Yermolovich# POSTCHECK: DW_AT_loclists_base [DW_FORM_sec_offset] (0x00000045) 5087fb0ea2SRui Zhong# POSTCHECK: DW_TAG_variable [5] 51901867b1SAlexander Yermolovich# POSTCHECK-NEXT: DW_AT_location [DW_FORM_loclistx] (indexed (0x0) 52e22ff52cSAlexander Yermolovich# POSTCHECK-NEXT: [0x[[#ADDR7]] 53124ca880SAlexander Yermolovich# POSTCHECK-SAME: 0x[[#ADDR7 + 0x3]] 54124ca880SAlexander Yermolovich# POSTCHECK-NEXT: [0x[[#ADDR7 + 0x3]] 55124ca880SAlexander Yermolovich# POSTCHECK-SAME: 0x[[#ADDR7 + 0x4]] 56