sim: Trap into GDB instead of panicking on SEGV
When a segfault happens in the guest, report a SEGV trap to GDB (if there is one attached) instead of bailing out immediately. The obvious use-case for this, is the ability to debug guest crashes in GDB in the standard manner. The less-trivial use-case is for development of software in an incomplete software stack (cf. Aarno-Engblom's "Virtual Platforms" pp.105 et seq.) One particular example is Ingalls-Miranda simulation of JIT compilers, where the VM's address space may be split between the simulated and the real machine: in this case, GDB traps facilitate the transparent illusion of an unbroken address space. Change-Id: I9072ed5f6474e05e9a99dc42ae5754be28121355 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/44685 Reviewed-by: Gabe Black <gabe.black@gmail.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Gabe Black <gabe.black@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
committed by
Boris Shingarov
parent
a2c9213a31
commit
ee58010f0d
@@ -47,6 +47,7 @@ class BaseRemoteGDB
|
||||
|
||||
bool breakpoint() { return false; }
|
||||
void replaceThreadContext(ThreadContext *tc) {}
|
||||
bool trap(int type) { return true; }
|
||||
|
||||
virtual ~BaseRemoteGDB() {}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user