Hi!

On Sat, Mar 27, 2021 at 04:07:18PM +0100, Florian Weimer wrote:
> * Michael Meissner via Gcc-patches:
> > On Wed, Feb 24, 2021 at 11:12:54PM +0000, Joseph Myers wrote:
> >> This change appears to have broken builds for powerpc in a configuration 
> >> that bootstraps a cross toolchain starting with a GCC build with no libc 
> >> available.
> >> 
> >> Specifically, such a bootstrap build uses --disable-decimal-float among 
> >> other options (in the first GCC build before libc has been built), to 
> >> disable GCC target library code that has any dependence on libc or libc 
> >> headers - dfp-bit.c uses libc headers, without an inhibit_libc 
> >> conditional, so cannot be used in such a bootstrap configuration.  Most of 
> >> the DFP code in libgcc is disabled by --disable-decimal-float, but it 
> >> seems the new conversions are not.  This results in errors of the form:
> >> 
> >> In file included from 
> >> /scratch/jmyers/glibc-bot/src/gcc/libgcc/config/rs6000/_kf_to_sd.c:37:
> >> /scratch/jmyers/glibc-bot/src/gcc/libgcc/dfp-bit.c:32:10: fatal error: 
> >> stdio.h: No such file or directory
> >>    32 | #include <stdio.h>
> >>       |          ^~~~~~~~~
> >> compilation terminated.
> >> 
> >> The appropriate fix is not to build any of these new conversions in the 
> >> --disable-decimal-float case.  (That clearly makes sense anyway, even in 
> >> the absence of the bootstrap issue.)
> >> 
> >> https://sourceware.org/pipermail/libc-testresults/2021q1/007576.html
> >
> > Thanks.  I agree if --disable-decimal-float is used we should not build the
> > conversions.  And we want to eliminate the stdio.h dependency.  I will look 
> > at
> > it unless somebody has already fixed it.
> 
> This issue is still present.
> 
> What about the patch below?
> 
> Thanks,
> Florian
> 
> rs6000: Do not build _Float128/Decimal routines with --disable-decimal-float
> 
> Fixes commit 781183595acba67a37c66f59a0c1d9b5fee7e248 ("Add conversions
> between _Float128 and Decimal.).

That seems likely.  Okay for trunk if Mike agrees.  Thanks!


Segher


> libgcc/
>       * config/rs6000/t-float128 (fp128_ppc_funcs): Add decimal floating
>       point functions for $(decimal_float) only.

Reply via email to