toolchain.eclass: never pass --enable-libvtv to ./configure
authorSergei Trofimovich <slyfox@gentoo.org>
Fri, 15 Feb 2019 07:49:26 +0000 (07:49 +0000)
committerSergei Trofimovich <slyfox@gentoo.org>
Fri, 15 Feb 2019 07:53:19 +0000 (07:53 +0000)
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@gentoo.org>
eclass/toolchain.eclass

index 56921228daa982c812e7aad925cbc882eff5d898..daa62e3a67c066760fe12d973cca1841662e82fe 100644 (file)
@@ -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: