diff --git a/ChangeLog b/ChangeLog index 45ef5008..3b5f9f3c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2019-04-24 Edward Jones + + * config/riscv32/chips/ri5cy/chip.cfg: Change CHIP_CFLAGS to + match architecture of ri5cy (-march=rv32imc -mabi=ilp32) + 2019-04-24 Jeremy Bennett The initial data for FDCT was in a global block, overwritten by diff --git a/config/riscv32/chips/ri5cy/chip.cfg b/config/riscv32/chips/ri5cy/chip.cfg index 1f2edad7..0c0f2d6e 100644 --- a/config/riscv32/chips/ri5cy/chip.cfg +++ b/config/riscv32/chips/ri5cy/chip.cfg @@ -19,4 +19,4 @@ # You should have received a copy of the GNU General Public License along with # this program. If not, see . -export CHIP_CFLAGS="-march=rv32i" +export CHIP_CFLAGS="-march=rv32imc -mabi=ilp32" diff --git a/testsuite/ChangeLog b/testsuite/ChangeLog index a1ba673e..0fdf3863 100644 --- a/testsuite/ChangeLog +++ b/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2019-04-24 Edward Jones + + * config/ri5cyverilator.exp (beebs_load): Pick up + GDBSERVER_CMD environment variable if set. + +2019-04-23 Edward Jones + + * config/ri5cyverilator.exp (beebs_load): Check for + _exit breakpoint instead of __internal_syscall when trying + to detect exit. + 2019-04-10 Jeremy Bennett This gives greater flexibility when testing with BEEBS. The diff --git a/testsuite/config/ri5cyverilator.exp b/testsuite/config/ri5cyverilator.exp index 13a2f6ae..000d867e 100644 --- a/testsuite/config/ri5cyverilator.exp +++ b/testsuite/config/ri5cyverilator.exp @@ -23,7 +23,13 @@ set_board_info beebs,benchmarks "$env(BENCHMARKS)" proc beebs_load { file } { set GDB riscv32-unknown-elf-gdb - set GDB_SERVER riscv32-gdbserver + set GDBSERVER_CMD "riscv32-gdbserver -c ri5cy --stdin" + + # Maybe override the gdbserver command with an environment variable + if { [llength [array names ::env GDBSERVER_CMD]] > 0 } { + set GDBSERVER_CMD $::env(GDBSERVER_CMD) + verbose "GDBSERVER_CMD set to $GDBSERVER_CMD" + } # Launch GDB, the target, and start running. # @@ -37,7 +43,7 @@ proc beebs_load { file } { # We set all required breakpoints here then begin execution. spawn $GDB --interpreter=mi -ex "set height 0" \ -ex "file $file" \ - -ex "target remote | $GDB_SERVER -c ri5cy --stdin" \ + -ex "target remote | $GDBSERVER_CMD" \ -ex "stepi" \ -ex "stepi" \ -ex "load" \ @@ -95,7 +101,7 @@ proc beebs_load { file } { # _exit and check its argument instead). send "cont\n" expect { - -re ".*__internal_syscall.*n=93.*" { + -re ".*stopped.*_exit.*" { send "print \$a0\n" } timeout {