48 lines
736 B
ArmAsm
48 lines
736 B
ArmAsm
.syntax unified
|
|
|
|
.global _start
|
|
.type _start, %function
|
|
.text
|
|
_start:
|
|
bx lr
|
|
.size _start,.-_start
|
|
|
|
.section .data.0,"aw",%progbits
|
|
.align 12
|
|
.type x, %object
|
|
.size x, 4
|
|
x:
|
|
.word 1
|
|
|
|
.section .data.1,"aw",%progbits
|
|
.align 12
|
|
|
|
# This causes following relocations to be unaligned.
|
|
.global padding
|
|
.type padding, %object
|
|
.size padding, 1
|
|
padding:
|
|
.byte 0
|
|
|
|
.global abs32
|
|
.type abs32, %object
|
|
.size abs32, 4
|
|
abs32:
|
|
# We use x + 1 instead so that addend is non-zero
|
|
# The disassembler sometimes skips repeating
|
|
# zeros and prints "..." instead.
|
|
.word x + 1
|
|
|
|
.global rel32
|
|
.type rel32, %object
|
|
.size rel32, 4
|
|
rel32:
|
|
.word x + 1 - .
|
|
|
|
.global abs16
|
|
.type abs16, %object
|
|
.size abs16, 2
|
|
abs16:
|
|
.short x + 1
|
|
.short 0
|