summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2019-04-19 07:32:12 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2019-04-19 07:35:38 +0000
commit15fbfc075d699e498d73701b6f2a3f62d7dcabba (patch)
tree0e01dec354d67377cc2317760a2a1c4dd98d8001 /sys-libs/glibc
parentmedia-video/gxine: Drop old (diff)
downloadgentoo-15fbfc075d699e498d73701b6f2a3f62d7dcabba.tar.gz
gentoo-15fbfc075d699e498d73701b6f2a3f62d7dcabba.tar.bz2
gentoo-15fbfc075d699e498d73701b6f2a3f62d7dcabba.zip
sys-libs/glibc: disable c++ detection for cross-case, bug #683074
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=561b0bec4448f0302cb4915bf67c919bde4a1c57 in unstream glibc repo added optional dependency on CXX compiler. Unfortunately ./configure tries hard to pass some g++ as CXX: either ${CTARGET}-g++ (ok) or ${CBUILD}+g++ (bad). During toolchain bootstrap ${CTARGET}-g++ does not yet exist as we only have stage1-gcc without c++ (or libc) support. To restore toolchain bootstrap we force-disable c++ detection by setting cache variable: libc_cv_cxx_link_ok=no c++ is force disables only for cross-compilation case (CHOST != CTARGET). Cross-building case (CHOST = CTRAGET) is unchanged as we should already have c++ capable toolchain by then. Reported-by: hanetzer@startmail.com Reported-by: rhn Closes: https://bugs.gentoo.org/683074 Package-Manager: Portage-2.3.63, Repoman-2.3.12 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'sys-libs/glibc')
-rw-r--r--sys-libs/glibc/glibc-2.29-r2.ebuild11
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild11
2 files changed, 22 insertions, 0 deletions
diff --git a/sys-libs/glibc/glibc-2.29-r2.ebuild b/sys-libs/glibc/glibc-2.29-r2.ebuild
index 093ffc207ebd..8f920eb85ac4 100644
--- a/sys-libs/glibc/glibc-2.29-r2.ebuild
+++ b/sys-libs/glibc/glibc-2.29-r2.ebuild
@@ -799,6 +799,17 @@ glibc_do_configure() {
# Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548
export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}"
+
+ if is_crosscompile; then
+ # Assume worst-case bootstrap: glibc is buil first time
+ # when ${CTARGET}-g++ is not available yet. We avoid
+ # building auxiliary programs that require C++: bug #683074
+ # It should not affect final result.
+ export libc_cv_cxx_link_ok=no
+ # The line above has the same effect. We set CXX explicitly
+ # to make build logs less confusing.
+ export CXX=
+ fi
einfo " $(printf '%15s' 'Manual CXX:') ${CXX}"
echo
diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index 142153734f97..b01dc8236359 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -800,6 +800,17 @@ glibc_do_configure() {
# Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548
export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}"
+
+ if is_crosscompile; then
+ # Assume worst-case bootstrap: glibc is buil first time
+ # when ${CTARGET}-g++ is not available yet. We avoid
+ # building auxiliary programs that require C++: bug #683074
+ # It should not affect final result.
+ export libc_cv_cxx_link_ok=no
+ # The line above has the same effect. We set CXX explicitly
+ # to make build logs less confusing.
+ export CXX=
+ fi
einfo " $(printf '%15s' 'Manual CXX:') ${CXX}"
echo