xref: /aosp_15_r20/external/llvm/test/MC/ELF/debug-loc.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker// Test that we don't regress on the size of the line info section. We used
4*9880d681SAndroid Build Coastguard Worker// to handle negative line diffs incorrectly which manifested as very
5*9880d681SAndroid Build Coastguard Worker// large integers being passed to DW_LNS_advance_line.
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker// FIXME: This size is the same as gnu as, but we can probably do a bit better.
8*9880d681SAndroid Build Coastguard Worker// FIXME2: We need a debug_line dumper so that we can test the actual contents.
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Worker// CHECK:        Section {
11*9880d681SAndroid Build Coastguard Worker// CHECK:          Index:
12*9880d681SAndroid Build Coastguard Worker// CHECK:          Name: .debug_line
13*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Type: SHT_PROGBITS
14*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Flags [
15*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     ]
16*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Address: 0x0
17*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Offset:
18*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Size: 61
19*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Link: 0
20*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Info: 0
21*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     AddressAlignment: 1
22*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     EntrySize: 0
23*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
24*9880d681SAndroid Build Coastguard Worker
25*9880d681SAndroid Build Coastguard Worker	.section	.debug_line,"",@progbits
26*9880d681SAndroid Build Coastguard Worker	.text
27*9880d681SAndroid Build Coastguard Workerfoo:
28*9880d681SAndroid Build Coastguard Worker	.file 1 "Driver.ii"
29*9880d681SAndroid Build Coastguard Worker	.loc 1 2 0
30*9880d681SAndroid Build Coastguard Worker        nop
31*9880d681SAndroid Build Coastguard Worker	.loc 1 4 0
32*9880d681SAndroid Build Coastguard Worker        nop
33*9880d681SAndroid Build Coastguard Worker	.loc 1 3 0
34*9880d681SAndroid Build Coastguard Worker        nop
35