]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libphobos: Enable on Solaris/SPARC or with /bin/as [PR 103528]
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Fri, 11 Mar 2022 08:37:44 +0000 (09:37 +0100)
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Fri, 11 Mar 2022 08:37:44 +0000 (09:37 +0100)
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  <ro@CeBiTec.Uni-Bielefeld.DE>

libphobos:
PR d/103528
* configure.ac <x86_64-*-solaris2.* | i?86-*-solaris2.*>: Remove
gas requirement.
* configure: Regenerate.
* configure.tgt (sparc*-*-solaris2.11*): Mark supported.

libphobos/configure
libphobos/configure.ac
libphobos/configure.tgt

index 17b265655052e43ba58c08d2d0dfac94650209a2..9da06f087d095c7eb4555f43cb11556b4c0b269e 100755 (executable)
@@ -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
index 47e2fa9a6f56439dea185525c93969a0e7258192..31209ba2920c7482025470194873a442ca359166 100644 (file)
@@ -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
index 6ffca3446c03a641a3e1cf9787314483f4116d1d..0063dd23249101b3506106ebbe32f454bcb829fb 100644 (file)
@@ -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
        ;;