The function is provided by glibc. Nothing prevents us from using our
own outside of glibc there (tested on aarch64 with musl). We still do
not enable it by default as we don't yet know if all archs work well,
but it's sufficient to pass USE_BACKTRACE=1 when building with musl to
verify it's OK.
* than ours.
*/
#ifdef USE_BACKTRACE
-#if defined(__aarch64__)
+#if defined(__linux__) && !defined(__GNU_LIBRARY__)
+/* On Linux, backtrace() is only available in glibc. Others will need the
+ * in-house implementation.
+ */
+#elif defined(__aarch64__)
/* on aarch64 at least from gcc-4.7.4 to 7.4.1 we only get a single entry, which
* is pointless. Ours works though it misses the faulty function itself,
* probably due to an alternate stack for the signal handler which does not