diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-01-02 19:19:15 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-01-02 19:19:15 +0000 |
commit | d93e1dfac8711cfed1a9d9cd1876a788b83945cd (patch) | |
tree | 5896fa6c02a262a6148b215487e545d937de58b7 /test/ELF/mips-gp-lowest.s | |
parent | 8d43286d630f9224de07809ea253e83ebb9cdee6 (diff) |
Notes
Diffstat (limited to 'test/ELF/mips-gp-lowest.s')
-rw-r--r-- | test/ELF/mips-gp-lowest.s | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test/ELF/mips-gp-lowest.s b/test/ELF/mips-gp-lowest.s new file mode 100644 index 0000000000000..b3d30aa359038 --- /dev/null +++ b/test/ELF/mips-gp-lowest.s @@ -0,0 +1,44 @@ +# Check that default _gp value is calculated relative +# to the GP-relative section with the lowest address. + +# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o +# RUN: echo "SECTIONS { \ +# RUN: .sdata : { *(.sdata) } \ +# RUN: .got : { *(.got) } }" > %t.rel.script +# RUN: ld.lld %t.o --script %t.rel.script -shared -o %t.so +# RUN: llvm-readobj -s -t %t.so | FileCheck %s + +# REQUIRES: mips + + .text + .global foo +foo: + lui $gp, %call16(foo) + + .sdata + .word 0 + +# CHECK: Section { +# CHECK: Name: .sdata +# CHECK-NEXT: Type: SHT_PROGBITS +# CHECK-NEXT: Flags [ +# CHECK-NEXT: SHF_ALLOC +# CHECK-NEXT: SHF_MIPS_GPREL +# CHECK-NEXT: SHF_WRITE +# CHECK-NEXT: ] +# CHECK-NEXT: Address: 0xDD +# CHECK: } +# CHECK: Section { +# CHECK: Name: .got +# CHECK-NEXT: Type: SHT_PROGBITS +# CHECK-NEXT: Flags [ +# CHECK-NEXT: SHF_ALLOC +# CHECK-NEXT: SHF_MIPS_GPREL +# CHECK-NEXT: SHF_WRITE +# CHECK-NEXT: ] +# CHECK-NEXT: Address: 0xE4 +# CHECK: } + +# CHECK: Name: _gp (5) +# CHECK-NEXT: Value: 0x80CD +# ^-- 0xDD + 0x7ff0 |