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>