mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-13 22:58:50 +00:00
828a69bd74
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
21 lines
558 B
ArmAsm
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
|