[llvm-bugs] [Bug 36051] New: [6.0] compiler-rt fails to build on arm64 with ld.gold

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Jan 22 23:53:11 PST 2018


https://bugs.llvm.org/show_bug.cgi?id=36051

            Bug ID: 36051
           Summary: [6.0] compiler-rt fails to build on arm64 with ld.gold
           Product: compiler-rt
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: compiler-rt
          Assignee: unassignedbugs at nondot.org
          Reporter: sylvestre at debian.org
                CC: llvm-bugs at lists.llvm.org
            Blocks: 35804

New regression with 6.0 (doesn't happen with 5.0)

ompiler-rt/lib/hwasan/CMakeFiles/clang_rt.hwasan-dynamic-aarch64.dir/build
make[4]: Entering directory
'/<<BUILDDIR>>/llvm-toolchain-6.0-6.0~+rc1/build-llvm'
[ 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.
/usr/bin/ld.gold: error:
CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported
reloc 549 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_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:2256:
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.
/<<BUILDDIR>>/llvm-toolchain-6.0-6.0~+rc1/projects/compiler-rt/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2266:
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:2266:
error: unexpected opcode while processing relocation
R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
collect2: error: ld returned 1 exit status
projects/compiler-rt/lib/hwasan/CMakeFiles/clang_rt.hwasan-dynamic-aarch64.dir/build.make:219:
recipe for target 'lib/clang/6.0.0/lib/linux/libclang_rt.hwasan-aarch64.so'
failed

Full log:
https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-6.0&arch=arm64&ver=1%3A6.0%7E%2Brc1-1&stamp=1516629020&raw=0


Referenced Bugs:

https://bugs.llvm.org/show_bug.cgi?id=35804
[Bug 35804] [meta] 6.0.0 Release Blockers
-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20180123/a1dca6d1/attachment-0001.html>


More information about the llvm-bugs mailing list