sim: v850: fix cpu_option testsuite handling
authorMike Frysinger <vapier@gentoo.org>
Sun, 21 Nov 2021 03:46:52 +0000 (22:46 -0500)
committerMike Frysinger <vapier@gentoo.org>
Sun, 21 Nov 2021 04:13:50 +0000 (23:13 -0500)
commitbbda248c504815990c07c8a9c411ae6c124d7c4b
tree4dbceafc3299729a11d188ddb7ba06d82f49cf95
parentc2851b66eb8cb6d486c03e90bedb3403c5b1294e
sim: v850: fix cpu_option testsuite handling

The v850 testsuite code has been testing the $opt variable, but this
was never actually set anywhere globally or v850-specific.  Instead,
this was a random variable leaking out of the sh testsuite code.  As
far as I can tell, it has always been this way.  That means the code
only ever tested the v850 cpu target (which is the default).

This failure can be easily seen in practice by running the v850 code
in isolation and seeing it crash:
$ runtest v850/allinsns.exp
...
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using ../../../sim/testsuite/config/default.exp as tool-and-target-specific interface file.
WARNING: Assuming target board is the local machine (which is probably wrong).
You may need to set your DEJAGNU environment variable.
Running ../../../sim/testsuite/v850/allinsns.exp ...
ERROR: tcl error sourcing ../../../sim/testsuite/v850/allinsns.exp.
ERROR: tcl error code TCL LOOKUP VARNAME opt
ERROR: can't read "opt": no such variable
    while executing
"switch -regexp -- $opt {

Backing up a bit, the reason for this logic in the first place is
because the common sim testsuite code makes an assumption about the
assembler options with cpu_option -- the option and its value are
always separated by an =.  This is not the case with v850.  So tweak
the core sim logic a bit to support omitting the = so that we can
switch v850 to the standard all_machs setting and avoid opt entirely.
sim/testsuite/lib/sim-defs.exp
sim/testsuite/v850/allinsns.exp