[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: glibc built with gcc-4.1 (update)



Falk Hueffner wrote:
> Aurelien Jarno <aurelien@aurel32.net> writes:
> 
> > Falk Hueffner a écrit :
> >> Aurelien Jarno <aurelien@aurel32.net> writes:
> >>
> >>>On arm, ia64 and alpha the glibc fails to build with gcc-4.1.
> >> On Alpha the problem is:
> >> {standard input}: Assembler messages:
> >> {standard input}:341: Error: macro requires $at register while noat in effect
> >> {standard input}:374: Error: macro requires $at register while noat in effect
> >> {standard input}:438: Error: macro requires $at register while noat in effect
> >> {standard input}:471: Error: macro requires $at register while noat in effect
> >> make[3]: *** [/tmp/buildd/glibc-2.3.6/build-tree/alpha-libc/misc/ioperm.o] Error 1
> >> Hrm. gcc puts .arch ev4 into the .s, and this overrides -mev6 for as.
> >> I cannot really think of anything better than
> >
> > Ok, thanks a lot, I will add it in the SVN soon.
> >
> > Do you think it is a fix or a workaround? Or rather do you think this
> > behaviour is correct?
> 
> Well, the right thing to do would be to turn arch to ev6, and then
> restore it to whatever it was previously; with this patch, it remains
> turned on for the rest of the file and could potentially hide errors.
> However, I don't think that's possible with gas. So given this
> deficiency, I don't think there's a better way.

FYI, the MIPS gas has

	.set push
	.set mips32
	# ...
	.set pop

which is very useful to handle such situations. Alpha gas at least
doesn't document anything similiar, but it might be useful to
implement such a feature for it.


Thiemo



Reply to: