binutils-gdb/sim/testsuite/cris/asm/endmem1.ms
Hans-Peter Nilsson 3293b4f667 sim/testsuite/cris: Assembler testcase for PRIx32 usage bug
Several C test-cases exposed the bug, but let's have one for
people who test using just the assembler and linker.

	* asm/endmem1.ms: New test.
2022-02-14 23:50:24 +01:00

48 lines
942 B
Plaintext

# mach: crisv3 crisv8 crisv10 crisv32
; Check that the simulator and the program agrees on the
; value of endmem; the base point for further allocations.
.include "testutils.inc"
start
; First, get the end of memory by calling brk with 0 to get
; the current value.
clear.d $r10
movu.w 0x2d,$r9
break 13
; Get one more 8192-byte page.
addu.w 8192,$r10
; Save it in a (call- and) syscall-saved register.
move.d $r10,$r0
; Call brk again to raise the value.
movu.w 0x2d,$r9
break 13
; If the simulator messed up internally, it'd have exited
; with an error at the brk call. But, let's sanity-check
; the return-value: it should be the same as the input and
; the allocated memory should be accessible.
cmp.d $r10,$r0
beq 0f
nop
1:
fail
0:
; Check that we can write and read the last address on that
; page.
subq 4,$r10
move.d 0xbad1d101,$r12
move.d $r12,[$r10]
move.d [$r10],$r11
cmp.d $r11,$r12
bne 1b
nop
pass