diff --git a/repos/dde_linux/src/include/lx_emul/debug.h b/repos/dde_linux/src/include/lx_emul/debug.h index d09aafcef5..5fc71c890a 100644 --- a/repos/dde_linux/src/include/lx_emul/debug.h +++ b/repos/dde_linux/src/include/lx_emul/debug.h @@ -1,6 +1,7 @@ /* * \brief Lx_emul support to debug Linux kernel ports * \author Stefan Kalkowski + * \author Christian Helmuth * \date 2021-03-16 */ @@ -22,6 +23,8 @@ __attribute__((noreturn)) void lx_emul_trace_and_stop(const char * func); void lx_emul_trace(const char * func); +void lx_emul_backtrace(void); + #ifdef __cplusplus } #endif diff --git a/repos/dde_linux/src/lib/lx_emul/debug.cc b/repos/dde_linux/src/lib/lx_emul/debug.cc index 7424ac76a5..6116fe4e2c 100644 --- a/repos/dde_linux/src/lib/lx_emul/debug.cc +++ b/repos/dde_linux/src/lib/lx_emul/debug.cc @@ -1,6 +1,7 @@ /* * \brief Lx_emul backend for Linux kernel' debug functions * \author Stefan Kalkowski + * \author Christian Helmuth * \date 2021-03-16 */ @@ -17,10 +18,10 @@ #include +using namespace Genode; + extern "C" void lx_emul_trace_and_stop(const char * func) { - using namespace Genode; - error("Function ", func, " not implemented yet!"); log("Backtrace follows:"); backtrace(); @@ -30,3 +31,9 @@ extern "C" void lx_emul_trace_and_stop(const char * func) extern "C" void lx_emul_trace(const char *) {} + + +extern "C" void lx_emul_backtrace() +{ + backtrace(); +}