Subject: Re: CVS commit: syssrc/sys/arch/powerpc/include
To: None <tsubai@netbsd.org>
From: Matt Thomas <matt@3am-software.com>
List: tech-toolchain
Date: 08/07/2002 01:20:15
At 01:01 AM 8/7/2002, Tsubai Masanari wrote:
>Module Name: syssrc
>Committed By: tsubai
>Date: Wed Aug 7 08:01:58 UTC 2002
>
>Modified Files:
> syssrc/sys/arch/powerpc/include: ansi.h
>
>Log Message:
>Re-correct previous. It's intentional.
It may be intention but it's wrong. It's incompatible with the
GCC 3.* definition of va_list so that if you try to build GCC 3.*
for powerpc, it fails in libgcc building rtl.c.
This is because include/stdarg.h in gcc does a
typedef __builtin_va_list __gnuc_va_list;
followed by a
typedef __gnuc_va_list va_list;
Then libiberty.h defines
extern int vasprintf PARAMS ((char **, const char *, va_list));
where our stdio.h defines
int vasprintf __P((char ** __restrict, const char * __restrict,
_BSD_VA_LIST_));
Now if _BSD_VA_LIST (aka __va_list) is defined as
typedef struct {
__builtin_va_list __va;
} __va_list;
That is incompatible with GCC include/stdarg.h definition. Which since
we are using GCC we are obligated to use their definition.
BTW, I had Jason Thorpe review my change before committing it. So please
revert back to my version.
--
Matt Thomas Internet: matt@3am-software.com
3am Software Foundry WWW URL: http://www.3am-software.com/bio/matt/
Cupertino, CA Disclaimer: I avow all knowledge of this message