> On 16 Mar 2022, at 13:28, Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote:
> 
> This patch documents the Solaris-specific D bootstrap requirements.
> 
> Tested by building and inspecting gccinstall.{pdf,info}.
> 
> Ok for trunk?
> 
> I've omitted the Darwin-specific stuff so far documented in PRs d/103577
> and d/103578:
> 
> * needs --enable-libphobos
> * top of gcc-11 branch only
> * backport of -static-libphobos patch
> * Darwin/i386 doesn't work at all

— hopefully we will not need to add that  —

The actual problem is known (FWIW there is also some wrong code generated for
x86_64, we just happen to link it to something harmless instead of failing to 
link).

- I remain hopeful that a solution for 11.x can be found before gcc-12 branches,
since without m32 support it is hard for me to fit D into regular Darwin 
testing (at
present D is effectively untested on Darwin since the change to require a D 
bootstrap)
 .. at one stage, D did work on m32 Darwin.

Iain

> 
>       Rainer
> 
> -- 
> -----------------------------------------------------------------------------
> Rainer Orth, Center for Biotechnology, Bielefeld University
> 
> 
> 2022-03-16  Rainer Orth  <r...@cebitec.uni-bielefeld.de>
> 
>       gcc:
>       PR d/103528
>       * doc/install.texi (Tools/packages necessary for building GCC)
>       (GDC): Document libphobos requirement.
>       (Host/target specific installation notes for GCC, *-*-solaris2*):
>       Document libphobos and GDC specifics.
> 
> # HG changeset patch
> # Parent  33de4c9d886299fd8cc97e20c0f761c2f28a3eef
> doc: Document Solaris D bootstrap requirements [PR 103528]
> 
> diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
> --- a/gcc/doc/install.texi
> +++ b/gcc/doc/install.texi
> @@ -287,7 +287,8 @@ section.
> @item @anchor{GDC-prerequisite}GDC
> 
> In order to build GDC, the D compiler, you need a working GDC
> -compiler (GCC version 9.1 or later), as the D front end is written in D.
> +compiler (GCC version 9.1 or later) and D runtime library,
> +@samp{libphobos}, as the D front end is written in D.
> 
> Versions of GDC prior to 12 can be built with an ISO C++11 compiler, which can
> then be installed and used to bootstrap newer versions of the D front end.
> @@ -303,6 +304,10 @@ front end does not make use of any GDC-s
> of the D language, if too old a GDC version is installed and
> @option{--enable-languages=d} is used, the build will fail.
> 
> +On some targets, @samp{libphobos} isn't enabled by default, but compiles
> +and works if @option{--enable-libphobos} is used.  Specifics are
> +documented for affected targets.
> +
> @item A ``working'' POSIX compatible shell, or GNU bash
> 
> Necessary when running @command{configure} because some
> @@ -4851,6 +4856,12 @@ GNU binutils.  @samp{libstdc++} symbol v
> appropriate version is found.  Solaris @command{c++filt} from the Solaris
> Studio compilers does @emph{not} work.
> 
> +In order to build the GNU D compiler, GDC, a working @samp{libphobos} is
> +needed.  That library wasn't built by default in GCC 9--11 on SPARC, or
> +on x86 when the Solaris assembler is used, but can be enabled by
> +configuring with @option{--enable-libphobos}.  Also, GDC 9.4.0 is
> +required on x86, while GDC 9.3.0 is known to work on SPARC.
> +
> The versions of the GNU Multiple Precision Library (GMP), the MPFR
> library and the MPC library bundled with Solaris 11.3 and later are
> usually recent enough to match GCC's requirements.  There are two
> @@ -4864,6 +4875,7 @@ need to configure with @option{--with-gm
> @item
> The version of the MPFR libary included in Solaris 11.3 is too old; you
> need to provide a more recent one.
> +
> @end itemize
> 
> @html

Reply via email to