mirror of
https://git.freebsd.org/ports.git
synced 2025-06-03 03:46:30 -04:00
- Fix build on aarch64 [1] - Fix build with clang6 (HEAD, 11-STABLE) [2] PR: 227628 [1], 227244 [2] Submitted by: Naram Qashat <cyberbotx cyberbotx com> [1] Submitted by: dim
47 lines
1 KiB
Text
47 lines
1 KiB
Text
--- mysys/stacktrace.c.orig 2018-03-26 16:41:18 UTC
|
|
+++ mysys/stacktrace.c
|
|
@@ -34,19 +34,19 @@
|
|
#include <execinfo.h>
|
|
#endif
|
|
|
|
+#ifdef __linux__
|
|
#define PTR_SANE(p) ((p) && (char*)(p) >= heap_start && (char*)(p) <= heap_end)
|
|
-
|
|
static char *heap_start;
|
|
-
|
|
-#if(defined HAVE_BSS_START) && !(defined __linux__)
|
|
extern char *__bss_start;
|
|
-#endif
|
|
+#else
|
|
+#define PTR_SANE(p) (p)
|
|
+#endif /* __linux */
|
|
|
|
void my_init_stacktrace()
|
|
{
|
|
-#if(defined HAVE_BSS_START) && !(defined __linux__)
|
|
+#ifdef __linux__
|
|
heap_start = (char*) &__bss_start;
|
|
-#endif
|
|
+#endif /* __linux__ */
|
|
}
|
|
|
|
#ifdef __linux__
|
|
@@ -149,15 +149,16 @@ static int safe_print_str(const char *ad
|
|
|
|
int my_safe_print_str(const char* val, int max_len)
|
|
{
|
|
+#ifdef __linux__
|
|
+/* Only needed by the linux version of PTR_SANE */
|
|
char *heap_end;
|
|
|
|
-#ifdef __linux__
|
|
// Try and make use of /proc filesystem to safely print memory contents.
|
|
if (!safe_print_str(val, max_len))
|
|
return 0;
|
|
-#endif
|
|
|
|
heap_end= (char*) sbrk(0);
|
|
+#endif
|
|
|
|
if (!PTR_SANE(val))
|
|
{
|