diff options
Diffstat (limited to 'src/common.cpp')
-rw-r--r-- | src/common.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/common.cpp b/src/common.cpp index b8270ad1..91b08824 100644 --- a/src/common.cpp +++ b/src/common.cpp @@ -70,7 +70,9 @@ static volatile bool termsize_valid; static rwlock_t termsize_rwlock; static char *wcs2str_internal(const wchar_t *in, char *out); +static void debug_shared(const wchar_t msg_level, const wcstring &msg); +#ifdef HAVE_BACKTRACE_SYMBOLS // This function produces a stack backtrace with demangled function & method names. It is based on // https://gist.github.com/fmela/591333 but adapted to the style of the fish project. static const wcstring_list_t __attribute__((noinline)) @@ -104,7 +106,6 @@ demangled_backtrace(int max_frames, int skip_levels) { return backtrace_text; } -static void debug_shared(const wchar_t msg_level, const wcstring &msg); void __attribute__((noinline)) show_stackframe(const wchar_t msg_level, int frame_count, int skip_levels) { ASSERT_IS_NOT_FORKED_CHILD(); @@ -124,6 +125,14 @@ void __attribute__((noinline)) show_stackframe(const wchar_t msg_level, int fram } } +#else // HAVE_BACKTRACE_SYMBOLS + +void __attribute__((noinline)) show_stackframe(const wchar_t msg_level, int frame_count, + int skip_levels) { + debug_shared(msg_level, L"Sorry, but your system does not support backtraces"); +} +#endif // HAVE_BACKTRACE_SYMBOLS + int fgetws2(wcstring *s, FILE *f) { int i = 0; wint_t c; |