diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Makemodule.am | 5 | ||||
-rw-r--r-- | lib/execinfo.c | 25 |
2 files changed, 29 insertions, 1 deletions
diff --git a/lib/Makemodule.am b/lib/Makemodule.am index 2fd933d..b30a8aa 100644 --- a/lib/Makemodule.am +++ b/lib/Makemodule.am @@ -5,4 +5,7 @@ libmtd_a_SOURCES = \ lib/libmtd_legacy.c \ lib/libmtd_int.h -noinst_LIBRARIES += libmtd.a +libmissing_a_SOURCES = \ + lib/execinfo.c + +noinst_LIBRARIES += libmtd.a libmissing.a diff --git a/lib/execinfo.c b/lib/execinfo.c new file mode 100644 index 0000000..a39df83 --- /dev/null +++ b/lib/execinfo.c @@ -0,0 +1,25 @@ +#include "libmissing.h" + +#ifndef HAVE_EXECINFO +#define PROGRAM_NAME "libmissing" +#include "common.h" + +int backtrace(void **buffer, int size) +{ + void *addr = __builtin_return_address(0); + + errmsg("backtrace() is not implemented. Called from %p", addr); + return 0; +} + +char **backtrace_symbols(void *const *buffer, int size) +{ + errmsg("backtrace_symbols() is not implemented"); + return NULL; +} + +void backtrace_symbols_fd(void *const *buffer, int size, int fd) +{ + errmsg("backtrace_symbols_fd() is not implemented"); +} +#endif /* !HAVE_EXECINFO */ |