This is the mail archive of the
mailing list for the GCC project.
Re: -fkeep-inline-functions and broken Cygwin bootstrap (was: Building GCC 4.3.0 on Cygwin...)
- From: "Andrew Pinski" <pinskia at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Cc: "Brian Dessent" <brian at dessent dot net>
- Date: Sat, 24 Mar 2007 23:36:54 -0700
- Subject: Re: -fkeep-inline-functions and broken Cygwin bootstrap (was: Building GCC 4.3.0 on Cygwin...)
- References: <Pine.OSF.email@example.com> <4602FE46.50E27743@dessent.net> <014a01c76e78$01535d80$2e08a8c0@CAM.ARTIMI.COM> <46061782.E0241973@dessent.net>
On 3/24/07, Brian Dessent <firstname.lastname@example.org> wrote:
Dave Korn wrote:
> # 405 "/usr/include/stdio.h" 3 4
[ Which is from newlib (libc/include/stdio.h) if anyone reading this
doesn't have a Cygwin system handy. ]
> static __inline__ int __sgetc_r(struct _reent *__ptr, FILE *__p)
> The critical difference is the presence or absence of
> -fkeep-inline-functions. I think I remember there being some change between
> gcc-3.x and gcc-4.x in inline handling and I think that's what's biting us
> now; I think this may only arise in stage1 where we're trying to use 3.x to
> compile 4.x.
I too thought that this was related to the c99 inline changes, but I
think those only apply to "extern inline" which is not the case here.
The real cause seems to be that -fkeep-inline-functions was a no-op up
until: <http://gcc.gnu.org/ml/gcc-patches/2007-02/msg01396.html>, which
seems to roughly correspond to when bootstrap stopped working on Cygwin.
Actually it was not a no-op in 3.4, just 4.2 (or was it also broken in
4.1) broke -fkeep-inline-functions and nobody noticed until later.
Cygwin's headers are broken with respect of -fkeep-inline-functions
and need to be fixed.