On Mon, 26 Nov 2018 23:05:45 -0500
Brian Callahan <bcal...@devio.us> wrote:

> For some reason, the gcc package doesn't install the stdatomic.h header. 
> Which doesn't matter, until it matters.

This is 1 of 4 missing headers: stdfix.h, stdnoreturn.h, stdalign.h,
stdatomic.h.  These are listed in gcc-6.4.0/gcc/Makefile.in as

USER_H = $(srcdir)/ginclude/float.h \
         $(srcdir)/ginclude/iso646.h \
         $(srcdir)/ginclude/stdarg.h \
         $(srcdir)/ginclude/stdbool.h \
         $(srcdir)/ginclude/stddef.h \
         $(srcdir)/ginclude/varargs.h \
         $(srcdir)/ginclude/stdfix.h \
         $(srcdir)/ginclude/stdnoreturn.h \
         $(srcdir)/ginclude/stdalign.h \
         $(srcdir)/ginclude/stdatomic.h \
         $(EXTRA_HEADERS)

EXTRA_HEADERS seems to have arch-dependent headers.  My
build-powerpc/{prev-gcc,gcc}/Makefile has headers like ppc-asm.h,
altivec.h (for PowerPC's AltiVec), and tgmath.h (but I dont know why
tgmath.h is arch-dependent).

Makefile seems to copy USER_H to build-powerpc/{prev-gcc,gcc}/include,
but when I look there, I only see the EXTRA_HEADERS.  I don't know why
the headers from float.h to stdatomic.h are missing.  The absence of
float.h to varargs.h seems harmless because OpenBSD has them in
/usr/include.  The absence of stdfix.h, stdnoreturn.h, stdalign.h,
stdatomic.h means that programs can't use those headers.

NetBSD's packages of gcc5 and gcc7 do contain the headers from float.h
to stdatomic.h (or most of them).  I haven't found the reason why
NetBSD keeps those headers and OpenBSD doesn't.

-- 
George Koehler <kern...@gmail.com>

Reply via email to