Today's source cannot build on NetBSD

Richard Earnshaw rearnsha@arm.com
Tue Dec 5 10:00:00 GMT 2000


> On Fri, 7 Jan 2000, Kaveh R. Ghazi wrote:

Good heavens, has this really been broken all year? [actually, the message 
was so old, my initial reply bounced because the list name has changed ;-]


> 
> #define _BSD_VA_LIST_           char *          /* va_list */
> 
> for the i386.
> 
> This definition is used in stdarg.h to typedef va_list:
> 
> typedef _BSD_VA_LIST_  va_list;
> 
> 
> What is happening when I try to bootstrap is that va_list is taken from
> gnu/include/stdarg.h and the prototype from the standard include
> directory that uses the _BSD_VA_LIST_ from machine/ansi.h.
> It could as well use va_list, but they are beleived to be identical
> by the system headers, so I'd guess it's historical reason that
> _BSD_VA_LIST_ is used.
> 

the correct thing to do, as far as the standard gcc distribution is 
concerned, is to run fixincludes and to have a rule that fixes up the copy 
of machine/ansi.h to be correct for compiling with gcc.  The problem that 
was holding me up was that fixincludes wasn't finding machine/ansi.h when 
"machine" was a symlink.  Bruce has pointed out how to fix this, so we now 
run fixincludes for NetBSD machines.

Of course, if gcc-3 (or later) is integrated into netbsd's native tool 
chain, it will then be necessary to apply the fix directly to the original 
ansi.h header files for each target; but the standard distribution cannot 
assume this.

R.






More information about the Gcc-bugs mailing list