1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test/MC/Mips/got-rel-expr.s
Daniel Sanders 828a69bd74 [mips][ias] R_MIPS_(GOT|HI|LO|PC)16 and R_MIPS_GPREL32 do not need symbols.
Summary:
In theory, care must be taken to ensure that pairs of R_MIPS_(GOT|HI|LO)16
make the same decision on both relocs in the reloc pair but in practice
this isn't as hard as it sounds and only limits the complexity of the
predicate used. We handle all three with the same code to ensure their
decisions always agree with each other.

Reviewers: sdardis

Subscribers: rafael, dsanders, sdardis, llvm-commits

Differential Revision: http://reviews.llvm.org/D19016

llvm-svn: 268900
2016-05-09 10:21:14 +00:00

21 lines
558 B
ArmAsm

# Check that llvm-mc accepts arithmetic expression
# as an argument of the %got relocation.
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s \
# RUN: | llvm-objdump -d -r - | FileCheck %s
.text
foo:
lw $t0,%got($loc+0x10004)($gp)
# CHECK: 0: 8f 88 00 01 lw $8, 1($gp)
# CHECK: 00000000: R_MIPS_GOT16 .data
addi $t0,$t0,%lo($loc+0x10004)
# CHECK: 4: 21 08 00 04 addi $8, $8, 4
# CHECK: 00000004: R_MIPS_LO16 .data
.data
$loc:
.word 0
.space 0x10000
.word 0