1 |
commit: 5d5f3ac1f6d24c6893be04c9f1637a408b62c713 |
2 |
Author: Michał Górny <mgorny <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Oct 6 15:19:42 2016 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Oct 7 08:41:21 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d5f3ac1 |
7 |
|
8 |
sys-libs/libcxx: Fix ldscripts to include gcc EH lib for USE=-unwind |
9 |
|
10 |
sys-libs/libcxx/libcxx-3.9.0.ebuild | 7 ++----- |
11 |
sys-libs/libcxx/libcxx-9999.ebuild | 7 ++----- |
12 |
2 files changed, 4 insertions(+), 10 deletions(-) |
13 |
|
14 |
diff --git a/sys-libs/libcxx/libcxx-3.9.0.ebuild b/sys-libs/libcxx/libcxx-3.9.0.ebuild |
15 |
index 656a979..a92f0f8 100644 |
16 |
--- a/sys-libs/libcxx/libcxx-3.9.0.ebuild |
17 |
+++ b/sys-libs/libcxx/libcxx-3.9.0.ebuild |
18 |
@@ -161,12 +161,10 @@ gen_static_ldscript() { |
19 |
mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die |
20 |
# Generate libc++.a ldscript for inclusion of its dependencies so that |
21 |
# clang++ -stdlib=libc++ -static works out of the box. |
22 |
- local deps="libc++_static.a ${cxxabi_lib}" |
23 |
+ local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)" |
24 |
# On Linux/glibc it does not link without libpthread or libdl. It is |
25 |
# fine on FreeBSD. |
26 |
use elibc_glibc && deps+=" libpthread.a libdl.a" |
27 |
- # unlike libgcc_s, libunwind is not implicitly linked |
28 |
- use libunwind && deps+=" libunwind.a" |
29 |
|
30 |
gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die |
31 |
} |
32 |
@@ -177,8 +175,7 @@ gen_shared_ldscript() { |
33 |
local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")") |
34 |
|
35 |
mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die |
36 |
- local deps="libc++_shared.so ${cxxabi_lib}" |
37 |
- use libunwind && deps+=" libunwind.so" |
38 |
+ local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)" |
39 |
|
40 |
gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die |
41 |
} |
42 |
|
43 |
diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild |
44 |
index a5e7c7f..bbc218b 100644 |
45 |
--- a/sys-libs/libcxx/libcxx-9999.ebuild |
46 |
+++ b/sys-libs/libcxx/libcxx-9999.ebuild |
47 |
@@ -158,12 +158,10 @@ gen_static_ldscript() { |
48 |
mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die |
49 |
# Generate libc++.a ldscript for inclusion of its dependencies so that |
50 |
# clang++ -stdlib=libc++ -static works out of the box. |
51 |
- local deps="libc++_static.a ${cxxabi_lib}" |
52 |
+ local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)" |
53 |
# On Linux/glibc it does not link without libpthread or libdl. It is |
54 |
# fine on FreeBSD. |
55 |
use elibc_glibc && deps+=" libpthread.a libdl.a" |
56 |
- # unlike libgcc_s, libunwind is not implicitly linked |
57 |
- use libunwind && deps+=" libunwind.a" |
58 |
|
59 |
gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die |
60 |
} |
61 |
@@ -174,8 +172,7 @@ gen_shared_ldscript() { |
62 |
local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")") |
63 |
|
64 |
mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die |
65 |
- local deps="libc++_shared.so ${cxxabi_lib}" |
66 |
- use libunwind && deps+=" libunwind.so" |
67 |
+ local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)" |
68 |
|
69 |
gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die |
70 |
} |