Messages in this thread | | | Subject | Re: huge gcc 4.1.{0,1} __weak problem | From | Miquel van Smoorenburg <> | Date | Fri, 02 May 2008 11:19:19 +0200 |
| |
On Thu, 2008-05-01 at 19:55 -0400, 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.
> 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)
Well the package version string is 4.1.1, but the compiler thinks it's 4.1.2, at least on i386, amd64 and ia64:
$ cc -v gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
A small test program agrees:
printf("%d\n", __GNUC_PATCHLEVEL__); $ ./a.out 2
Mike.
| |