mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
99641b063a
Before every test was using a section with an address of zero. llvm-svn: 241427
49 lines
1.2 KiB
ArmAsm
49 lines
1.2 KiB
ArmAsm
# RUN: llvm-mc -triple=i386-apple-macosx10.4 -relocation-model=dynamic-no-pic -filetype=obj -o %T/test_i386.o %s
|
|
# RUN: llvm-rtdyld -triple=i386-apple-macosx10.4 -verify -check=%s %/T/test_i386.o
|
|
|
|
// Put the section used in the test at a non zero address.
|
|
.long 4
|
|
|
|
.section __TEXT,__text2,regular,pure_instructions
|
|
.globl bar
|
|
.align 4, 0x90
|
|
bar:
|
|
calll tmp0$pb
|
|
tmp0$pb:
|
|
popl %eax
|
|
# Test section difference relocation to non-lazy ptr section.
|
|
# rtdyld-check: decode_operand(inst1, 4) = x$non_lazy_ptr - tmp0$pb + 8
|
|
inst1:
|
|
movl (x$non_lazy_ptr-tmp0$pb)+8(%eax), %eax
|
|
movl (%eax), %ebx
|
|
|
|
# Test VANILLA relocation to jump table.
|
|
# rtdyld-check: decode_operand(inst2, 0) = bling$stub - next_pc(inst2)
|
|
inst2:
|
|
calll bling$stub
|
|
addl %ebx, %eax
|
|
|
|
# Test scattered VANILLA relocations.
|
|
inst3:
|
|
movl y+4, %ecx
|
|
addl %ecx, %eax
|
|
retl
|
|
|
|
.section __IMPORT,__jump_table,symbol_stubs,pure_instructions+self_modifying_code,5
|
|
bling$stub:
|
|
.indirect_symbol bling
|
|
.ascii "\364\364\364\364\364"
|
|
|
|
.section __IMPORT,__pointers,non_lazy_symbol_pointers
|
|
x$non_lazy_ptr:
|
|
.indirect_symbol x
|
|
.long 0
|
|
|
|
.comm x,4,2
|
|
.comm bling,4,2
|
|
|
|
.globl y
|
|
.zerofill __DATA,__common,y,8,3
|
|
|
|
.subsections_via_symbols
|