xref: /aosp_15_r20/external/llvm/test/MC/ELF/global-offset.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -filetype=obj -triple i386-pc-linux-gnu %s -o - | llvm-readobj -s -sd | FileCheck  %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker// We test that _GLOBAL_OFFSET_TABLE_ will account for the two bytes at the
4*9880d681SAndroid Build Coastguard Worker// start of the addl/leal.
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker        addl    $_GLOBAL_OFFSET_TABLE_, %ebx
7*9880d681SAndroid Build Coastguard Worker        leal    _GLOBAL_OFFSET_TABLE_(%ebx), %ebx
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Worker// But not in this case
10*9880d681SAndroid Build Coastguard Workerfoo:
11*9880d681SAndroid Build Coastguard Worker        addl    _GLOBAL_OFFSET_TABLE_-foo,%ebx
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Worker// CHECK:        Section {
14*9880d681SAndroid Build Coastguard Worker// CHECK:          Name: .text
15*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Type:
16*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Flags [
17*9880d681SAndroid Build Coastguard Worker// CHECK:          ]
18*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Address:
19*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Offset:
20*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Size:
21*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Link:
22*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Info:
23*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     AddressAlignment:
24*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     EntrySize:
25*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     SectionData (
26*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       0000: 81C30200 00008D9B 02000000 031D0200
27*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:       0010: 0000
28*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     )
29*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
30