Skip to content
Snippets Groups Projects
Commit fa0cbd5a authored by Hans-Peter Nilsson's avatar Hans-Peter Nilsson
Browse files

* sim/cris/asm/opterr5.ms, sim/cris/asm/opterr4.ms,

	sim/cris/asm/opterr3.ms, sim/cris/asm/bare3.ms: New tests.
	* lib/sim-defs.exp (run_sim_test): New option progopts.
parent c10b3605
No related branches found
No related tags found
No related merge requests found
2009-01-18 Hans-Peter Nilsson <hp@axis.com>
* sim/cris/asm/opterr5.ms, sim/cris/asm/opterr4.ms,
sim/cris/asm/opterr3.ms, sim/cris/asm/bare3.ms: New tests.
* lib/sim-defs.exp (run_sim_test): New option progopts.
2009-01-06 Hans-Peter Nilsson <hp@axis.com> 2009-01-06 Hans-Peter Nilsson <hp@axis.com>
* sim/cris/c/mmap5.c, sim/cris/c/mmap6.c, sim/cris/c/mmap7.c, * sim/cris/c/mmap5.c, sim/cris/c/mmap6.c, sim/cris/c/mmap7.c,
......
...@@ -161,6 +161,7 @@ proc sim_run { prog sim_opts prog_opts redir options } { ...@@ -161,6 +161,7 @@ proc sim_run { prog sim_opts prog_opts redir options } {
# as[(mach-list)]: <assembler options> # as[(mach-list)]: <assembler options>
# ld[(mach-list)]: <linker options> # ld[(mach-list)]: <linker options>
# sim[(mach-list)]: <simulator options> # sim[(mach-list)]: <simulator options>
# progopts: <arguments to the program being simulated>
# output: program output pattern to match with string-match # output: program output pattern to match with string-match
# xerror: program is expected to return with a "failure" exit code # xerror: program is expected to return with a "failure" exit code
# xfail: <PRMS-opt> <target-triplets-where-test-fails> # xfail: <PRMS-opt> <target-triplets-where-test-fails>
...@@ -197,6 +198,7 @@ proc run_sim_test { name requested_machs } { ...@@ -197,6 +198,7 @@ proc run_sim_test { name requested_machs } {
# Clear default options # Clear default options
set opts(as) "" set opts(as) ""
set opts(ld) "" set opts(ld) ""
set opts(progopts) ""
set opts(sim) "" set opts(sim) ""
set opts(output) "" set opts(output) ""
set opts(mach) "" set opts(mach) ""
...@@ -330,7 +332,7 @@ proc run_sim_test { name requested_machs } { ...@@ -330,7 +332,7 @@ proc run_sim_test { name requested_machs } {
set options "$options timeout=$opts(timeout)" set options "$options timeout=$opts(timeout)"
} }
set result [sim_run ${name}.x "$opts(sim,$mach) $global_sim_options" "" "" "$options"] set result [sim_run ${name}.x "$opts(sim,$mach) $global_sim_options" "$opts(progopts)" "" "$options"]
set status [lindex $result 0] set status [lindex $result 0]
set output [lindex $result 1] set output [lindex $result 1]
......
# 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
# 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).
# 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.
# 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.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment