> 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