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

Reply via email to