Issue metadata
Sign in to add a comment
|
use lld to build Chrome in ChromeOS |
||||||||||||||||||||||||
Issue descriptionWe want to use lld to build Chrome in ChromeOS.
,
Jul 11
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/2d867de72c42f387bafea9abb08c30d07a0a4e4a commit 2d867de72c42f387bafea9abb08c30d07a0a4e4a Author: Yunlian Jiang <yunlian@google.com> Date: Wed Jul 11 19:13:07 2018 lld: cherry pick smallpie patch. This cherry picks smallpie patch from upstream to enable smallpie on llvm-next version of lld BUG= chromium:862442 TEST=sudo USE="llvm-next" emerge lld clang -fuse-ld=lld a.c -pie -fPIC -Wl,--pack-dyn-relocs=relr Change-Id: If569b2076929c38fd9e4d678529ed01f58f24a9a Reviewed-on: https://chromium-review.googlesource.com/1132526 Commit-Ready: Yunlian Jiang <yunlian@chromium.org> Tested-by: Yunlian Jiang <yunlian@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> [add] https://crrev.com/2d867de72c42f387bafea9abb08c30d07a0a4e4a/sys-devel/lld/files/cherry/b0befbe9bc302945656f58e72429225d934b4837.patch [rename] https://crrev.com/2d867de72c42f387bafea9abb08c30d07a0a4e4a/sys-devel/lld/lld-7.0_pre331547-r2.ebuild
,
Jul 19
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/9e71ff9527123394a8a841081221afca7765773e commit 9e71ff9527123394a8a841081221afca7765773e Author: Yunlian Jiang <yunlian@google.com> Date: Thu Jul 19 18:19:49 2018 lld: support debug fission with thinlto on lld-next This cherry picks an upstream patch commit bd5fbef9c29ce6433a93ddbbf7c4ef185bc1d1d5 Author: Yunlian Jiang <yunlian@google.com> Date: Mon Jul 16 17:55:48 2018 +0000 Support option -plugin-opt=dwo_dir= to support debug fission with thinlto so that we can enable thinlto on ARM boards with lld. BUG= chromium:862442 TEST=sudo USE=llvm-next emerge lld Change-Id: Icb55866959e0d9cffa1f118c3abd6d0bdf83d96b Reviewed-on: https://chromium-review.googlesource.com/1143704 Reviewed-by: Yunlian Jiang <yunlian@chromium.org> Commit-Queue: Yunlian Jiang <yunlian@chromium.org> Tested-by: Yunlian Jiang <yunlian@chromium.org> [rename] https://crrev.com/9e71ff9527123394a8a841081221afca7765773e/sys-devel/lld/lld-7.0_pre331547-r3.ebuild [add] https://crrev.com/9e71ff9527123394a8a841081221afca7765773e/sys-devel/lld/files/cherry/bd5fbef9c29ce6433a93ddbbf7c4ef185bc1d1d5.patch
,
Jul 24
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/230de83577861945e1c23459230d792835a798b2 commit 230de83577861945e1c23459230d792835a798b2 Author: Yunlian Jiang <yunlian@google.com> Date: Tue Jul 24 19:44:24 2018 lld: add a wrapper over the lld binary We may need to add some parameters to lld, to do that, we need to add a wrapper over it. This also adds --no-rosegment to lld because currently breakpad does not work with binaries linked without this flag. BUG= chromium:862442 TEST=clang a.c -fuse-ld=lld works Change-Id: Ib86ff5684676d51bd946d296d072923a65c1cedb Reviewed-on: https://chromium-review.googlesource.com/1144136 Commit-Ready: Yunlian Jiang <yunlian@chromium.org> Tested-by: Yunlian Jiang <yunlian@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> [rename] https://crrev.com/230de83577861945e1c23459230d792835a798b2/sys-devel/lld/lld-7.0_pre331547-r4.ebuild [modify] https://crrev.com/230de83577861945e1c23459230d792835a798b2/sys-devel/lld/files/lld-invoke-name.patch [add] https://crrev.com/230de83577861945e1c23459230d792835a798b2/sys-devel/lld/files/ldwrapper
,
Aug 3
This bug has an owner, thus, it's been triaged. Changing status to "assigned".
,
Aug 30
,
Aug 31
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ea86fcc8f5553a20b7814c406777591264340689 commit ea86fcc8f5553a20b7814c406777591264340689 Author: Yunlian Jiang <yunlian@google.com> Date: Fri Aug 31 12:23:32 2018 lld: add '-z now -z relro --hash-style=gnu' We have these flags on gold, to make it consistant, we need to add then to lld too. BUG= chromium:862442 TEST=chromeos-chrome links with lld Change-Id: I5a37bf4b748f68e8c318474464722c2730de3caa Reviewed-on: https://chromium-review.googlesource.com/1198163 Commit-Ready: Yunlian Jiang <yunlian@chromium.org> Tested-by: Yunlian Jiang <yunlian@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> [rename] https://crrev.com/ea86fcc8f5553a20b7814c406777591264340689/sys-devel/lld/lld-7.0_pre333878-r4.ebuild [modify] https://crrev.com/ea86fcc8f5553a20b7814c406777591264340689/sys-devel/lld/files/ldwrapper
,
Sep 6
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/974a77ce86eb328268f641f1ee129a962717be53 commit 974a77ce86eb328268f641f1ee129a962717be53 Author: Yunlian Jiang <yunlian@google.com> Date: Thu Sep 06 17:34:28 2018 lld: enable smallpie, disable --no-rosegment This sets smallpie as default on lld by adding --pack-dyn-relocs=relr This also removes the flag --no-rosegment because with this flag, chrome failed to start. In addition, breakpad can handle the binary linked with lld without --no-rosegment after CL: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/513610 BUG= chromium:862442 TEST=USE="-gold lld" emerge-samus chrome starts. With --pack-dyn-relocs=relr, chrome size reduced from 176MB to 161MB. Change-Id: Iee3c99ecf96ea8519350a5da3bc9eb8c9359bb90 Reviewed-on: https://chromium-review.googlesource.com/1210982 Commit-Queue: Yunlian Jiang <yunlian@chromium.org> Tested-by: Yunlian Jiang <yunlian@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> [rename] https://crrev.com/974a77ce86eb328268f641f1ee129a962717be53/sys-devel/lld/lld-7.0_pre333878-r5.ebuild [modify] https://crrev.com/974a77ce86eb328268f641f1ee129a962717be53/sys-devel/lld/files/ldwrapper
,
Sep 13
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/a3bc7a48fe88dccfe922b4d2f7886f3a416fbcec commit a3bc7a48fe88dccfe922b4d2f7886f3a416fbcec Author: Yunlian Jiang <yunlian@google.com> Date: Thu Sep 13 13:14:24 2018 chromeos-chrome: do not pass -fuse-ld=lld when USE="lld" When USE="lld -gld" is set, we set use_lld=$(usetf lld) in chrome configure. As a result, there is no need to set '-fuse-ld=lld' in the ebuild file. It also fixes issues on llvm-next host/brotli failed with exit code -11 BUG= chromium:862442 TEST=USE="-gold lld" emerge-samus chromeos-chrome Change-Id: I3391be106d28171a471322b8708c8756f8e3c903 Reviewed-on: https://chromium-review.googlesource.com/1220593 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/a3bc7a48fe88dccfe922b4d2f7886f3a416fbcec/chromeos-base/chromeos-chrome/chromeos-chrome-9999.ebuild
,
Sep 13
,
Sep 18
,
Sep 27
,
Oct 24
,
Oct 24
,
Dec 11
,
Dec 21
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/chromite/+/fa5cbe8e521f3c878983954159afad12a1f6e61a commit fa5cbe8e521f3c878983954159afad12a1f6e61a Author: Caroline Tice <cmtice@google.com> Date: Fri Dec 21 02:06:16 2018 SimpleChrome: Update GN args to make LLD default linker for Chrome. LLD has been the default linker for Chrome in Chrome OS for nearly two weeks. It is blocked from automatically becoming the default linker in Simple Chrome by crosbug/913317. This forces LLD to be the linker for Chrome, until that bug can be fixed. BUG= chromium:862442 TEST=LLD has been used for building Chrome in Chrome OS for two weeks. Change-Id: I3e596f088dbf69c4288906fe375a1db3ddce7555 Reviewed-on: https://chromium-review.googlesource.com/1387171 Commit-Ready: Caroline Tice <cmtice@chromium.org> Tested-by: Caroline Tice <cmtice@chromium.org> Reviewed-by: Luis Lozano <llozano@chromium.org> [modify] https://crrev.com/fa5cbe8e521f3c878983954159afad12a1f6e61a/cli/cros/cros_chrome_sdk.py
,
Dec 22
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/chromite/+/2c70338572204ba8c265f015b3097d1e60a699c1 commit 2c70338572204ba8c265f015b3097d1e60a699c1 Author: Caroline Tice <cmtice@chromium.org> Date: Sat Dec 22 00:50:27 2018 Revert "SimpleChrome: Update GN args to make LLD default linker for Chrome." This reverts commit fa5cbe8e521f3c878983954159afad12a1f6e61a. Reason for revert: Seems to be causing bad images in Chrome OS using simple-chrome-built images (see https://bugs.chromium.org/p/chromium/issues/detail?id=917504). Original change's description: > SimpleChrome: Update GN args to make LLD default linker for Chrome. > > LLD has been the default linker for Chrome in Chrome OS for > nearly two weeks. It is blocked from automatically becoming the > default linker in Simple Chrome by crosbug/913317. This forces > LLD to be the linker for Chrome, until that bug can be fixed. > > BUG= chromium:862442 > TEST=LLD has been used for building Chrome in Chrome OS for two > weeks. > > Change-Id: I3e596f088dbf69c4288906fe375a1db3ddce7555 > Reviewed-on: https://chromium-review.googlesource.com/1387171 > Commit-Ready: Caroline Tice <cmtice@chromium.org> > Tested-by: Caroline Tice <cmtice@chromium.org> > Reviewed-by: Luis Lozano <llozano@chromium.org> Bug: chromium:862442 Change-Id: I8559830759eec480fa79f74d6e40d2d8c4fd4c90 Reviewed-on: https://chromium-review.googlesource.com/c/1389515 Reviewed-by: Luis Lozano <llozano@chromium.org> Tested-by: Caroline Tice <cmtice@chromium.org> Trybot-Ready: Caroline Tice <cmtice@chromium.org> [modify] https://crrev.com/2c70338572204ba8c265f015b3097d1e60a699c1/cli/cros/cros_chrome_sdk.py |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by bugdroid1@chromium.org
, Jul 11