44 lines · plain
1# REQUIRES: mips2# Check MIPS .MIPS.options section generation.3 4# RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux %s -o %t1.o5# RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux \6# RUN: %S/Inputs/mips-dynamic.s -o %t2.o7# RUN: echo "SECTIONS { \8# RUN: . = 0x100000000; \9# RUN: .got : { *(.got) } }" > %t.rel.script10# RUN: ld.lld %t1.o %t2.o --gc-sections --script %t.rel.script -shared -o %t.so11# RUN: llvm-readobj -l --symbols -A %t.so | FileCheck %s12 13 .text14 .globl __start15__start:16 lui $gp, %hi(%neg(%gp_rel(g1)))17 18# CHECK: ProgramHeader {19# CHECK: Type: PT_MIPS_OPTIONS20# CHECK-NEXT: Offset:21# CHECK-NEXT: VirtualAddress:22# CHECK-NEXT: PhysicalAddress:23# CHECK-NEXT: FileSize:24# CHECK-NEXT: MemSize:25# CHECK-NEXT: Flags [26# CHECK-NEXT: PF_R27# CHECK-NEXT: ]28# CHECK-NEXT: Alignment: 829# CHECK-NEXT: }30 31# CHECK: Name: _gp32# CHECK-NEXT: Value: 0x[[GP:[0-9A-F]+]]33 34# CHECK: MIPS Options {35# CHECK-NEXT: ODK_REGINFO {36# CHECK-NEXT: GP: 0x[[GP]]37# CHECK-NEXT: General Mask: 0x1000000138# CHECK-NEXT: Co-Proc Mask0: 0x039# CHECK-NEXT: Co-Proc Mask1: 0x040# CHECK-NEXT: Co-Proc Mask2: 0x041# CHECK-NEXT: Co-Proc Mask3: 0x042# CHECK-NEXT: }43# CHECK-NEXT: }44