Issue metadata
Sign in to add a comment
|
Files in crosvm are not using compiler-rt |
||||||||||||||||||||||
Issue descriptionFollowing two files are not using libc++. /usr/bin/crosvm /usr/lib64/libqcow_utils.so Seems like these files are built using cargo (from rust).
,
Feb 21 2018
,
Apr 20 2018
Gentle ping, is anyone working on this? We want to avoid any future libgcc dependencies.
,
Apr 20 2018
,
Apr 20 2018
This is available to work on. I haven't looked into it.
,
May 9 2018
,
May 14 2018
,
May 18 2018
I suspect crosvm need to switch to https://crates.io/crates/cc
,
May 18 2018
This is getting more annoying (See https://chromium-review.googlesource.com/c/chromiumos/overlays/board-overlays/+/1063017), let me fix it.
,
May 18 2018
Looks like rust is passing -nodefaultlibs + -lgcc_s in its build that is causing the issue. Unassigning myself since I don't have time to dig into rust build system.
,
May 18 2018
I'll take ownership of this issue.
,
May 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/7f98b54301d0a3afc95e627b0706f6d2c3e5eff9 commit 7f98b54301d0a3afc95e627b0706f6d2c3e5eff9 Author: Manoj Gupta <manojgupta@google.com> Date: Sat May 19 06:07:28 2018 crosvm: Switch to cc crate. We do not want to add dependencies on GCC. Switch to cc crate instead of gcc to honor CC setting. CQ-DEPEND=CL:1066461 BUG=chromium:814480 TEST=emerge-{eve,kevin} crosvm works. Change-Id: I410d866ac3c753030abe3808593cb9ac8ee8fedb Reviewed-on: https://chromium-review.googlesource.com/1066462 Commit-Ready: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Dylan Reid <dgreid@chromium.org> [modify] https://crrev.com/7f98b54301d0a3afc95e627b0706f6d2c3e5eff9/chromeos-base/crosvm/Manifest [modify] https://crrev.com/7f98b54301d0a3afc95e627b0706f6d2c3e5eff9/chromeos-base/crosvm/crosvm-9999.ebuild
,
May 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/crosvm/+/d8f10af6aeaff319f407578cdff1afd0324f5912 commit d8f10af6aeaff319f407578cdff1afd0324f5912 Author: Manoj Gupta <manojgupta@google.com> Date: Sat May 19 06:07:28 2018 crosvm: Switch to cc crate. We do not want to add dependencies on GCC. Switch to cc crate instead of gcc to honor CC setting. CQ-DEPEND=CL:1066462 BUG=chromium:814480 TEST=emerge-{eve,kevin} crosvm works. Change-Id: I4e846b2080503e5617ed66e709f7af5263c98fba Reviewed-on: https://chromium-review.googlesource.com/1066461 Commit-Ready: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org> [modify] https://crrev.com/d8f10af6aeaff319f407578cdff1afd0324f5912/Cargo.lock [modify] https://crrev.com/d8f10af6aeaff319f407578cdff1afd0324f5912/plugin_proto/Cargo.toml [modify] https://crrev.com/d8f10af6aeaff319f407578cdff1afd0324f5912/sys_util/Cargo.toml [modify] https://crrev.com/d8f10af6aeaff319f407578cdff1afd0324f5912/sys_util/build.rs
,
May 21 2018
,
May 21 2018
,
May 21 2018
So this looks harder than I thought. The libstd crate always depends on libwind ( https://github.com/rust-lang/rust/blob/994bfd414138e623f315f4273841b9f006ac72ee/src/libstd/Cargo.toml#L26 ). The libunwind crate always depends on libgcc_s ( https://github.com/rust-lang/rust/blob/68db72d8cd613f88ea69d37bcd159c4ff659aab1/src/libunwind/build.rs#L21 ). The libgcc_s shared object is use to link the _Unwind_* symbols, which are used for backtracing Rust panics. Sadly, using panic=abort as we do for crosvm release builds does not break up this dependency chain. I'm marking this available because I don't have a plan for how to attack this problem.
,
Jul 12
Issue 862825 has been merged into this issue.
,
Jul 12
I have CLs up for review to fix this.
,
Jul 12
Thanks for taking this up!
,
Jul 13
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/063096cfad129d4dcb6dbc188b43bd66986000ba commit 063096cfad129d4dcb6dbc188b43bd66986000ba Author: Manoj Gupta <manojgupta@google.com> Date: Fri Jul 13 18:36:13 2018 llvm-libunwind: Don't test a fully working compiler in cmake tests. libunwind is built before other libraries needed for a fully working compiler are available. BUG=chromium:814480 TEST=libunwind builds locally without libc++ libraries. Change-Id: I204c316fdeaae1870981000b5dabd3047e181aea Reviewed-on: https://chromium-review.googlesource.com/1136809 Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Trybot-Ready: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Caroline Tice <cmtice@chromium.org> [rename] https://crrev.com/063096cfad129d4dcb6dbc188b43bd66986000ba/sys-libs/llvm-libunwind/llvm-libunwind-7.0_pre331547-r1.ebuild
,
Jul 14
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/9fd67b584922ea887c35283ec0bf1b520fb612d1 commit 9fd67b584922ea887c35283ec0bf1b520fb612d1 Author: Chirantan Ekbote <chirantan@chromium.org> Date: Sat Jul 14 00:28:51 2018 perf: Depend on llvm-libunwind instead of libunwind libunwind and llvm-libunwind block each other. cargo needs llvm-libunwind because it uses extra symbols that are not available from libunwind. Instead, change perf to use llvm-libunwind so that we can install both cargo and perf in the sdk. BUG=chromium:814480 TEST=sudo emerge perf Change-Id: I3489fbdaa964a7b27527f06ddea7a7d0a2068c8b Signed-off-by: Chirantan Ekbote <chirantan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1135973 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/9fd67b584922ea887c35283ec0bf1b520fb612d1/dev-util/perf/perf-4.14.ebuild [rename] https://crrev.com/9fd67b584922ea887c35283ec0bf1b520fb612d1/dev-util/perf/perf-4.14-r3.ebuild
,
Jul 14
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/4be3a521c55eb6535d62a179fe2824eb10f4a142 commit 4be3a521c55eb6535d62a179fe2824eb10f4a142 Author: Chirantan Ekbote <chirantan@chromium.org> Date: Sat Jul 14 00:28:50 2018 target-chromium-os-sdk: Depend on llvm-libunwind The rust compiler links against this library. BUG=chromium:814480 TEST=./update_chroot Change-Id: Ie0acee39629af32ffb6527402fa81e90d549d6bc Signed-off-by: Chirantan Ekbote <chirantan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1135995 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> [rename] https://crrev.com/4be3a521c55eb6535d62a179fe2824eb10f4a142/virtual/target-chromium-os-sdk/target-chromium-os-sdk-1-r117.ebuild [modify] https://crrev.com/4be3a521c55eb6535d62a179fe2824eb10f4a142/virtual/target-chromium-os-sdk/target-chromium-os-sdk-1.ebuild
,
Jul 16
Copying current sheriffs
,
Jul 16
why? this isn't an issue the sheriffs need track.
,
Jul 16
I was copying the sherrifs on all bugs I was copied on that seems somewhat relevant. I am removing all of the sherrifs in this post. Thanks!
,
Jul 27
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/chromite/+/e694cadd137def79611fbfe8f21c7f178acddec2 commit e694cadd137def79611fbfe8f21c7f178acddec2 Author: Chirantan Ekbote <chirantan@chromium.org> Date: Fri Jul 27 19:12:54 2018 cros_setup_toolchains: Add llvm-libunwind as an extra package Add llvm-libunwind as an extra llvm package. This is needed so that the rust compiler can link against libunwind instead of libgcc_s. BUG=chromium:814480 TEST=cros_setup_toolchains -t sdk CQ-DEPEND=CL:1135995 Change-Id: I96b5834db0ba116fefb98eb1dc752479436a2a76 Signed-off-by: Chirantan Ekbote <chirantan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1135971 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> [modify] https://crrev.com/e694cadd137def79611fbfe8f21c7f178acddec2/scripts/cros_setup_toolchains.py
,
Jul 28
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/e09dca8275532adb5015f6eacaa97ffc8880f2e7 commit e09dca8275532adb5015f6eacaa97ffc8880f2e7 Author: Chirantan Ekbote <chirantan@chromium.org> Date: Sat Jul 28 05:33:12 2018 rust: Link against libunwind Have the libunwind crate in the rust library link against libunwind instead of libgcc_s. BUG=chromium:814480 TEST=cros_setup_toolchains -t sdk CQ-DEPEND=CL:1135971 Change-Id: Ieada8958743e33b320586db015650e54741a0fcc Signed-off-by: Chirantan Ekbote <chirantan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1135974 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> [rename] https://crrev.com/e09dca8275532adb5015f6eacaa97ffc8880f2e7/dev-lang/rust/rust-1.26.0-r5.ebuild [add] https://crrev.com/e09dca8275532adb5015f6eacaa97ffc8880f2e7/dev-lang/rust/files/0007-link-against-libunwind.patch
,
Jul 28
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/31bb9c35ea40d2b01ded3769eb70f89651e799aa commit 31bb9c35ea40d2b01ded3769eb70f89651e799aa Author: Chirantan Ekbote <chirantan@chromium.org> Date: Sat Jul 28 05:33:13 2018 eclass: Copy cargo.eclass from portage-stable We already forked this eclass from upstream and we need to make more changes to it so first copy it into chromiumos-overlay. BUG=chromium:814480 TEST=emerge-eve crosvm Change-Id: I98512d19a3921d77643afc2805fce96f4094f7e9 Signed-off-by: Chirantan Ekbote <chirantan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1135975 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> [add] https://crrev.com/31bb9c35ea40d2b01ded3769eb70f89651e799aa/eclass/cargo.eclass
,
Jul 28
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/c684d2b8f2b436e3f8fa9a82afe35f535bbb4332 commit c684d2b8f2b436e3f8fa9a82afe35f535bbb4332 Author: Chirantan Ekbote <chirantan@chromium.org> Date: Sat Jul 28 05:33:13 2018 cargo.eclass: Depend on llvm-libunwind Add a dependency on llvm-libunwind for all rust packages. BUG=chromium:814480 TEST=emerge-eve crosvm and ldd crosvm to see that it links against l ibunwind instead of libgcc_s Change-Id: Ie12859bcefb9148eb35a12f85ab27644917cee9a Signed-off-by: Chirantan Ekbote <chirantan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1135976 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> [modify] https://crrev.com/c684d2b8f2b436e3f8fa9a82afe35f535bbb4332/eclass/cargo.eclass
,
Jul 28
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/066c672995800e1792a72dc35b63c5896b8318a6 commit 066c672995800e1792a72dc35b63c5896b8318a6 Author: Chirantan Ekbote <chirantan@chromium.org> Date: Sat Jul 28 05:33:14 2018 cargo: Copy from portage-stable Since we are removing the cargo eclass from portage-stable we need to move the cargo ebuild into chromiumos-overlay as well. BUG=chromium:814480 TEST=sudo emerge cargo Change-Id: I8e32863213f0d72d741ecd009b64d8d29dbe00f3 Signed-off-by: Chirantan Ekbote <chirantan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1135977 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> [add] https://crrev.com/066c672995800e1792a72dc35b63c5896b8318a6/dev-util/cargo/Manifest [add] https://crrev.com/066c672995800e1792a72dc35b63c5896b8318a6/dev-util/cargo/cargo-0.26.0.ebuild
,
Jul 28
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/6c1c4a5360e6a3a124cc64ebdc22943fbeb8211a commit 6c1c4a5360e6a3a124cc64ebdc22943fbeb8211a Author: Chirantan Ekbote <chirantan@chromium.org> Date: Sat Jul 28 05:33:15 2018 cargo: Bump revision number Bump the revision number of the cargo ebuild so that it will pick up the changes to the eclass and link against libunwind instead of libgcc_s. BUG=chromium:814480 TEST=sudo emerge cargo Change-Id: I3b1724f2543207864f5e99377e6acd4367b8abe7 Signed-off-by: Chirantan Ekbote <chirantan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1135978 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> [add] https://crrev.com/6c1c4a5360e6a3a124cc64ebdc22943fbeb8211a/dev-util/cargo/cargo-0.26.0-r1.ebuild
,
Jul 29
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/c45a9fc5b273bd8e89f0a3325a026cb5e6d78b6d commit c45a9fc5b273bd8e89f0a3325a026cb5e6d78b6d Author: Manoj Gupta <manojgupta@google.com> Date: Sun Jul 29 00:13:02 2018 Revert "rust: Link against libunwind" This reverts commit e09dca8275532adb5015f6eacaa97ffc8880f2e7. Reason for revert: Breaks SDK builder. https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/\ buildDetails?buildbucketId=8939769092986804752 This CL should have waited for SDK builder to upload prebuilts before landing. Revert CL description. > rust: Link against libunwind > Have the libunwind crate in the rust library link against libunwind > instead of libgcc_s. > BUG=chromium:814480 > TEST=cros_setup_toolchains -t sdk > CQ-DEPEND=CL:1135971 BUG=chromium:814480 Change-Id: I65dc2cf55ae12134e0da19d6b138f30db9d3a6b9 Reviewed-on: https://chromium-review.googlesource.com/1154428 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> [rename] https://crrev.com/c45a9fc5b273bd8e89f0a3325a026cb5e6d78b6d/dev-lang/rust/rust-1.26.0-r4.ebuild [delete] https://crrev.com/87831af6c132335e1d53a443e92a4ca1cafefdc7/dev-lang/rust/files/0007-link-against-libunwind.patch
,
Jul 31
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/chromite/+/2c3d9c837512db5893d3b41e24a30110b70c9374 commit 2c3d9c837512db5893d3b41e24a30110b70c9374 Author: Manoj Gupta <manojgupta@google.com> Date: Tue Jul 31 06:08:20 2018 cros_setup_toolchains: Enable llvm-libunwind in cross-* pkgs. SDK builder has uploaded prebuilts with llvm-libunwind pkgs. So remove the code disabling it. BUG=chromium:814480 TEST=pre-cq passes. Change-Id: I83d18d1ea2a8ef64c59dd92d7c1e5cbfd10a67c3 Reviewed-on: https://chromium-review.googlesource.com/1152235 Commit-Ready: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/2c3d9c837512db5893d3b41e24a30110b70c9374/scripts/cros_setup_toolchains.py
,
Aug 1
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/portage-stable/+/b126940c885d7d84c60f67e2c6ea29afd0e7075d commit b126940c885d7d84c60f67e2c6ea29afd0e7075d Author: Chirantan Ekbote <chirantan@chromium.org> Date: Wed Aug 01 03:35:33 2018 cargo: Remove Remove the cargo ebuild since it has moved to chromiumos-overlay. BUG=chromium:814480 TEST=sudo emerge cargo CQ-DEPEND=CL:1135977 Change-Id: Ia8cd7d30f5ca85212a711b50b54c087a9221828d Signed-off-by: Chirantan Ekbote <chirantan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1135984 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> [delete] https://crrev.com/739df01e17330e95bc3753e66dffcf8bb5c781b7/dev-util/cargo/Manifest [delete] https://crrev.com/739df01e17330e95bc3753e66dffcf8bb5c781b7/dev-util/cargo/cargo-0.26.0.ebuild
,
Aug 1
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/portage-stable/+/bcd5529ec9017d711d248441dc1d71b6301b87e4 commit bcd5529ec9017d711d248441dc1d71b6301b87e4 Author: Chirantan Ekbote <chirantan@chromium.org> Date: Wed Aug 01 03:35:34 2018 cargo.eclass: Remove Delete the cargo eclass since it has moved to chromiumos-overlay. BUG=chromium:814480 TEST=emerge-eve crosvm CQ-DEPEND=CL:1135975 Change-Id: I796e929882f30729a27ee8461cbe7423546695d1 Signed-off-by: Chirantan Ekbote <chirantan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1135985 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> [delete] https://crrev.com/b126940c885d7d84c60f67e2c6ea29afd0e7075d/eclass/cargo.eclass
,
Aug 1
,
Aug 3
All we need to get this to work is to have fine-grained control over how rustc builds the command line it passes to the linker (see issue 868726).
,
Aug 8
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/e2e911473fc867348e5591d24e2c5f840507a050 commit e2e911473fc867348e5591d24e2c5f840507a050 Author: Chirantan Ekbote <chirantan@chromium.org> Date: Wed Aug 08 20:45:40 2018 platform_ToolchainOptions: Add 9s to whitelist /usr/bin/9s is a new rust binary. Add it to the libgcc_s whitelist. BUG=chromium:814480 TEST=Run the test Change-Id: I278fc4703f4f349fcbc401647fa1be4b392cf699 Signed-off-by: Chirantan Ekbote <chirantan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1166446 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> [modify] https://crrev.com/e2e911473fc867348e5591d24e2c5f840507a050/client/site_tests/platform_ToolchainOptions/libgcc_whitelist |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by manojgupta@chromium.org
, Feb 21 2018