From 216b888cf09bef42b3afa32c62538bbed6dabb87 Mon Sep 17 00:00:00 2001
From: Ismael Luceno <ismael@iodev.co.uk>
Date: Sat, 1 Apr 2023 00:06:05 +0200
Subject: [PATCH 4/5] Avoid backtrace in non-glibc Linux systems

This is not part of the libc and requires linking against an external
implementation.

Upstream-Status: Inappropriate [CLA involved]
Signed-off-by: Ismael Luceno <ismael@iodev.co.uk>
---
 src/Standard/Standard_StackTrace.cxx | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/Standard/Standard_StackTrace.cxx b/src/Standard/Standard_StackTrace.cxx
index 271c7e2b3b4e..23bb262b1491 100644
--- a/src/Standard/Standard_StackTrace.cxx
+++ b/src/Standard/Standard_StackTrace.cxx
@@ -29,6 +29,8 @@
   //#include <unwind.h>
 #elif defined(__QNX__)
   //#include <backtrace.h> // requires linking to libbacktrace
+#elif defined(__linux__) && !(defined(__GLIBC__) || defined(__UCLIBC__))
+  // requires linking against libexecinfo
 #elif !defined(_WIN32) && !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
   #include <execinfo.h>
 #elif defined(_WIN32) && !defined(OCCT_UWP)
@@ -203,6 +205,9 @@ Standard_Boolean Standard::StackTrace (char* theBuffer,
 #elif defined(__ANDROID__)
   Message::SendTrace ("Standard::StackTrace() is not implemented for this platform");
   return false;
+#elif defined(__linux__) && !(defined(__GLIBC__) || defined(__UCLIBC__))
+  Message::SendTrace ("Standard::StackTrace() is not implemented for this platform");
+  return false;
 #elif defined(__QNX__)
   // bt_get_backtrace()
   Message::SendTrace ("Standard::StackTrace() is not implemented for this platform");
-- 
2.40.0

