summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2016-10-06 17:19:42 +0200
committerMichał Górny <mgorny@gentoo.org>2016-10-07 10:41:21 +0200
commit5d5f3ac1f6d24c6893be04c9f1637a408b62c713 (patch)
tree73f9b9d3794b8ca6be0893c203c40bffb447db5e /sys-libs
parentsys-process/procps: Added epatch_user (bug #592094). (diff)
downloadgentoo-5d5f3ac1f6d24c6893be04c9f1637a408b62c713.tar.gz
gentoo-5d5f3ac1f6d24c6893be04c9f1637a408b62c713.tar.bz2
gentoo-5d5f3ac1f6d24c6893be04c9f1637a408b62c713.zip
sys-libs/libcxx: Fix ldscripts to include gcc EH lib for USE=-unwind
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/libcxx/libcxx-3.9.0.ebuild7
-rw-r--r--sys-libs/libcxx/libcxx-9999.ebuild7
2 files changed, 4 insertions, 10 deletions
diff --git a/sys-libs/libcxx/libcxx-3.9.0.ebuild b/sys-libs/libcxx/libcxx-3.9.0.ebuild
index 656a9799a33d..a92f0f8091ab 100644
--- a/sys-libs/libcxx/libcxx-3.9.0.ebuild
+++ b/sys-libs/libcxx/libcxx-3.9.0.ebuild
@@ -161,12 +161,10 @@ gen_static_ldscript() {
mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
# Generate libc++.a ldscript for inclusion of its dependencies so that
# clang++ -stdlib=libc++ -static works out of the box.
- local deps="libc++_static.a ${cxxabi_lib}"
+ local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
# On Linux/glibc it does not link without libpthread or libdl. It is
# fine on FreeBSD.
use elibc_glibc && deps+=" libpthread.a libdl.a"
- # unlike libgcc_s, libunwind is not implicitly linked
- use libunwind && deps+=" libunwind.a"
gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
}
@@ -177,8 +175,7 @@ gen_shared_ldscript() {
local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
- local deps="libc++_shared.so ${cxxabi_lib}"
- use libunwind && deps+=" libunwind.so"
+ local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
}
diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9999.ebuild
index a5e7c7fc2575..bbc218b36af3 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9999.ebuild
@@ -158,12 +158,10 @@ gen_static_ldscript() {
mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
# Generate libc++.a ldscript for inclusion of its dependencies so that
# clang++ -stdlib=libc++ -static works out of the box.
- local deps="libc++_static.a ${cxxabi_lib}"
+ local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
# On Linux/glibc it does not link without libpthread or libdl. It is
# fine on FreeBSD.
use elibc_glibc && deps+=" libpthread.a libdl.a"
- # unlike libgcc_s, libunwind is not implicitly linked
- use libunwind && deps+=" libunwind.a"
gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
}
@@ -174,8 +172,7 @@ gen_shared_ldscript() {
local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
- local deps="libc++_shared.so ${cxxabi_lib}"
- use libunwind && deps+=" libunwind.so"
+ local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
}