On 3/24/07, Brian Dessent <[EMAIL PROTECTED]> 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. -- Pinski
