1*befbc99aSFangrui Song# RUN: llvm-mc -triple x86_64 %s -filetype=obj -o %t.o 2*befbc99aSFangrui Song# RUN: llvm-dwarfdump -debug-info %t.o | FileCheck %s 3*befbc99aSFangrui Song# RUN: llvm-dwarfdump -verify %t.o | FileCheck %s --check-prefix=VERIFY 4*befbc99aSFangrui Song 5*befbc99aSFangrui Song# CHECK: DW_TAG_variable 6*befbc99aSFangrui Song# CHECK-NEXT: DW_AT_location (DW_OP_call_ref 0x1100223344) 7*befbc99aSFangrui Song 8*befbc99aSFangrui Song# VERIFY-NOT: error: DIE contains invalid DWARF expression: 9*befbc99aSFangrui Song# VERIFY: No errors. 10*befbc99aSFangrui Song 11*befbc99aSFangrui Song .section .debug_abbrev,"",@progbits 12*befbc99aSFangrui Song .uleb128 1 # Abbreviation Code 13*befbc99aSFangrui Song .uleb128 17 # DW_TAG_compile_unit 14*befbc99aSFangrui Song .byte 1 # DW_CHILDREN_yes 15*befbc99aSFangrui Song .byte 0 # EOM(1) 16*befbc99aSFangrui Song .byte 0 # EOM(2) 17*befbc99aSFangrui Song .uleb128 5 # Abbreviation Code 18*befbc99aSFangrui Song .uleb128 52 # DW_TAG_variable 19*befbc99aSFangrui Song .byte 0 # DW_CHILDREN_no 20*befbc99aSFangrui Song .uleb128 2 # DW_AT_location 21*befbc99aSFangrui Song .uleb128 24 # DW_FORM_exprloc 22*befbc99aSFangrui Song .byte 0 # EOM(1) 23*befbc99aSFangrui Song .byte 0 # EOM(2) 24*befbc99aSFangrui Song .byte 0 # EOM(3) 25*befbc99aSFangrui Song 26*befbc99aSFangrui Song .section .debug_info,"",@progbits 27*befbc99aSFangrui Song .long 0xffffffff # DWARF64 mark 28*befbc99aSFangrui Song .quad .Lcu_end-.Lcu_start # Length of Unit 29*befbc99aSFangrui Song.Lcu_start: 30*befbc99aSFangrui Song .short 5 # DWARF version number 31*befbc99aSFangrui Song .byte 1 # DW_UT_compile 32*befbc99aSFangrui Song .byte 8 # Address Size 33*befbc99aSFangrui Song .quad .debug_abbrev # Offset Into Abbrev. Section 34*befbc99aSFangrui Song .uleb128 1 # Abbrev [1] DW_TAG_compile_unit 35*befbc99aSFangrui Song .uleb128 5 # Abbrev [5] DW_TAG_variable 36*befbc99aSFangrui Song .byte .Lloc_end-.Lloc_begin # DW_AT_location 37*befbc99aSFangrui Song.Lloc_begin: 38*befbc99aSFangrui Song .byte 154 # DW_OP_call_ref 39*befbc99aSFangrui Song .quad 0x1100223344 # Offset 40*befbc99aSFangrui Song.Lloc_end: 41*befbc99aSFangrui Song .byte 0 # End Of Children Mark 42*befbc99aSFangrui Song.Lcu_end: 43