Browse Source
sim/cris/asm/opterr3.ms, sim/cris/asm/bare3.ms: New tests. * lib/sim-defs.exp (run_sim_test): New option progopts.cgen-1_1-branch
6 changed files with 74 additions and 1 deletions
@ -0,0 +1,41 @@ |
|||
# 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 |
|||
@ -0,0 +1,10 @@ |
|||
# mach: crisv3 crisv8 crisv10 crisv32 |
|||
# ld: -N --oformat binary --section-start=.text=0x10000000 |
|||
# sim: --cris-naked --memory-mapfile |
|||
# xerror: |
|||
# output: Usage: run \[options\] program \[program args\]\n*\n |
|||
# progopts: --memory-region 0x10000000,0x1000 |
|||
.include "bare3.ms" |
|||
|
|||
; Check that we get an error for wrong usage, not a SEGV for lack of |
|||
; bfd when missing the program argument (can't use *only* mapped files). |
|||
@ -0,0 +1,7 @@ |
|||
# mach: crisv3 crisv8 crisv10 crisv32 |
|||
# xerror: |
|||
# output: Invalid option [`']--cris-start-address=x'\n |
|||
# sim: --cris-start-address=x |
|||
.include "nopv32t.ms" |
|||
|
|||
; Check that we recognize wrong usage of the --cris-start-address option. |
|||
@ -0,0 +1,7 @@ |
|||
# mach: crisv3 crisv8 crisv10 crisv32 |
|||
# xerror: |
|||
# output: Invalid option [`']--cris-program-offset=x'\n |
|||
# sim: --cris-program-offset=x |
|||
.include "nopv32t.ms" |
|||
|
|||
; Check that we recognize wrong usage of the --cris-program-offset option. |
|||
Loading…
Reference in new issue