diff options
author | Bert Wesarg <bert.wesarg@tu-dresden.de> | 2019-12-04 16:23:13 +0100 |
---|---|---|
committer | Dave Watson <dade.watson@gmail.com> | 2019-12-04 07:23:13 -0800 |
commit | 5070c90e7245e4c71610c36f00dc525bc3baf474 (patch) | |
tree | 050d5dc5f0eebc7bea3013551ab0237596081ad4 | |
parent | f8a8e41083284b7b65237d93afe311dcaacb7ccc (diff) | |
download | libunwind-5070c90e7245e4c71610c36f00dc525bc3baf474.tar.gz |
Allow to build without weak `backtrace` symbol. (#142)
Signed-off-by: Bert Wesarg <bert.wesarg@tu-dresden.de>
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | src/mi/backtrace.c | 2 | ||||
-rw-r--r-- | tests/check-namespace.sh.in | 2 |
3 files changed, 12 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index 11aeb2d2..b40e36aa 100644 --- a/configure.ac +++ b/configure.ac @@ -147,6 +147,10 @@ AC_ARG_ENABLE(tests, AS_HELP_STRING([--disable-tests],[Disable tests build]),, [enable_tests=yes]) +AC_ARG_ENABLE(weak-backtrace, + AS_HELP_STRING([--disable-weak-backtrace],[Do not provide the weak 'backtrace' symbol.]),, + [enable_weak_backtrace=yes]) + AC_MSG_CHECKING([if we should build libunwind-setjmp]) AC_MSG_RESULT([$enable_setjmp]) @@ -463,6 +467,11 @@ if test "x$enable_tests" = "xyes"; then AC_CONFIG_FILES(tests/Makefile tests/check-namespace.sh) fi +AM_CONDITIONAL([CONFIG_WEAK_BACKTRACE], [test "x$enable_weak_backtrace" = xyes]) +AM_COND_IF([CONFIG_WEAK_BACKTRACE], [ + AC_DEFINE([CONFIG_WEAK_BACKTRACE], [1], [Define if the weak 'backtrace' symbol is provided.]) +]) + AC_CONFIG_FILES(Makefile src/Makefile include/libunwind-common.h include/libunwind.h include/tdep/libunwind_i.h) diff --git a/src/mi/backtrace.c b/src/mi/backtrace.c index 08e12c92..b2815137 100644 --- a/src/mi/backtrace.c +++ b/src/mi/backtrace.c @@ -75,7 +75,9 @@ unw_backtrace (void **buffer, int size) return n; } +#ifdef CONFIG_WEAK_BACKTRACE extern int backtrace (void **buffer, int size) WEAK ALIAS(unw_backtrace); +#endif #endif /* !UNW_REMOTE_ONLY */ diff --git a/tests/check-namespace.sh.in b/tests/check-namespace.sh.in index 5ed94fd2..9807c1d0 100644 --- a/tests/check-namespace.sh.in +++ b/tests/check-namespace.sh.in @@ -121,7 +121,7 @@ check_local_unw_abi () { match _U_dyn_register match unw_backtrace - match backtrace + @CONFIG_WEAK_BACKTRACE_TRUE@match backtrace case ${plat} in arm) |