New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 833969 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug
Build-Toolchain



Sign in to add a comment

libclang_rt.builtins-armhf.a (and others) missing from armv7a gnueabihf standalone toolchin

Project Member Reported by alanjones@google.com, Apr 17 2018

Issue description

I have been working on updating my SDK to the latest, and I am failing to link binaries when building with --rtlib=compiler-rt because all the libclang_rt files are missing for armhf (they are present for i386 and x86_64 tho). --rtlib=libgcc is working fine for armv7a. Also, as a sample point, aarch64 seems to include the needed libs.

usr/lib64/clang/7.0.0/lib/linux/libclang_rt.builtins-armhf.a: No such file or directory
clang-7.0: error: linker command failed with exit code 1 (use -v to see invocation)

Maybe this is related to the transition from "gnueabi" to "gnueabihf" in the compiler tuple?

I tried the most recent build (armv7a-cros-linux-gnueabihf-2018.04.16.084905) and this still seems to be the case:

armv7a-cros-linux-gnueabihf-2018.04.16.084905$ find . -name libclang_rt.*|sort
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.asan_cxx-i386.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.asan_cxx-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.asan_cxx-x86_64.a.syms
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.asan-i386.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.asan-i386.so
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.asan-preinit-i386.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.asan-preinit-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.asan-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.asan-x86_64.a.syms
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.asan-x86_64.so
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.builtins-i386.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.builtins-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.cfi_diag-i386.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.cfi_diag-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.cfi-i386.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.cfi-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.dd-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.dfsan-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.dfsan-x86_64.a.syms
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.dyndd-x86_64.so
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.esan-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.esan-x86_64.a.syms
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.fuzzer_no_main-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.fuzzer-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.lsan-i386.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.lsan-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.msan_cxx-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.msan_cxx-x86_64.a.syms
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.msan-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.msan-x86_64.a.syms
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.profile-i386.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.profile-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.safestack-i386.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.safestack-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.scudo_cxx-i386.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.scudo_cxx-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.scudo-i386.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.scudo-i386.so
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.scudo-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.scudo-x86_64.so
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.stats_client-i386.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.stats_client-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.stats-i386.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.stats-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.tsan_cxx-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.tsan_cxx-x86_64.a.syms
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.tsan-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.tsan-x86_64.a.syms
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.ubsan_minimal-i386.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.ubsan_minimal-i386.so
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.ubsan_minimal-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.ubsan_minimal-x86_64.a.syms
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.ubsan_minimal-x86_64.so
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.ubsan_standalone_cxx-i386.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.ubsan_standalone_cxx-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.ubsan_standalone_cxx-x86_64.a.syms
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.ubsan_standalone-i386.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.ubsan_standalone-i386.so
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.ubsan_standalone-x86_64.a
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.ubsan_standalone-x86_64.a.syms
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.ubsan_standalone-x86_64.so
./usr/lib64/clang/7.0.0/lib/linux/libclang_rt.xray-x86_64.a

 
Cc: llozano@chromium.org
Components: -OS>Packages Tools>ChromeOS-Toolchain
Owner: manojgupta@chromium.org
Labels: OS-Chrome
Please use armv7a-cros-linux-gnueabi tuple for now i.e. w/o hf. It is a hard float config in Chrome OS even though the tuple is missing hf suffix.
There was some effort to move to the more obvious tuple armv7a-cros-linux-gnueabihf work in the past but I don't know if there has been any progress.
Labels: -Pri-2 Pri-3
Thanks, that does seem to avoid the issue. Since I saw the gnueabihf packages show up, I naively assumed something meaningful had changed in the non-hf labeled package.

Maybe we should stop publishing the gnueabihf SDK until it is ready?

Comment 4 by vapier@chromium.org, Apr 25 2018

Summary: libclang_rt.builtins-armhf.a (and others) missing from armv7a gnueabihf standalone toolchin (was: libclang_rt.builtins-armhf.a (and others) missing from armv7a SDK)
Owner: yunlian@chromium.org
Assign to Yunlian who was working on gnueabi -> gnueabihf migration.
Project Member

Comment 6 by bugdroid1@chromium.org, May 4 2018

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

commit 36f3524216e5a43c3e20db44c63cba97b0b75c70
Author: Yunlian Jiang <yunlian@google.com>
Date: Fri May 04 10:02:41 2018

cros_setup_toolchain: install compiler-rt for armv7a-cros-linux-gnueabihf

The armv7a-cros-linux-gnueabi is actually the same with armv7a-cros-linux-gnueabihf with
different names for ChromeOS. So armv7a-cros-linux-gnueabi/compiler-rt and
armv7a-cros-linux-gnueabihf/compiler-rt produce the same contents.
To avoid file installation conflict, we did not install anything for
armv7a-cros-linux-gnueabihf/compiler-rt. This makes the compier-rt is
missing in standalone toolchain.
This CL copies the content of armv7a-cros-linux-gnueabi/compiler-rt when
creating standalone armv7a-cros-linux-gnueabihf toolchain.

BUG= chromium:833969 
TEST=compiler-rt is installed into  armv7a-cros-linux-gnueabihf

Change-Id: I4f123582b1aa5ff9f7f5cd710911dbb588d98644
Reviewed-on: https://chromium-review.googlesource.com/1033188
Commit-Ready: Yunlian Jiang <yunlian@chromium.org>
Tested-by: Yunlian Jiang <yunlian@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>

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

Project Member

Comment 7 by bugdroid1@chromium.org, May 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c273f1f53ff31a94877e779fa6cad189645a1f52

commit c273f1f53ff31a94877e779fa6cad189645a1f52
Author: chromite-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <chromite-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Fri May 04 14:38:20 2018

Roll src/third_party/chromite/ 8672346ad..abd74feb3 (2 commits)

https://chromium.googlesource.com/chromiumos/chromite.git/+log/8672346ad7ce..abd74feb3dc4

$ git log 8672346ad..abd74feb3 --date=short --no-merges --format='%ad %ae %s'
2018-04-26 rrangel cros_gdb: Pass extra gdb args when running in remote mode
2018-04-27 yunlian cros_setup_toolchain: install compiler-rt for armv7a-cros-linux-gnueabihf

Created with:
  roll-dep src/third_party/chromite
BUG=chromium:none,chromium:833969


The AutoRoll server is located here: https://chromite-chromium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=chrome-os-gardeners@chromium.org

Change-Id: I0d0418b6c529c1da25a7b186e2e98e411b9ae959
Reviewed-on: https://chromium-review.googlesource.com/1043659
Reviewed-by: Chromite Chromium Autoroll <chromite-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: Chromite Chromium Autoroll <chromite-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#556046}
[modify] https://crrev.com/c273f1f53ff31a94877e779fa6cad189645a1f52/DEPS

Status: Verified (was: Untriaged)

Sign in to add a comment