X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=common%2Fos_backtrace.cpp;h=c95692bd11a54b6e4bb7d2e7ea44c8b1accef767;hb=d6c02fd58feb2b48be13a2405d0eb738ed62925a;hp=1a555900b2c89f02c386b107757df4f340ce3ed5;hpb=bd9811ff579a0482bfd7d40b1149bcef40ad3d71;p=apitrace diff --git a/common/os_backtrace.cpp b/common/os_backtrace.cpp index 1a55590..c95692b 100644 --- a/common/os_backtrace.cpp +++ b/common/os_backtrace.cpp @@ -30,14 +30,25 @@ */ - #include "os_backtrace.hpp" -#if defined(ANDROID) || defined(__ELF__) - #include +#include #include "os.hpp" +#if defined(ANDROID) +# include +#elif HAVE_BACKTRACE +# include +# include +# include +# include +# include +# include +# include +#endif + + using trace::Id; namespace os { @@ -111,16 +122,8 @@ bool backtrace_is_needed(const char* fname) { return backtraceFunctionNamePrefixes.contain(fname); } -} /* namespace os */ - #if defined(ANDROID) -#include -#include "os.hpp" -#include - -namespace os { - /* The following two declarations are copied from Android sources */ enum DebugTargetKind { @@ -274,21 +277,9 @@ void dump_backtrace() { /* TODO */ } -} /* namespace os */ -/* end ANDROID */ -#elif defined(__ELF__) +#elif HAVE_BACKTRACE -#include -#include -#include -#include -#include -#include - -#include - -namespace os { static char* format(uintptr_t num, int base, char *buf, int maxlen) { @@ -480,8 +471,16 @@ void dump_backtrace() { } -} /* namespace os */ +#else /* !HAVE_BACKTRACE */ -#endif /* __ELF__ */ +std::vector get_backtrace() { + return std::vector(); +} -#endif /* ANDROID or LINUX */ +void dump_backtrace() { +} + +#endif + + +} /* namespace os */