[PATCH] D58651: [NFC][Sanitizer] Pull up GetStackTrace into sanitizer_common

Julian Lettner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 27 15:49:49 PST 2019


yln added a comment.

This introduced the following linker error on some architectures (including ARM).
Attempt to fix: https://github.com/llvm/llvm-project/commit/52b751088b11547e0f4ef0589ebbe5e57752c68c

[2155/3703] Linking CXX shared library lib/clang/9.0.0/lib/linux/libclang_rt.scudo-armhf.so
FAILED: lib/clang/9.0.0/lib/linux/libclang_rt.scudo-armhf.so 
: && /usr/local/bin/c++  -fPIC -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color -ffunction-sections -fdata-sections -Wall -std=c++11 -Wno-unused-parameter -O3  -Wl,-z,defs -Wl,-z,nodelete   -march=armv7-a -mfloat-abi=hard -nodefaultlibs -Wl,--gc-sections -Wl,-rpath-link,/home/buildslave/buildslave/clang-cmake-armv8-full/stage1/./lib -shared -Wl,-soname,libclang_rt.scudo-armhf.so -o lib/clang/9.0.0/lib/linux/libclang_rt.scudo-armhf.so projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_allocator.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_common.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_deadlock_detector1.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_deadlock_detector2.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_errno.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_file.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_flags.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_flag_parser.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_fuchsia.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_libc.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_libignore.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_linux.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_linux_s390.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_mac.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_netbsd.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_openbsd.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_persistent_allocator.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_platform_limits_freebsd.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_platform_limits_linux.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_platform_limits_netbsd.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_platform_limits_openbsd.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_platform_limits_posix.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_platform_limits_solaris.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_posix.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_printf.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_procmaps_common.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_procmaps_bsd.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_procmaps_linux.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_procmaps_mac.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_procmaps_solaris.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_rtems.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_solaris.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_stoptheworld_mac.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_suppressions.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_tls_get_addr.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_thread_registry.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_type_traits.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_win.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_linux_x86_64.S.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonNoTermination.armhf.dir/sanitizer_linux_mips64.S.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.armhf.dir/sanitizer_common_libcdep.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.armhf.dir/sanitizer_allocator_checks.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.armhf.dir/sanitizer_linux_libcdep.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.armhf.dir/sanitizer_mac_libcdep.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.armhf.dir/sanitizer_posix_libcdep.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.armhf.dir/sanitizer_stoptheworld_linux_libcdep.cc.o projects/compiler-rt/lib/interception/CMakeFiles/RTInterception.armhf.dir/interception_linux.cc.o projects/compiler-rt/lib/interception/CMakeFiles/RTInterception.armhf.dir/interception_mac.cc.o projects/compiler-rt/lib/interception/CMakeFiles/RTInterception.armhf.dir/interception_win.cc.o projects/compiler-rt/lib/interception/CMakeFiles/RTInterception.armhf.dir/interception_type_test.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.armhf.dir/sancov_flags.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.armhf.dir/sanitizer_coverage_fuchsia.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.armhf.dir/sanitizer_coverage_libcdep_new.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.armhf.dir/sanitizer_coverage_win_sections.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.armhf.dir/sanitizer_allocator_report.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.armhf.dir/sanitizer_stackdepot.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.armhf.dir/sanitizer_stacktrace.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.armhf.dir/sanitizer_stacktrace_libcdep.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.armhf.dir/sanitizer_stacktrace_printer.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.armhf.dir/sanitizer_stacktrace_sparc.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.armhf.dir/sanitizer_symbolizer.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.armhf.dir/sanitizer_symbolizer_libbacktrace.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.armhf.dir/sanitizer_symbolizer_libcdep.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.armhf.dir/sanitizer_symbolizer_mac.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.armhf.dir/sanitizer_symbolizer_markup.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.armhf.dir/sanitizer_symbolizer_posix_libcdep.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.armhf.dir/sanitizer_symbolizer_report.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.armhf.dir/sanitizer_symbolizer_win.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.armhf.dir/sanitizer_unwind_linux_libcdep.cc.o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.armhf.dir/sanitizer_unwind_win.cc.o projects/compiler-rt/lib/ubsan/CMakeFiles/RTUbsan.armhf.dir/ubsan_diag.cc.o projects/compiler-rt/lib/ubsan/CMakeFiles/RTUbsan.armhf.dir/ubsan_init.cc.o projects/compiler-rt/lib/ubsan/CMakeFiles/RTUbsan.armhf.dir/ubsan_flags.cc.o projects/compiler-rt/lib/ubsan/CMakeFiles/RTUbsan.armhf.dir/ubsan_handlers.cc.o projects/compiler-rt/lib/ubsan/CMakeFiles/RTUbsan.armhf.dir/ubsan_monitor.cc.o projects/compiler-rt/lib/ubsan/CMakeFiles/RTUbsan.armhf.dir/ubsan_value.cc.o projects/compiler-rt/lib/scudo/CMakeFiles/clang_rt.scudo-dynamic-armhf.dir/scudo_allocator.cpp.o projects/compiler-rt/lib/scudo/CMakeFiles/clang_rt.scudo-dynamic-armhf.dir/scudo_crc32.cpp.o projects/compiler-rt/lib/scudo/CMakeFiles/clang_rt.scudo-dynamic-armhf.dir/scudo_errors.cpp.o projects/compiler-rt/lib/scudo/CMakeFiles/clang_rt.scudo-dynamic-armhf.dir/scudo_flags.cpp.o projects/compiler-rt/lib/scudo/CMakeFiles/clang_rt.scudo-dynamic-armhf.dir/scudo_malloc.cpp.o projects/compiler-rt/lib/scudo/CMakeFiles/clang_rt.scudo-dynamic-armhf.dir/scudo_termination.cpp.o projects/compiler-rt/lib/scudo/CMakeFiles/clang_rt.scudo-dynamic-armhf.dir/scudo_tsd_exclusive.cpp.o projects/compiler-rt/lib/scudo/CMakeFiles/clang_rt.scudo-dynamic-armhf.dir/scudo_tsd_shared.cpp.o projects/compiler-rt/lib/scudo/CMakeFiles/clang_rt.scudo-dynamic-armhf.dir/scudo_utils.cpp.o projects/compiler-rt/lib/scudo/CMakeFiles/clang_rt.scudo-dynamic-armhf.dir/scudo_new_delete.cpp.o  -lgcc_s -lc -ldl -lrt -lpthread -lstdc++ -Wl,-rpath,"\$ORIGIN/../lib" && :
projects/compiler-rt/lib/ubsan/CMakeFiles/RTUbsan.armhf.dir/ubsan_diag.cc.o: In function `MaybePrintStackTrace':
/home/buildslave/buildslave/clang-cmake-armv8-full/llvm/projects/compiler-rt/lib/ubsan/ubsan_diag.cc:36: undefined reference to `__sanitizer::GetStackTrace(__sanitizer::BufferedStackTrace*, unsigned long, unsigned long, unsigned long, void*, bool)'
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58651/new/

https://reviews.llvm.org/D58651





More information about the llvm-commits mailing list