On Wed, 12 Jan 2011, Robert Millan wrote: > Hi Joseph > > I'll look at more detail at the other problems, but first it > seems that non-Linux GNU targets are currently broken > because many declarations that are not Linux-specific > have been added to the Linux-specific sections of > config.gcc.
I don't think they are necessarily broken - and if they are, it is because of Linux-specific headers being used in non-Linux-specific code, not the other way round. > Should I wait untill your patch is merged to fix this? No. > Btw, your patch overhauls linux.h but not i386/linux64.h > which is in the same situation as you described. Indeed. While the subdirectory */*linux*.h headers that are used by non-Linux-kernel targets need splitting up, and removing from the headers used by non-Linux-kernel targets, separating this from splitting up the architecture-independent header leads to smaller patches such that it is easier for the author and patch reviewer to convince themselves that there are no unintended changes to semantics. Furthermore, it was while looking at splitting up the i386/*.h headers that I found the issues raised in my message you're replying to. And two of those four issues are issues where I am seeking information from someone familiar with the *-kfreebsd-gnu, *-knetbsd-gnu and *-kopensolaris-gnu targets in order to determine which definitions actually belong in Linux-kernel headers and which in GNU-userspace headers. So if you could clarify the answers to my questions regarding PT_GNU_STACK and signal frames for those targets (with or without fixing any bugs for those targets indicated by the answers to those questions), that would help determine the correct division of those headers. In turn, actually stopping non-Linux-kernel targets from using config/linux.h depends on splitting up the subdirectory linux.h files, because of how those interact with config/linux.h. -- Joseph S. Myers jos...@codesourcery.com