Re: 2.4.31 & latest binutils: asm-problems still there

From: Marcelo Tosatti
Date: Sun Jun 05 2005 - 18:11:45 EST


On Sat, Jun 04, 2005 at 05:29:31AM +0200, Herbert Rosmanith wrote:
>
> good morning,
>
> I've just tried to compile 2.4.31 and it still doesn't compile
> cleanly with the latest binutils release.
>
> gcc -D__KERNEL__ -I/data/root/linux-2.4.31/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -nostdinc -iwithprefix include -DKBUILD_BASENAME=process -c -o process.o process.c
> {standard input}: Assembler messages:
> {standard input}:750: Error: suffix or operands invalid for `mov'
> {standard input}:751: Error: suffix or operands invalid for `mov'
> {standard input}:845: Error: suffix or operands invalid for `mov'
> {standard input}:846: Error: suffix or operands invalid for `mov'
> {standard input}:897: Error: suffix or operands invalid for `mov'
> {standard input}:898: Error: suffix or operands invalid for `mov'
> {standard input}:900: Error: suffix or operands invalid for `mov'
> {standard input}:912: Error: suffix or operands invalid for `mov'
>
> alessandro suardi told me that this problem is solved using the
> patch from:
> http://www.kernel.org/pub/linux/devel/binutils/linux-2.4-seg-4.patch
>
> which are dated from march (2005-03-27) and therefore, about 3 months
> old.
>
> it's about time this gets into the official kernel. who is in charge
> of it? (it's obviously not sufficient to report to lkml).

Looks OK except that one "movl" conversion was forgotten in
the x86-64 diff:

@@ -609,7 +609,7 @@ struct task_struct *__switch_to(struct t
}
{
unsigned gsindex;
- asm volatile("movl %%gs,%0" : "=g" (gsindex));
+ asm volatile("movl %%gs,%0" : "=r" (gsindex));
if (unlikely((gsindex | next->gsindex) || prev->gs)) {

Who wrote the patch?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/