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