New issue
Advanced search Search tips

Issue 708794 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Apr 2017
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Enable libunwind from llvm

Project Member Reported by manojgupta@chromium.org, Apr 5 2017

Issue description

Compiler-rt from llvm does not provide symbols for unwinding. Therefore, to be able to use compiler-rt in standalone SDK, libunwind needs to be installed as well.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/6377b9f1ef10fe4eda562786a31d86700a4bc96f

commit 6377b9f1ef10fe4eda562786a31d86700a4bc96f
Author: Manoj Gupta <manojgupta@google.com>
Date: Wed Apr 12 23:15:04 2017

Add llvm-libunwind ebuild.

libunwind is required to be able to use compiler-rt libraries
as default in clang. This change only adds the ebuild.

Major difference from upstream:
1. Add support for cross compilation
2. Use different install location.
3. Cmake_Build_Type is not set (Upstream uses RelWithDebInfo).
4. Do not block sys-libs/libunwind for cross*- category.

BUG= chromium:708794 
TEST=sudo emerge sys-libs/llvm-libunwind works.
TEST=sudo emerge cross-armv7a-cros-linux-gnueabi/llvm-libunwind works
(after setting symlinks)

Change-Id: I51030263a503243057b43b67344a7c4b4aefe2d8
Reviewed-on: https://chromium-review.googlesource.com/469175
Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
Commit-Queue: Yunlian Jiang <yunlian@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Trybot-Ready: Manoj Gupta <manojgupta@chromium.org>
Trybot-Ready: Yunlian Jiang <yunlian@chromium.org>
Reviewed-by: Yunlian Jiang <yunlian@chromium.org>

[add] https://crrev.com/6377b9f1ef10fe4eda562786a31d86700a4bc96f/sys-libs/llvm-libunwind/llvm-libunwind-4.0_pre285905.ebuild

Project Member

Comment 2 by bugdroid1@chromium.org, Apr 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/6377b9f1ef10fe4eda562786a31d86700a4bc96f

commit 6377b9f1ef10fe4eda562786a31d86700a4bc96f
Author: Manoj Gupta <manojgupta@google.com>
Date: Wed Apr 12 23:15:04 2017

Add llvm-libunwind ebuild.

libunwind is required to be able to use compiler-rt libraries
as default in clang. This change only adds the ebuild.

Major difference from upstream:
1. Add support for cross compilation
2. Use different install location.
3. Cmake_Build_Type is not set (Upstream uses RelWithDebInfo).
4. Do not block sys-libs/libunwind for cross*- category.

BUG= chromium:708794 
TEST=sudo emerge sys-libs/llvm-libunwind works.
TEST=sudo emerge cross-armv7a-cros-linux-gnueabi/llvm-libunwind works
(after setting symlinks)

Change-Id: I51030263a503243057b43b67344a7c4b4aefe2d8
Reviewed-on: https://chromium-review.googlesource.com/469175
Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
Commit-Queue: Yunlian Jiang <yunlian@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Trybot-Ready: Manoj Gupta <manojgupta@chromium.org>
Trybot-Ready: Yunlian Jiang <yunlian@chromium.org>
Reviewed-by: Yunlian Jiang <yunlian@chromium.org>

[add] https://crrev.com/6377b9f1ef10fe4eda562786a31d86700a4bc96f/sys-libs/llvm-libunwind/llvm-libunwind-4.0_pre285905.ebuild

Project Member

Comment 3 by bugdroid1@chromium.org, Apr 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/946abb4daba0eef5d3b2ac560ad9c26c0ba0285c

commit 946abb4daba0eef5d3b2ac560ad9c26c0ba0285c
Author: Manoj Gupta <manojgupta@google.com>
Date: Thu Apr 13 22:19:02 2017

Add llvm-libunwind libraries for armv7a/aarch64/x86_64 cross targets.

llvm-libunwind is required for using compiler-rt with c++ or asan.
Add it in a way that adding more llvm packages in future is easy
e.g. libcxx etc.
Also enable compiler-rt packages for aarch64.

BUG= chromium:708794 
TEST=sudo cros_setup_toolchains --reconfig -t {armv7a, aarch64, x86_64}-cros-linux-gnu
installed llvm-libunwind libraries.

Change-Id: Id18c872cbdcb19b3c72e2abfffaaa5acd9cc9168
Reviewed-on: https://chromium-review.googlesource.com/476091
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Yunlian Jiang <yunlian@chromium.org>

[modify] https://crrev.com/946abb4daba0eef5d3b2ac560ad9c26c0ba0285c/scripts/cros_setup_toolchains.py

Status: Verified (was: Untriaged)
Added llvm-libunwind to sdk packages.
Project Member

Comment 5 by bugdroid1@chromium.org, Apr 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/0f842f88c301e1778df7b21fc588d78e1e1885b7

commit 0f842f88c301e1778df7b21fc588d78e1e1885b7
Author: Manoj Gupta <manojgupta@google.com>
Date: Fri Apr 21 22:45:41 2017

Enable llvm-libunwind libraries for armv7a/aarch64/x86_64 cross targets.

Remove --nousepkg lines as libunwind binary package is now
available.

BUG= chromium:708794 
TEST=sudo cros_setup_toolchains --reconfig -t
{armv7a, aarch64, x86_64}-cros-linux-gnu installed llvm-libunwind
libraries.

Change-Id: Iec1fccfc4217915f66a5a2ba3bb23fffe1169ddd
Reviewed-on: https://chromium-review.googlesource.com/479696
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Rahul Chaudhry <rahulchaudhry@chromium.org>

[modify] https://crrev.com/0f842f88c301e1778df7b21fc588d78e1e1885b7/scripts/cros_setup_toolchains.py

Sign in to add a comment