|
|
DescriptionAndroid/clang: Always pass --gcc-toolchain, independent of use_gold.
clang uses the same compiler binary no matter what arch it's targeting,
so it needs to know where to find the (arch-dependent) linker. It needs
to know this no matter if the linker is BFD ld or gold.
This is needed to make things link in chrome/android/arm64
builds with clang.
use_gold defaults to true on android for x86, x64, and arm, but not for arm64,
see build/config/compiler/compiler.gni. It also doesn't default to true
for mips, but mips had a special-case branch adding --gcc-toolchain
before this change.
(We should probably use gold in arm64 android builds by default too, but
that's for a different CL.)
BUG=539781
Committed: https://crrev.com/1a11042f1f1a1532bfba1f0cb8fcb9eac23edd06
Cr-Commit-Position: refs/heads/master@{#424441}
Patch Set 1 #
Messages
Total messages: 19 (10 generated)
The CQ bit was checked by thakis@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
thakis@chromium.org changed reviewers: + hans@chromium.org
Not sure who should review this, so cc'ing a bunch of folks. This is needed for arm64 builds of chrome/android with clang. I'm pretty sure this used to work in gyp times. It might've worked in gn until it got broken due to lack of bot coverage, or it might've just never worked in the gn build.
Description was changed from ========== Android/clang: Always pass --gcc-toolchain, independent of use_gold. clang uses the same compiler binary no matter what arch it's targeting, so it needs to know where to find the (arch-dependent) linker. It needs to know this no matter if the linker is BFD ld or gold. (We should probably use gold in arm64 android builds by default too, but that's for a different CL.) BUG=539781 ========== to ========== Android/clang: Always pass --gcc-toolchain, independent of use_gold. clang uses the same compiler binary no matter what arch it's targeting, so it needs to know where to find the (arch-dependent) linker. It needs to know this no matter if the linker is BFD ld or gold. This is needed to make things link in chrome/android/arm64 builds with clang. (We should probably use gold in arm64 android builds by default too, but that's for a different CL.) BUG=539781 ==========
What's arm64-specific about this? Is the reason it worked for 32-bit arm that we always set use_gold=1 in such builds?
On 2016/10/11 14:55:17, hans wrote: > What's arm64-specific about this? Is the reason it worked for 32-bit arm that we > always set use_gold=1 in such builds? Oh sorry, that's not very clear, is it :-) use_gold defaults to true on android for x86, x64, and arm, but not for arm64: https://cs.chromium.org/chromium/src/build/config/compiler/compiler.gni?rcl=0... It also doesn't default to true for mips, but mips had a special-case branch adding --gcc-toolchain before this change.
Description was changed from ========== Android/clang: Always pass --gcc-toolchain, independent of use_gold. clang uses the same compiler binary no matter what arch it's targeting, so it needs to know where to find the (arch-dependent) linker. It needs to know this no matter if the linker is BFD ld or gold. This is needed to make things link in chrome/android/arm64 builds with clang. (We should probably use gold in arm64 android builds by default too, but that's for a different CL.) BUG=539781 ========== to ========== Android/clang: Always pass --gcc-toolchain, independent of use_gold. clang uses the same compiler binary no matter what arch it's targeting, so it needs to know where to find the (arch-dependent) linker. It needs to know this no matter if the linker is BFD ld or gold. This is needed to make things link in chrome/android/arm64 builds with clang. use_gold defaults to true on android for x86, x64, and arm, but not for arm64, see build/config/compiler/compiler.gni. It also doesn't default to true for mips, but mips had a special-case branch adding --gcc-toolchain before this change. (We should probably use gold in arm64 android builds by default too, but that's for a different CL.) BUG=539781 ==========
torne@chromium.org changed reviewers: + torne@chromium.org
Wait, are we still not using gold for arm64? Doesn't that mean we aren't doing tree shaking/etc? We ship those binaries... :/
On 2016/10/11 14:57:44, Nico wrote: > On 2016/10/11 14:55:17, hans wrote: > > What's arm64-specific about this? Is the reason it worked for 32-bit arm that > we > > always set use_gold=1 in such builds? > > Oh sorry, that's not very clear, is it :-) > > use_gold defaults to true on android for x86, x64, and arm, but not for arm64: > https://cs.chromium.org/chromium/src/build/config/compiler/compiler.gni?rcl=0... > > It also doesn't default to true for mips, but mips had a special-case branch > adding --gcc-toolchain before this change. lgtm, thanks for clarifying
On 2016/10/11 15:09:57, Torne wrote: > Wait, are we still not using gold for arm64? Doesn't that mean we aren't doing > tree shaking/etc? We ship those binaries... :/ We aren't. I'm preparing a separate CL to change, that, but this change here is a good change independent of that since --gcc-toolchain should be passed independently of which linker we're using (except maybe for lld, but that might still need to call some gcc binaries for some stuff)
The CQ bit was unchecked by thakis@chromium.org
The CQ bit was checked by thakis@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Failed to apply the patch. On branch working_branch Your branch is up-to-date with 'origin/refs/pending/heads/master'. nothing to commit, working tree clean
Message was sent while issue was closed.
Description was changed from ========== Android/clang: Always pass --gcc-toolchain, independent of use_gold. clang uses the same compiler binary no matter what arch it's targeting, so it needs to know where to find the (arch-dependent) linker. It needs to know this no matter if the linker is BFD ld or gold. This is needed to make things link in chrome/android/arm64 builds with clang. use_gold defaults to true on android for x86, x64, and arm, but not for arm64, see build/config/compiler/compiler.gni. It also doesn't default to true for mips, but mips had a special-case branch adding --gcc-toolchain before this change. (We should probably use gold in arm64 android builds by default too, but that's for a different CL.) BUG=539781 ========== to ========== Android/clang: Always pass --gcc-toolchain, independent of use_gold. clang uses the same compiler binary no matter what arch it's targeting, so it needs to know where to find the (arch-dependent) linker. It needs to know this no matter if the linker is BFD ld or gold. This is needed to make things link in chrome/android/arm64 builds with clang. use_gold defaults to true on android for x86, x64, and arm, but not for arm64, see build/config/compiler/compiler.gni. It also doesn't default to true for mips, but mips had a special-case branch adding --gcc-toolchain before this change. (We should probably use gold in arm64 android builds by default too, but that's for a different CL.) BUG=539781 Committed: https://crrev.com/1a11042f1f1a1532bfba1f0cb8fcb9eac23edd06 Cr-Commit-Position: refs/heads/master@{#424441} ==========
Message was sent while issue was closed.
Patchset 1 (id:??) landed as https://crrev.com/1a11042f1f1a1532bfba1f0cb8fcb9eac23edd06 Cr-Commit-Position: refs/heads/master@{#424441} |