picorv32/scripts/csmith/riscv-isa-sim-exit.diff

31 lines
711 B
Diff

--- a/riscv/processor.cc
+++ b/riscv/processor.cc
@@ -201,9 +201,10 @@ void processor_t::set_privilege(reg_t prv)
void processor_t::take_trap(trap_t& t, reg_t epc)
{
- if (debug)
+ // if (debug)
fprintf(stderr, "core %3d: exception %s, epc 0x%016" PRIx64 "\n",
id, t.name(), epc);
+ exit(1);
// by default, trap to M-mode, unless delegated to S-mode
reg_t bit = t.cause();
--- a/riscv/insns/c_ebreak.h
+++ b/riscv/insns/c_ebreak.h
@@ -1,2 +1,6 @@
require_extension('C');
+
+fprintf(stderr, "sbreak\n");
+exit(0);
+
throw trap_breakpoint();
--- a/riscv/insns/sbreak.h
+++ b/riscv/insns/sbreak.h
@@ -1 +1,4 @@
+fprintf(stderr, "sbreak\n");
+exit(0);
+
throw trap_breakpoint();