New issue
Advanced search Search tips

Issue 779127 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Nov 19
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Task

Blocked on:
issue 779130



Sign in to add a comment

Switch to ld.gold as default for aarch64-cros-linux-gnu toolchain

Project Member Reported by rahulchaudhry@chromium.org, Oct 27 2017

Issue description

We currently have ld.gold as default for i686-pc-linux-gnu, x86_64-cros-linux-gnu, and armv7a-cros-linux-gnueabi toolchains, but ld.bfd as the default linker for the aarch64-cros-linux-gnu toolchain.

This is a tracking bug for switching to ld.gold as default for aarch64-cros-linux-gnu.

 
Blockedon: 779130
CLs for switching to ld.gold in aarch64-cros-linux-gnu toolchain are here:

chromite: https://chromium-review.googlesource.com/#/c/chromiumos/chromite/+/740668
chromiumos-overlay: https://chromium-review.googlesource.com/#/c/chromiumos/overlays/chromiumos-overlay/+/740671

Components: Tools>ChromeOS-Toolchain
This is currently blocked by compiler-rt build with gold as the default linker. The build fails with "unsupported relocs" and "unexpected opcode" errors:

$ sudo emerge cross-aarch64-cros-linux-gnu/compiler-rt
...
Linking CXX shared library ../linux/libclang_rt.hwasan-aarch64.so
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 549 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported TLSLE reloc 551 in shared code.
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2220: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2220: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2230: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2230: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2256: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2256: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2266: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2266: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:3573: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:3574: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:3573: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:3574: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:3555: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:3555: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:3565: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:3565: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:3626: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:3627: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:3626: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:3627: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:3608: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:3608: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:3618: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:3618: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2175: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2175: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2180: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2180: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2186: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2186: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2192: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2192: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 549 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2198: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_HI12
/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/binutils-bin/2.27.0/ld.gold.real: error: CMakeFiles/RTHwasan_dynamic.aarch64.dir/hwasan_interceptors.cc.o: unsupported reloc 551 in non-static TLSLE mode.
/var/tmp/portage/cross-aarch64-cros-linux-gnu/compiler-rt-6.0_pre321490-r2/work/compiler-rt-6.0_pre321490/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:2198: error: unexpected opcode while processing relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/hwasan/CMakeFiles/clang_rt.hwasan-dynamic-aarch64.dir/build.make:217: lib/linux/libclang_rt.hwasan-aarch64.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:4453: lib/hwasan/CMakeFiles/clang_rt.hwasan-dynamic-aarch64.dir/all] Error 2
make: *** [Makefile:128: all] Error 2

There is an upstream bug (https://sourceware.org/bugzilla/show_bug.cgi?id=19041).
If gold does not have a plan to support these relocations, should compiler-rt ebuild be forced to use bfd/lld as linker?
Owner: yunlian@chromium.org
Owner: manojgupta@chromium.org
Reassigning to Manoj as he is working on ARM64 bringup.
Project Member

Comment 8 by bugdroid1@chromium.org, Nov 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/156c39bde4b8b824e45e2210566aee3efc6ba661

commit 156c39bde4b8b824e45e2210566aee3efc6ba661
Author: Manoj Gupta <manojgupta@google.com>
Date: Fri Nov 16 23:10:47 2018

sys-devel/binutils: Make gold the default linker for aarch64-cros-linux-gnu.

Use gold instead of bfd as the default linker for
aarch64-cros-linux-gnu toolchain.

BUG= chromium:779127 
TEST=kevin and kevin64 pass with --latest-toolchain.

Change-Id: I7f47973509ea521de2a3192cb9950d8a5af74b26
Reviewed-on: https://chromium-review.googlesource.com/1338359
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/156c39bde4b8b824e45e2210566aee3efc6ba661/sys-devel/binutils/binutils-9999.ebuild

Project Member

Comment 9 by bugdroid1@chromium.org, Nov 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/a91e38e61cfb76fe278df270fe866890fdc31ac3

commit a91e38e61cfb76fe278df270fe866890fdc31ac3
Author: Manoj Gupta <manojgupta@google.com>
Date: Sat Nov 17 03:50:43 2018

cros_setup_toolchains: Switch aarch64 linker to gold.

Use gold as the default linker for aarch64

BUG= chromium:779127 
TEST=kevin/kevin64 builders passed.

CQ-DEPEND=CL:1338359

Change-Id: Ib2d12d53288a39ac03fb85baf906589fe5650c49
Reviewed-on: https://chromium-review.googlesource.com/1337436
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/a91e38e61cfb76fe278df270fe866890fdc31ac3/scripts/cros_setup_toolchains.py

Status: Verified (was: Assigned)

Sign in to add a comment