mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-22 19:09:31 +08:00
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.
This commit is contained in:

committed by
Hans-Peter Nilsson

parent
9d67b0a097
commit
3293b4f667
47
sim/testsuite/cris/asm/endmem1.ms
Normal file
47
sim/testsuite/cris/asm/endmem1.ms
Normal file
@ -0,0 +1,47 @@
|
||||
# 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
|
Reference in New Issue
Block a user