On Mon, Nov 21, 2011 at 11:01 AM, Rainer Orth
<r...@cebitec.uni-bielefeld.de> wrote:
> As reported in the PR, powerpc-rtems bootstrap (and certainly several
> other powerpc targets) is currently broken since rs6000/ibm-ldouble.c
> appears twice in LIB2ADD, once from rs6000/t-ppccomm and
> rs6000/t-ppccomm-ldbl, which confuses make.
>
> It took me a while to understand how we got into that situation.  Here's
> what I found: before the toplevel libgcc move started, we had both
> gcc/config/rs6000/t-ppccomm and libgcc/config/rs6000/t-ppccomm.  The
> second is a superset of the first, in that it contains LIB2ADD_ST +=
> crtsavfpr.S crtresfpr.S and many other similar files.
>
> The set of targets using the gcc and libgcc files differs:
>
>        gcc/config/rs6000/t-ppccomm     libgcc/config/rs6000/t-ppccomm
>
>          powerpc-*-freebsd*            powerpc-*-freebsd*
>          powerpc-*-eabispe*            powerpc-*-eabispe*
>          powerpc-*-eabisimaltivec*
>          powerpc-*-eabisim*
>          powerpc-*-elf*
>          powerpc-*-eabialtivec*
>          powerpc-xilinx-eabi*
>          powerpc-*-eabi*               powerpc-*-eabi*
>          powerpc-*-rtems*
>          powerpc-*-linux*              powerpc-*-linux*
>            | powerpc64-*-linux*          | powerpc64-*-linux*
>          powerpc-*-gnu-gnualtivec*
>          powerpc-*-gnu*
>          powerpc-wrs-vxworks
>            | powerpc-wrs-vxworksae
>          powerpcle-*-elf*
>          powerpcle-*-eabisim*
>          powerpcle-*-eabi*
>
> When I started the move, I introduced
> libgcc/config/rs6000/t-ppccomm-ldbl since I couldn't simply use the
> existing t-ppccomm file which is used on a far smaller set of targets.
>
> To reach an end state matching what we had before the move, I propose to
> instead create a separate t-savresfgpr (for {sav,res}{fpr,gpr,gprctr})
> that only contains the additional files and add that to the targets that
> had it before, and remove t-ppccomm-ldbl to avoid the duplication.
>
> When checking this, I noticed that powerpc-vxworks had lost
> rs6000/t-ppccomm, which the patch adds back.
>
> I'd really appreciate if some affected targets could fully test the
> patch.
>
> Thanks.
>        Rainer
>
>
> 2011-11-20  Rainer Orth  <r...@cebitec.uni-bielefeld.de>
>
>        PR other/51022
>        * config/rs6000/t-savresfgpr: New file.
>        * config/rs6000/t-ppccomm (LIB2ADD_ST): Remove all but
>        $(srcdir)/config/rs6000/eabi.S.
>        * config/rs6000/t-ppccomm-ldbl: Remove.
>        * config.host (powerpc-*-freebsd*): Add rs6000/t-savresfgpr to
>        tmake_file.
>        (powerpc-*-eabispe*): Likewise.
>        (powerpc-*-eabi*): Likewise.
>        (powerpc-*-linux*, powerpc64-*-linux*): Likewise.
>        (powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add rs6000/t-ppccomm
>        to tmake_file, remove rs6000/t-ppccomm-ldbl.
>        (powerpc-*-eabisimaltivec*): Remove rs6000/t-ppccomm-ldbl from
>        tmake_file.
>        (powerpc-*-eabisim*): Likewise.
>        (powerpc-*-elf*): Likewise.
>        (powerpc-*-eabialtivec*): Likewise.
>        (powerpc-xilinx-eabi*): Likewise.
>        (powerpc-*-rtems*): Likewise.
>        (powerpcle-*-elf*): Likewise.
>        (powerpcle-*-eabisim*): Likewise.
>        (powerpcle-*-eabi*): Likewise.

Okay.

I was hoping that other targets affected by the patch would test it as well.

Thanks, David

Reply via email to