From 1375e2b62332351a8f9c928421cd1ea8b53c5127 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Fri, 11 Mar 2022 09:37:44 +0100 Subject: [PATCH] libphobos: Enable on Solaris/SPARC or with /bin/as [PR 103528] libphobos is currently only enabled on Solaris/x86 with gas. As discovered when gdc was switched to the dmd frontend, this initially broke bootstrap for the other Solaris configurations. However, it's now well possible to enable it both for Solaris/x86 with as and Solaris/SPARC (both as and gas) since the original problems (x86 as linelength limit, among others) are long gone. The following patch does just that. Tested on i386-pc-solaris2.11 and sparc-sun-solaris2.11 (both as and gas) with gdc 9.3.0 (x86) resp. 9.4.0 (sparc, configured with --enable-libphobos) as bootstrap compilers. 2021-12-01 Rainer Orth libphobos: PR d/103528 * configure.ac : Remove gas requirement. * configure: Regenerate. * configure.tgt (sparc*-*-solaris2.11*): Mark supported. --- libphobos/configure | 12 ------------ libphobos/configure.ac | 12 ------------ libphobos/configure.tgt | 3 +++ 3 files changed, 3 insertions(+), 24 deletions(-) diff --git a/libphobos/configure b/libphobos/configure index 17b265655052..9da06f087d09 100755 --- a/libphobos/configure +++ b/libphobos/configure @@ -15475,18 +15475,6 @@ $as_echo_n "checking for host support for libphobos... " >&6; } . ${srcdir}/configure.tgt case ${host} in x86_64-*-solaris2.* | i?86-*-solaris2.*) - # libphobos doesn't compile with the Solaris/x86 assembler due to a - # relatively low linelength limit. - as_prog=`$CC -print-prog-name=as` - if test -n "$as_prog" && $as_prog -v /dev/null 2>&1 | grep GNU > /dev/null 2>&1; then - druntime_cv_use_gas=yes; - else - druntime_cv_use_gas=no; - fi - rm -f a.out - if test x$druntime_cv_use_gas = xno; then - LIBPHOBOS_SUPPORTED=no - fi # 64-bit D execution fails with Solaris ld without -z relax=transtls support. if test "$druntime_ld_gld" = "no" && test "$druntime_ld_relax_transtls" = "no"; then LIBPHOBOS_SUPPORTED=no diff --git a/libphobos/configure.ac b/libphobos/configure.ac index 47e2fa9a6f56..31209ba2920c 100644 --- a/libphobos/configure.ac +++ b/libphobos/configure.ac @@ -189,18 +189,6 @@ AC_MSG_CHECKING([for host support for libphobos]) . ${srcdir}/configure.tgt case ${host} in x86_64-*-solaris2.* | i?86-*-solaris2.*) - # libphobos doesn't compile with the Solaris/x86 assembler due to a - # relatively low linelength limit. - as_prog=`$CC -print-prog-name=as` - if test -n "$as_prog" && $as_prog -v /dev/null 2>&1 | grep GNU > /dev/null 2>&1; then - druntime_cv_use_gas=yes; - else - druntime_cv_use_gas=no; - fi - rm -f a.out - if test x$druntime_cv_use_gas = xno; then - LIBPHOBOS_SUPPORTED=no - fi # 64-bit D execution fails with Solaris ld without -z relax=transtls support. if test "$druntime_ld_gld" = "no" && test "$druntime_ld_relax_transtls" = "no"; then LIBPHOBOS_SUPPORTED=no diff --git a/libphobos/configure.tgt b/libphobos/configure.tgt index 6ffca3446c03..0063dd232491 100644 --- a/libphobos/configure.tgt +++ b/libphobos/configure.tgt @@ -52,6 +52,9 @@ case "${target}" in s390*-linux*) LIBPHOBOS_SUPPORTED=yes ;; + sparc*-*-solaris2.11*) + LIBPHOBOS_SUPPORTED=yes + ;; x86_64-*-freebsd* | i?86-*-freebsd*) LIBPHOBOS_SUPPORTED=yes ;; -- 2.47.2