Re: huge gcc 4.1.{0,1} __weak problem

Alistair John Strachan
2008-05-02T10:37:44Z

Hi Chris,

(I fixed the corrupted CC and Reply-to: address from your email.)

On Friday 02 May 2008 00:55:58 Chris Knadle wrote:
> On Thu, 1 May 2008, Linus Torvalds wrote:
> > On Thu, 1 May 2008, Andrew Morton wrote:
> > > > I see only the following choices:
> > > > - remove __weak and replace all current usages
> > > > - move all __weak functions into own files, and ensure that also
> > > > happens for future usages
> > > > - #error for gcc 4.1.{0,1}
> > >
> > > Can we detect the {0,1}? __GNUC_EVEN_MORE_MINOR__?
> >
> > It's __GNUC_PATCHLEVEL__, I believe.
> >
> > So yes, we can distinguish 4.1.2 (good, and very common) from 4.1.{0,1}
> > (bad, and rather uncommon).
> > And yes, considering that 4.1.1 (and even more so 4.1.0) should be rare
> > to begin with, I think it's better to just not support it.
> >
> > Linus
>
> Unfortunately Debian Stable (i.e. Etch), which is relatively popular for
> server use, is still using 4.1.1 :-( (The current gcc package is
> gcc-4.1.1-21)
>
> I have not looked to see if Debian Stable's gcc-4.1.1-21 has been
> patched for the currently discussed __weak bug.

I checked and it has been patched in 4.1.1-21. This would make checking for
4.1.1 via __GNUC_PATCHLEVEL__ potentially invalid, as patched distro
compilers may (and in this case do) have this fixed.

--
Cheers,
Alistair.

137/1 Warrender Park Road, Edinburgh, UK.