1*9880d681SAndroid Build Coastguard Worker 2*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple powerpc64-unknown-unknown -filetype=obj %s | \ 3*9880d681SAndroid Build Coastguard Worker# RUN: llvm-readobj -s -sd | FileCheck -check-prefix=CHECK -check-prefix=CHECK-BE %s 4*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple powerpc64le-unknown-unknown -filetype=obj %s | \ 5*9880d681SAndroid Build Coastguard Worker# RUN: llvm-readobj -s -sd | FileCheck -check-prefix=CHECK -check-prefix=CHECK-LE %s 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Worker# This checks that fixups that can be resolved within the same 8*9880d681SAndroid Build Coastguard Worker# object file are applied correctly. 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker.text 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Workeraddi 1, 1, target 13*9880d681SAndroid Build Coastguard Workeraddis 1, 1, target 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Worker.set target, 0x1234 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Workersubi 1, 1, -target2@l 18*9880d681SAndroid Build Coastguard Workersubis 1, 1, -target2@ha 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Worker.set target2, 0x12345678 21*9880d681SAndroid Build Coastguard Worker 22*9880d681SAndroid Build Coastguard Workeraddi 1, 1, target3-target4@l 23*9880d681SAndroid Build Coastguard Workersubis 1, 1, target4-target3@ha 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Worker.set target3, 0x23455678 26*9880d681SAndroid Build Coastguard Worker.set target4, 0x12341234 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Workeraddi 1, 1, target5+0x8000@l 29*9880d681SAndroid Build Coastguard Workeraddis 1, 1, target5+0x8000@ha 30*9880d681SAndroid Build Coastguard Workerori 1, 1, target5+0x8000@l 31*9880d681SAndroid Build Coastguard Workeroris 1, 1, target5+0x8000@ha 32*9880d681SAndroid Build Coastguard Worker 33*9880d681SAndroid Build Coastguard Worker.set target5, 0x10000001 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Worker1: 36*9880d681SAndroid Build Coastguard Workeraddi 1, 1, 2f-1b@l 37*9880d681SAndroid Build Coastguard Workeraddis 1, 1, 1b-2f@ha 38*9880d681SAndroid Build Coastguard Worker2: 39*9880d681SAndroid Build Coastguard Worker 40*9880d681SAndroid Build Coastguard Workeraddi 1, 1, target6@h 41*9880d681SAndroid Build Coastguard Workeraddis 1, 1, target6@h 42*9880d681SAndroid Build Coastguard Worker 43*9880d681SAndroid Build Coastguard Worker.set target6, 0x4321fedc 44*9880d681SAndroid Build Coastguard Worker 45*9880d681SAndroid Build Coastguard Workeraddi 1, 1, target7@higher 46*9880d681SAndroid Build Coastguard Workeraddis 1, 1, target7@highest 47*9880d681SAndroid Build Coastguard Workeraddi 1, 1, target7@highera 48*9880d681SAndroid Build Coastguard Workeraddis 1, 1, target7@highesta 49*9880d681SAndroid Build Coastguard Worker 50*9880d681SAndroid Build Coastguard Worker.set target7, 0x1234ffffffff8000 51*9880d681SAndroid Build Coastguard Worker 52*9880d681SAndroid Build Coastguard Worker.data 53*9880d681SAndroid Build Coastguard Worker 54*9880d681SAndroid Build Coastguard Worker.quad v1 55*9880d681SAndroid Build Coastguard Worker.long v2 56*9880d681SAndroid Build Coastguard Worker.short v3 57*9880d681SAndroid Build Coastguard Worker.byte v4 58*9880d681SAndroid Build Coastguard Worker 59*9880d681SAndroid Build Coastguard Worker.set v1, 0x123456789abcdef0 60*9880d681SAndroid Build Coastguard Worker.set v2, 0x87654321 61*9880d681SAndroid Build Coastguard Worker.set v3, 0xbeef 62*9880d681SAndroid Build Coastguard Worker.set v4, 0x42 63*9880d681SAndroid Build Coastguard Worker 64*9880d681SAndroid Build Coastguard Worker# CHECK: Section { 65*9880d681SAndroid Build Coastguard Worker# CHECK: Name: .text 66*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: Type: SHT_PROGBITS 67*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: Flags [ 68*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: SHF_ALLOC 69*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: SHF_EXECINSTR 70*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ] 71*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: Address: 0x0 72*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: Offset: 73*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: Size: 72 74*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: Link: 0 75*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: Info: 0 76*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: AddressAlignment: 4 77*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: EntrySize: 0 78*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: SectionData ( 79*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: 0000: 38211234 3C211234 38215678 3C211234 80*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: 0000: 34122138 3412213C 78562138 3412213C 81*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: 0010: 38214444 3C211111 38218001 3C211001 82*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: 0010: 44442138 1111213C 01802138 0110213C 83*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: 0020: 60218001 64211001 38210008 3C210000 84*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: 0020: 01802160 01102164 08002138 0000213C 85*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: 0030: 38214321 3C214321 3821FFFF 3C211234 86*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: 0030: 21432138 2143213C FFFF2138 3412213C 87*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: 0040: 38210000 3C211235 88*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: 0040: 00002138 3512213C 89*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ) 90*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: } 91*9880d681SAndroid Build Coastguard Worker 92*9880d681SAndroid Build Coastguard Worker# CHECK: Section { 93*9880d681SAndroid Build Coastguard Worker# CHECK: Name: .data 94*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: Type: SHT_PROGBITS 95*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: Flags [ 96*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: SHF_ALLOC 97*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: SHF_WRITE 98*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ] 99*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: Address: 0x0 100*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: Offset: 101*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: Size: 15 102*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: Link: 0 103*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: Info: 0 104*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: AddressAlignment: 105*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: EntrySize: 0 106*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: SectionData ( 107*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: 0000: 12345678 9ABCDEF0 87654321 BEEF42 108*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: 0000: F0DEBC9A 78563412 21436587 EFBE42 109*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ) 110*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: } 111*9880d681SAndroid Build Coastguard Worker 112