diff options
Diffstat (limited to 'databases/mariadb104-server/files/patch-MDEV-15961')
-rw-r--r-- | databases/mariadb104-server/files/patch-MDEV-15961 | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/databases/mariadb104-server/files/patch-MDEV-15961 b/databases/mariadb104-server/files/patch-MDEV-15961 new file mode 100644 index 000000000000..65fb24a2f46d --- /dev/null +++ b/databases/mariadb104-server/files/patch-MDEV-15961 @@ -0,0 +1,50 @@ +MDEV-15961: Fix stacktraces under FreeBSD + +https://jira.mariadb.org/browse/MDEV-15961 +--- mysys/stacktrace.c.orig 2018-07-02 07:34:11 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, size_t 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)) + { |