41 lines
976 B
Text
41 lines
976 B
Text
# mach: crisv32
|
|
# ld: -N --oformat binary --section-start=.text=0x10000000
|
|
# sim: --architecture crisv32 --target binary --cris-program-offset=0x10000000 --cris-start-address=0x10000040 --cris-naked --memory-region 0x10000000,0x1000
|
|
.include "testutils.inc"
|
|
|
|
; Test that we can load a binary program at a non-zero address.
|
|
; Also serves to exercise the --cris-program-offset and
|
|
; --cris-start-address options.
|
|
|
|
; Make sure starting at the first address does fail.
|
|
fail
|
|
|
|
; ...and that we know an offset we can jump for it to work, and all we
|
|
; have to assume is that "fail" takes no more than 64 bytes.
|
|
.p2align 6
|
|
ba _start
|
|
nop
|
|
|
|
;
|
|
start
|
|
x:
|
|
|
|
; Make sure we're loaded at the linked address. Since we're re-used
|
|
; in other tests, we have to provide for non-v32 as well.
|
|
.if ..asm.arch.cris.v32
|
|
lapcq .,$r0
|
|
.else
|
|
move.d $pc,$r0
|
|
subq .-x,$r0
|
|
.endif
|
|
|
|
cmp.d x,$r0
|
|
bne y
|
|
nop
|
|
pass
|
|
y:
|
|
fail
|
|
|
|
; Make sure we have enough contents for the mapping.
|
|
.data
|
|
.fill 4096,1,0
|