From 770b169e2e2c96f59a4be8890d638e1b35869dd8 Mon Sep 17 00:00:00 2001 From: Curtis Vogt Date: Sun, 17 Jan 2021 14:00:46 -0600 Subject: [PATCH] Add SUPPORT_UNWIND_FORCE_DWARF flag to be compatible with BB --- Make.inc | 2 ++ src/stackwalk.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/Make.inc b/Make.inc index 2bbc741587d12..b12f80fa01fdc 100644 --- a/Make.inc +++ b/Make.inc @@ -1022,6 +1022,8 @@ else ifeq ($(OS),Darwin) LIBUNWIND:=-lunwind JCPPFLAGS+=-DLLVMLIBUNWIND +# The BinaryBuilder version of LLVM libunwind currently doesn't have the patch to support forcing DWARF +#JCPPFLAGS+=-DSUPPORT_UNWIND_FORCE_DWARF else LIBUNWIND:=-lunwind endif diff --git a/src/stackwalk.c b/src/stackwalk.c index bedddec9e87dd..e941595a2a720 100644 --- a/src/stackwalk.c +++ b/src/stackwalk.c @@ -552,7 +552,11 @@ NOINLINE size_t rec_backtrace_ctx_dwarf(jl_bt_element_t *bt_data, size_t maxsize { size_t bt_size = 0; bt_cursor_t cursor; + #ifdef SUPPORT_UNWIND_FORCE_DWARF if (unw_init_local_dwarf(&cursor, context) != UNW_ESUCCESS) + #else + if (unw_init_local(&cursor, context) != UNW_ESUCCESS) + #endif return 0; jl_unw_stepn(&cursor, bt_data, &bt_size, NULL, maxsize, 0, &pgcstack, 1); return bt_size;