Cronet build with default args fails an assert |
||||
Issue descriptionSince https://chromium.googlesource.com/chromium/src/+/090bc3fbad2a085f1eaffa27921072e769729377, Cronet builds using the default args from cr_cronet.py fail an assert. We need to either use a lower symbol level or fix the assert. Cronet is much smaller than Chrome and isn't at risk of hitting issue 648948, and doesn't work with component builds.
,
Oct 3 2016
Why does Cronet use non-component build? Can Cronet switch over to component build? I don't really understand the difference between the two.
,
Oct 3 2016
Component builds package every component as a separate dynamic library, whereas cronet build packages them as static libraries and links them into single dynamic library, libcronet.so.
,
Oct 3 2016
Thanks Misha for explaining! torne@, can we change the following assert to skip non-component build? from: (!is_android || android_64bit_target_cpu || is_component_build || symbol_level < 2) to ((!is_android || android_64bit_target_cpu || symbol_level < 2) && is_component_build )
,
Oct 5 2016
No, that would invert the meaning of the assertion. The point of the assertion is to verify that *at least one* of the things that makes the libraries "okay" is true: either building for non-android (other OSes don't have this problem for various reasons), or building for 64-bit (in which case >4gb binaries are fine), or building a component build (where libraries are much smaller), or building with a reduced symbol level. If there's a build time variable for "cronet build" you can simply add this as a fifth case to the assertion, assuming unstripped cronet binaries are not at risk of exceeding 4gb any time soon. If there's not a variable for this, then there's not a really easy solution here: we might just have to add another variable specifically for this purpose (ignore_elf32_limitations=true or similar).
,
Oct 6 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6d32a26068321e5976494501c51a33636a42c13f commit 6d32a26068321e5976494501c51a33636a42c13f Author: xunjieli <xunjieli@chromium.org> Date: Thu Oct 06 16:58:03 2016 Add a ignore_elf32_limitations flag in build/config/compiler/compiler.gni Add a ignore_elf32_limitations flag in build/config/compiler/compiler.gni to turn off assertion for Cronet builds. This CL additionally adds is_clang to the assertion per comment in 648948. BUG= 651887 ,648948 Review-Url: https://codereview.chromium.org/2395603003 Cr-Commit-Position: refs/heads/master@{#423564} [modify] https://crrev.com/6d32a26068321e5976494501c51a33636a42c13f/build/config/compiler/compiler.gni [modify] https://crrev.com/6d32a26068321e5976494501c51a33636a42c13f/components/cronet/tools/cr_cronet.py
,
Oct 6 2016
,
Oct 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6d32a26068321e5976494501c51a33636a42c13f commit 6d32a26068321e5976494501c51a33636a42c13f Author: xunjieli <xunjieli@chromium.org> Date: Thu Oct 06 16:58:03 2016 Add a ignore_elf32_limitations flag in build/config/compiler/compiler.gni Add a ignore_elf32_limitations flag in build/config/compiler/compiler.gni to turn off assertion for Cronet builds. This CL additionally adds is_clang to the assertion per comment in 648948. BUG= 651887 ,648948 Review-Url: https://codereview.chromium.org/2395603003 Cr-Commit-Position: refs/heads/master@{#423564} [modify] https://crrev.com/6d32a26068321e5976494501c51a33636a42c13f/build/config/compiler/compiler.gni [modify] https://crrev.com/6d32a26068321e5976494501c51a33636a42c13f/components/cronet/tools/cr_cronet.py
,
Nov 4 2016
[Automated comment] removing mislabelled merge-merged-2840 |
||||
►
Sign in to add a comment |
||||
Comment 1 by torne@chromium.org
, Oct 3 2016