commit:     f437c7c0233294f197514f3b6ab8a4a24736719b
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 15 07:49:26 2019 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Fri Feb 15 07:53:19 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f437c7c0

toolchain.eclass: never pass --enable-libvtv to ./configure

gcc treats --enable-libvtv as an override on top of
autodetection. It it never what we want. Happens to break
at least powerpc64 cross-compilers:
    https://bugs.gentoo.org/661252

Reported-by: Ilia Mirkin
Closes: https://bugs.gentoo.org/661252
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 eclass/toolchain.eclass | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 56921228daa..daa62e3a67c 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1278,7 +1278,8 @@ toolchain_src_configure() {
        if in_iuse vtv ; then
                confgcc+=(
                        $(use_enable vtv vtable-verify)
-                       $(use_enable vtv libvtv)
+                       # See Note [implicitly enabled flags]
+                       $(usex vtv '' --disable-libvtv)
                )
        fi
 
@@ -2514,7 +2515,9 @@ toolchain_death_notice() {
 #
 # GCC does not follow this pattern and instead overrides autodetection
 # of the feature and enables it unconditionally.
-# See https://gcc.gnu.org/PR85663
+# See bugs:
+#    https://gcc.gnu.org/PR85663 (libsanitizer on mips)
+#    https://bugs.gentoo.org/661252 (libvtv on powerpc64)
 #
 # Thus safer way to enable/disable the feature is to rely on implicit
 # enabled-by-default state:

Reply via email to