Messages in this thread | | | Date | Thu, 1 May 2008 16:59:45 -0700 | From | Andrew Morton <> | Subject | Re: huge gcc 4.1.{0,1} __weak problem |
| |
On Thu, 1 May 2008 16:24:47 -0700 Tom Rini <trini@kernel.crashing.org> wrote:
> On Thu, May 01, 2008 at 03:33:49PM -0700, Andrew Morton wrote: > > On Thu, 1 May 2008 15:27:26 -0700 (PDT) > > Linus Torvalds <torvalds@linux-foundation.org> 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. > > > > > > > Drat. There go my alpha, i386, m68k, s390, sparc and powerpc > > cross-compilers. Vagard, save me! > > > > Meanwhile I guess I can locally unpatch that patch. > > I know I'll come off as an ass, but you can't make new ones with 4.1.2? > It's not like we're talking about gcc 2.95/96 fun here :)
Honestly, I nearly died when I built all those cross-compilers. Sooooooo many combinations of gcc/binutils/glibc refused to work for obscure reasons. Compilation on x86_64 just didn't work at all and I ended up having to build everything on a slow i386 box, etc, etc. The stream of email to Dan got increasingly strident ;)
I think crosstool has become a lot better since then, judging from the ease with which Jens was able to spin up the powerpc compiler, but the trauma was a life-long thing.
Vegard has been making noises about (finally!) preparing and maintaining a decent set of cross-compilers for us. It would be a great service (begs).
| |