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  <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.
This commit is contained in:
Rainer Orth 2022-03-11 09:37:44 +01:00
parent 41bda0036c
commit 1375e2b623
3 changed files with 3 additions and 24 deletions

12
libphobos/configure vendored
View File

@ -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

View 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

View 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
;;