Issue metadata
Sign in to add a comment
|
Arm64 chrome cannot be built with lld |
||||||||||||||||||||||
Issue descriptionIf I build chrome with USE="lld -gold", some of the unit test binaries fail to link. chromeos-chrome-72.0.3612.0_rc-r1: FAILED: video_decode_accelerator_unittest chromeos-chrome-72.0.3612.0_rc-r1: python "../../../../../../../home/chrome-bot/chrome_root/src/build/toolchain/gcc_link_wrapper.py" --output="./video_decode_accelerator_unittest" -- aarch64-cros-linux-gnu-clang++ -Wl,--fatal-warnings -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--as-needed -fuse-ld=lld -Wl,-z,max-page-size=4096 -Wl,--icf=all -Wl,--color-diagnostics -flto=thin -Wl,--thinlto-jobs=8 -Wl,--thinlto-cache-dir=thinlto-cache -Wl,--thinlto-cache-policy,cache_size=10\%:cache_size_bytes=10g:cache_size_files=100000 -Wl,--lto-O2 -fwhole-program-vtables --target=aarch64-linux-gnu -Wl,-O2 -Wl,--gc-sections -Wl,--gdb-index --sysroot=../../../../../../../build/kevin64 -L../../../../../../../build/kevin64/lib64 -Wl,-rpath-link=../../../../../../../build/kevin64/lib64 -L../../../../../../../build/kevin64/usr/lib64 -Wl,-rpath-link=../../../../../../../build/kevin64/usr/lib64 -L../../../../../../../build/kevin64/usr/local/lib64 -Wl,-rpath-link=../../../../../../../build/kevin64/usr/local/lib64 -L../../../../../../../build/kevin64/lib -Wl,-rpath-link=../../../../../../../build/kevin64/lib -L../../../../../../../build/kevin64/usr/lib -Wl,-rpath-link=../../../../../../../build/kevin64/usr/lib -L../../../../../../../build/kevin64/usr/local/lib -Wl,-rpath-link=../../../../../../../build/kevin64/usr/local/lib -L../../../../../../../build/kevin64/usr/aarch64-cros-linux-gnu/lib -Wl,-rpath-link=../../../../../../../build/kevin64/usr/aarch64-cros-linux-gnu/lib -fsanitize=cfi-vcall -fsanitize=cfi-derived-cast -fsanitize=cfi-unrelated-cast -pie -Wl,-rpath-link=. -Wl,--disable-new-dtags -L/build/kevin64/usr/lib64 -L/build/kevin64/usr/lib -Wl,-O2 -Wl,--as-needed -stdlib=libc++ -Wl,-plugin-opt,-import-instr-limit=30 -o "./video_decode_accelerator_unittest" -Wl,--start-group @"./video_decode_accelerator_unittest.rsp" -Wl,--end-group -ldl -lpthread -lrt -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lasound -lcras -ldbus-1 -lexpat -lfontconfig -ldrm -lsync -lm -lz -lresolv -lEGL -lGLESv2 -lxkbcommon -lgestures -levdev -lgbm -lpci chromeos-chrome-72.0.3612.0_rc-r1: lld.real: [0;1;31merror: [0mfound local symbol '__bss_start' in global part of symbol table in file ../../../../../../../build/kevin64/usr/lib64/libEGL.so chromeos-chrome-72.0.3612.0_rc-r1: lld.real: [0;1;31merror: [0mfound local symbol '_end' in global part of symbol table in file ../../../../../../../build/kevin64/usr/lib64/libEGL.so chromeos-chrome-72.0.3612.0_rc-r1: lld.real: [0;1;31merror: [0mfound local symbol '_edata' in global part of symbol table in file ../../../../../../../build/kevin64/usr/lib64/libEGL.so chromeos-chrome-72.0.3612.0_rc-r1: clang-8: error: linker command failed with exit code 1 (use -v to see invocation) chromeos-chrome-72.0.3612.0_rc-r1: chromeos-chrome-72.0.3612.0_rc-r1: [18/1309] LINK ./test_ime_driver.service[K chromeos-chrome-72.0.3612.0_rc-r1: FAILED: test_ime_driver.service chromeos-chrome-72.0.3612.0_rc-r1: python "../../../../../../../home/chrome-bot/chrome_root/src/build/toolchain/gcc_link_wrapper.py" --output="./test_ime_driver.service" -- aarch64-cros-linux-gnu-clang++ -Wl,--fatal-warnings -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--as-needed -fuse-ld=lld -Wl,-z,max-page-size=4096 -Wl,--icf=all -Wl,--color-diagnostics -flto=thin -Wl,--thinlto-jobs=8 -Wl,--thinlto-cache-dir=thinlto-cache -Wl,--thinlto-cache-policy,cache_size=10\%:cache_size_bytes=10g:cache_size_files=100000 -Wl,--lto-O2 -fwhole-program-vtables --target=aarch64-linux-gnu -Wl,-O2 -Wl,--gc-sections -Wl,--gdb-index --sysroot=../../../../../../../build/kevin64 -L../../../../../../../build/kevin64/lib64 -Wl,-rpath-link=../../../../../../../build/kevin64/lib64 -L../../../../../../../build/kevin64/usr/lib64 -Wl,-rpath-link=../../../../../../../build/kevin64/usr/lib64 -L../../../../../../../build/kevin64/usr/local/lib64 -Wl,-rpath-link=../../../../../../../build/kevin64/usr/local/lib64 -L../../../../../../../build/kevin64/lib -Wl,-rpath-link=../../../../../../../build/kevin64/lib -L../../../../../../../build/kevin64/usr/lib -Wl,-rpath-link=../../../../../../../build/kevin64/usr/lib -L../../../../../../../build/kevin64/usr/local/lib -Wl,-rpath-link=../../../../../../../build/kevin64/usr/local/lib -L../../../../../../../build/kevin64/usr/aarch64-cros-linux-gnu/lib -Wl,-rpath-link=../../../../../../../build/kevin64/usr/aarch64-cros-linux-gnu/lib -fsanitize=cfi-vcall -fsanitize=cfi-derived-cast -fsanitize=cfi-unrelated-cast -pie -Wl,-rpath-link=. -Wl,--disable-new-dtags -L/build/kevin64/usr/lib64 -L/build/kevin64/usr/lib -Wl,-O2 -Wl,--as-needed -stdlib=libc++ -Wl,-plugin-opt,-import-instr-limit=30 -o "./test_ime_driver.service" -Wl,--start-group @"./test_ime_driver.service.rsp" -Wl,--end-group -ldl -lpthread -lrt -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lfontconfig -lexpat -ldrm -lsync -lxkbcommon -ldbus-1 -lresolv -lm -lz -lgestures -levdev -lgbm -lpci -lasound -lcras -lEGL -lGLESv2 chromeos-chrome-72.0.3612.0_rc-r1: lld.real: [0;1;31merror: [0mfound local symbol '__bss_start' in global part of symbol table in file ../../../../../../../build/kevin64/usr/lib64/libEGL.so chromeos-chrome-72.0.3612.0_rc-r1: lld.real: [0;1;31merror: [0mfound local symbol '_end' in global part of symbol table in file ../../../../../../../build/kevin64/usr/lib64/libEGL.so chromeos-chrome-72.0.3612.0_rc-r1: lld.real: [0;1;31merror: [0mfound local symbol '_edata' in global part of symbol table in file ../../../../../../../build/kevin64/usr/lib64/libEGL.so chromeos-chrome-72.0.3612.0_rc-r1: clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
,
Dec 7
,
Dec 11
That error is actually a warning, so you might be able to work around it by setting fatal_linker_warnings to false in gn.
,
Dec 11
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/72b73ae9726e589a82762c34a8978184e9a7f097 commit 72b73ae9726e589a82762c34a8978184e9a7f097 Author: Manoj Gupta <manojgupta@google.com> Date: Tue Dec 11 00:38:19 2018 kevin64: Force gold linker for chrome. lld currently cannot link chrome because of errors reported with mali-drivers. BUG=chromium:913071 TEST=gold is used as linker Change-Id: I8c768ec6c1616ff8dd7bd8ae7426862b32a86c78 Reviewed-on: https://chromium-review.googlesource.com/c/1370560 Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Trybot-Ready: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Caroline Tice <cmtice@chromium.org> [add] https://crrev.com/72b73ae9726e589a82762c34a8978184e9a7f097/overlay-kevin64/profiles/base/package.use
,
Dec 11
Thanks Peter, I'll test if disabling fatal_linker_warnings works.
,
Dec 13
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/8e68df72075a061dff612250fca2d7c351939f31 commit 8e68df72075a061dff612250fca2d7c351939f31 Author: Manoj Gupta <manojgupta@google.com> Date: Thu Dec 13 01:04:50 2018 chromeos-chrome: Disable linker fatal warnings on lld/arm64. BUG=chromium:913071 TEST=No more lld errors on arm64 when linking Chrome. Change-Id: I0ca4123967630cb1e6a6e1dc4d3df14d0b02e80a Reviewed-on: https://chromium-review.googlesource.com/1372289 Commit-Ready: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Caroline Tice <cmtice@chromium.org> [modify] https://crrev.com/8e68df72075a061dff612250fca2d7c351939f31/chromeos-base/chromeos-chrome/chromeos-chrome-9999.ebuild
,
Dec 13
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/15a1eff80f9b146e99e667d17ef977ab45656db3 commit 15a1eff80f9b146e99e667d17ef977ab45656db3 Author: Manoj Gupta <manojgupta@google.com> Date: Thu Dec 13 21:19:59 2018 kevin64: Drop force gold linker. No need to force lld after disabling fatal warnings. BUG=chromium:913071 TEST=No more lld errors on arm64 when linking Chrome. CQ-DEPEND=CL:1372289 Change-Id: I9ba10ab25bc5fcd4e18155bee937fb9ab5a78c0d Reviewed-on: https://chromium-review.googlesource.com/c/1372768 Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> Reviewed-by: Caroline Tice <cmtice@chromium.org> [delete] https://crrev.com/1ce2ed45d9d0e8900db2433dc6eed4b98b1ba33b/overlay-kevin64/profiles/base/package.use
,
Jan 11
This issue has an owner, a component and a priority, but is still listed as untriaged or unconfirmed. By definition, this bug is triaged. Changing status to "assigned". Please reach out to me if you disagree with how I've done this. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by manojgupta@chromium.org
, Dec 7