warning about libclang_rt.ios.a missing required architecture arm64 in iOS builds |
|||
Issue descriptionReported on https://chromium-review.googlesource.com/c/582074#message-5e594756289ce75c97921da6e23fc7508cd3bc71 : ld: warning: ignoring file <snip>/src/third_party/llvm-build/Release+Asserts/lib/clang/6.0.0/lib/darwin/libclang_rt.ios.a, missing required architecture arm64 in file <snip>/src/third_party/llvm-build/Release+Asserts/lib/clang/6.0.0/lib/darwin/libclang_rt.ios.a (5 slices) Likely a regression from https://chromium-review.googlesource.com/c/575586/ ; I'm guessing we build only 32-bit arm, not 64-bit arm, and then the linker warns because some but not all arm is present. (More precisely, the driver adds libclang_rt.ios.a to the link line because it exists now, and then the linker warns.) This also blocks rolling clang. We should probably just revert https://chromium-review.googlesource.com/c/575586/ for now to unblock the roll and then figure this out async. (Once it's figured out, we can update clang at the same revision without rolling, to check this test in isolation.) This is less important than the -Wformat stuff and the runtime / signing errors.
,
Jul 24 2017
I don't know! That linker warning is new. If you can repro it locally, and if it goes away after removing third_party/llvm-build/Release+Asserts/lib/clang/6.0.0/lib/darwin/libclang_rt.ios.a, missing required architecture arm64 in file <snip>/src/third_party/llvm-build/Release+Asserts/lib/clang/6.0.0/lib/darwin/libclang_rt.ios.a , then something's going wrong. In that case, we probably should revert until we've figured out what's going on.
,
Jul 24 2017
Alternatively, if this is a non-fatal warning, we could land the roll as-is and see what happens. (I'm not sure why it's non-fatal given we pass -Werror, but maybe ld64 doesn't fully honor -Werror or something.)
,
Jul 24 2017
Testing now, I think we also need AArch64.
,
Jul 24 2017
,
Jul 24 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/be5e4a49be6750de585fde529e80afe46aa9fdd7 commit be5e4a49be6750de585fde529e80afe46aa9fdd7 Author: Justin Cohen <justincohen@google.com> Date: Mon Jul 24 13:11:40 2017 Also build arm64 in clang bootstrap. Ensure libclang_rt.ios.a includes arm64. Bug: 742498 , 747726 Change-Id: Id0dd67c5ad3ebc09cbf597a6ef494295d479df88 Reviewed-on: https://chromium-review.googlesource.com/582548 Commit-Queue: Justin Cohen <justincohen@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#488957} [modify] https://crrev.com/be5e4a49be6750de585fde529e80afe46aa9fdd7/tools/clang/scripts/update.py
,
Jul 24 2017
,
Jul 25 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d1b349921b612c35fa6c8d67443bd8155b790b5b commit d1b349921b612c35fa6c8d67443bd8155b790b5b Author: Nico Weber <thakis@chromium.org> Date: Tue Jul 25 00:58:59 2017 clang: Rebuild binaries. Two changes: 1.) Stop bundling libstdc++.so. This was needed when the bots were still on trusty. Now that they're all on precise, the system libstdc++ is new enough to run clang. The motivation is that clang currently transitively depends on system libicuuc, which depends on a newer libstdc++ than the one we bundle. So currently, clang fails to start on Ubuntu 16+. 2.) Built libclang_rt.ios.a with arm64 code too. TBR=hans Bug: 723919 , 747726 Change-Id: Ie123a2f6c80d539e4a246c5c0073d8560a66b5ba Reviewed-on: https://chromium-review.googlesource.com/582976 Commit-Queue: Nico Weber <thakis@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#489167} [modify] https://crrev.com/d1b349921b612c35fa6c8d67443bd8155b790b5b/base/BUILD.gn [modify] https://crrev.com/d1b349921b612c35fa6c8d67443bd8155b790b5b/build/config/sanitizers/BUILD.gn [modify] https://crrev.com/d1b349921b612c35fa6c8d67443bd8155b790b5b/tools/clang/scripts/package.py [modify] https://crrev.com/d1b349921b612c35fa6c8d67443bd8155b790b5b/tools/clang/scripts/update.py
,
Jul 25 2017
The warning should now be gone; can you verify?
,
Jul 25 2017
Gone: ninja -C out/Release-iphoneos/ chrome ninja: Entering directory `out/Release-iphoneos/' [1/1] Regenerating ninja files [14252/14252] STAMP obj/ios/chrome/app/chrome.stamp |
|||
►
Sign in to add a comment |
|||
Comment 1 by justincohen@chromium.org
, Jul 23 2017