https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91349
--- Comment #9 from Alan Modra <amodra at gmail dot com> --- > I have no idea which parts are GNU-specific, and which parts power actually > needs. Yeah, I was being cheeky in suggesting you provide the effort needed. > I can just see that your change to include gnu-user.h on non-GNU targets > seems like a design smell, and the requirement to kluge around it by > #undef'ing things later confirms it. If #undefs are a measure of "design smell" then rs6000/freebsd64.h already had forty before I added two more. Many of those are there due to including other headers that define OS specific macros unsuitable for freebsd. The mess is mostly due to rs6000/sysv4.h -mcall-<other-os> support. Without that I may not have needed to include gnu-user.h before rs6000/sysv4.h everywhere. The -mcall stuff needs to disappear before any meaningful untangling of OS-specific macros in the rs6000 header files can be done.