After the Solaris vtv port was added my build of the x86 gcc with x32 support fails. The build is special since the kernel doesn't have x32 support and I cannot directly run x32 binaries (they are run in a kvm kernel). This is used to work well by configuring the tree with --build and --host etc.
The changes to libvtv/configure.ac forced the execution of some code for all targets, specifically the AC_USE_SYSTEM_EXTENSIONS macro. Once I take this (and the code depending on it) out the build is once again fine. Below is the change I used. Can we revert the change until the Solaris port is correctly done? --- a/libvtv/configure.ac +++ b/libvtv/configure.ac @@ -27,7 +27,7 @@ target_alias=${target_alias-$host_alias} AC_SUBST(target_alias) GCC_LIBSTDCXX_RAW_CXX_FLAGS -AC_USE_SYSTEM_EXTENSIONS +# AC_USE_SYSTEM_EXTENSIONS # Use same top-level configure hooks in libgcc/libstdc++/libvtv. AC_MSG_CHECKING([for --enable-vtable-verify]) @@ -45,21 +45,21 @@ AC_MSG_RESULT($enable_vtable_verify) unset VTV_SUPPORTED AC_MSG_CHECKING([for host support for vtable verification]) . ${srcdir}/configure.tgt -case ${host} in - *-*-solaris2*) - # libvtv requires init priority support, which depends on the linker - # used on Solaris. - AC_CACHE_CHECK(for init priority support, libvtv_cv_init_priority, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, - [[void ip (void) __attribute__ ((constructor (1)));]])], - [libgcc_cv_init_priority=yes],[libgcc_cv_init_priority=no])]) - if test x$libvtv_cv_init_priority = xno; then - VTV_SUPPORTED=no - fi - # FIXME: Maybe check for dl_iterate_phdr, too? Should be covered by - # configure.tgt restricting to libvtv to Solaris 11+. - ;; -esac +# case ${host} in +# *-*-solaris2*) +# # libvtv requires init priority support, which depends on the linker +# # used on Solaris. +# AC_CACHE_CHECK(for init priority support, libvtv_cv_init_priority, [ +# AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, +# [[void ip (void) __attribute__ ((constructor (1)));]])], +# [libgcc_cv_init_priority=yes],[libgcc_cv_init_priority=no])]) +# if test x$libvtv_cv_init_priority = xno; then +# VTV_SUPPORTED=no +# fi +# # FIXME: Maybe check for dl_iterate_phdr, too? Should be covered by +# # configure.tgt restricting to libvtv to Solaris 11+. +# ;; +# esac AC_MSG_RESULT($VTV_SUPPORTED) # Decide if it's usable.