Bug#888877: llvm-toolchain-6.0: FTBFS on arm64: /usr/bin/ld.gold: unsupported TLSLE reloc 549 in shared code

Emilio Pozuelo Monfort pochu at debian.org
Tue Jan 30 19:57:38 UTC 2018


Source: llvm-toolchain-6.0
Version: 1:6.0~+rc1-1
Severity: serious

Hi,

There are old 6.0 binaries lying around from old llvm-toolchain-snapshot
versions, so this is RC as those binaries will prevent llvm-toolchain-6.0
from migrating to testing.

[ 42%] Linking CXX shared library ../../../../lib/clang/6.0.0/lib/linux/libclang_rt.hwasan-aarch64.so
cd "/<<BUILDDIR>>/llvm-toolchain-6.0-6.0~+rc1/build-llvm/projects/compiler-rt/lib/hwasan" && /usr/bin/cmake -E cmake_link_script CMakeFiles/clang_rt.hwasan-dynamic-aarch64.dir/link.txt --verbose=1
/usr/bin/g++-7 -fPIC -std=c++0x -fuse-ld=gold -Wl,--no-keep-files-mapped -Wl,--no-map-whole-files -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment -ffunction-sections -fdata-sections -Wall -std=c++11 -Wno-unused-parameter -O2 -DNDEBUG  -march=armv8-a -nodefaultlibs -Wl,--version-script,/<<BUILDDIR>>/llvm-toolchain-6.0-6.0~+rc1/build-llvm/projects/compiler-rt/lib/hwasan/clang_rt.hwasan-dynamic-aarch64.vers -Wl,-z,relro -Wl,-z,defs -Wl,-z,nodelete -shared -Wl,-soname,libclang_rt.hwasan-aarch64.so -o ../../../../lib/clang/6.0.0/lib/linux/libclang_rt.hwasan-aarch64.so CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan.cc.o CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_allocator.cc.o CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_linux.cc.o CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_report.cc.o CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_thread.cc.o CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_poisoning.cc.o ../interception/CMakeFiles/RTInterception.aarch64.dir/interception_linux.cc.o ../interception/CMakeFiles/RTInterception.aarch64.dir/interception_mac.cc.o ../interception/CMakeFiles/RTInterception.aarch64.dir/interception_win.cc.o ../interception/CMakeFiles/RTInterception.aarch64.dir/interception_type_test.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_allocator.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_common.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_deadlock_detector1.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_deadlock_detector2.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_errno.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_file.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_flags.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_flag_parser.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_fuchsia.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_libc.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_libignore.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_linux.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_linux_s390.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_mac.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_persistent_allocator.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_platform_limits_linux.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_platform_limits_netbsd.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_platform_limits_posix.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_platform_limits_solaris.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_posix.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_printf.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_procmaps_common.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_procmaps_freebsd.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_procmaps_linux.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_procmaps_mac.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_procmaps_solaris.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_solaris.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_stackdepot.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_stacktrace.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_stacktrace_printer.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_stoptheworld_mac.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_suppressions.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_symbolizer.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_symbolizer_fuchsia.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_symbolizer_libbacktrace.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_symbolizer_mac.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_symbolizer_win.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_tls_get_addr.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_thread_registry.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_win.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_linux_x86_64.S.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_linux_mips64.S.o ../sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_termination.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_common_libcdep.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_allocator_checks.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sancov_flags.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_coverage_fuchsia.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_coverage_libcdep_new.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_coverage_win_sections.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_linux_libcdep.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_mac_libcdep.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_posix_libcdep.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_stacktrace_libcdep.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_stoptheworld_linux_libcdep.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_symbolizer_libcdep.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_symbolizer_posix_libcdep.cc.o ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_unwind_linux_libcdep.cc.o ../ubsan/CMakeFiles/RTUbsan.aarch64.dir/ubsan_diag.cc.o ../ubsan/CMakeFiles/RTUbsan.aarch64.dir/ubsan_init.cc.o ../ubsan/CMakeFiles/RTUbsan.aarch64.dir/ubsan_flags.cc.o ../ubsan/CMakeFiles/RTUbsan.aarch64.dir/ubsan_handlers.cc.o ../ubsan/CMakeFiles/RTUbsan.aarch64.dir/ubsan_value.cc.o CMakeFiles/RTHwasan_dynamic_version_script_dummy.aarch64.dir/dummy.cc.o -lstdc++ -lgcc_s -lc -ldl -lrt -lm -lpthread 
/usr/bin/ld.gold: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/bin/ld.gold: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
[...]
/<<BUILDDIR>>/llvm-toolchain-6.0-6.0~+rc1/projects/compiler-rt/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2175: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/bin/ld.gold: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/<<BUILDDIR>>/llvm-toolchain-6.0-6.0~+rc1/projects/compiler-rt/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2175: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/bin/ld.gold: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
[...]
collect2: error: ld returned 1 exit status

Full logs on https://buildd.debian.org/status/logs.php?pkg=llvm-toolchain-6.0&arch=arm64

Emilio

-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (800, 'unstable'), (700, 'experimental'), (650, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, armhf

Kernel: Linux 4.14.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8), LANGUAGE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled



More information about the Pkg-llvm-team mailing list