2005-02-05 05:29:13

by Michael Frank at BerliOS

[permalink] [raw]
Subject: [PATCH] 2.6.11-rc3 fix compile failure in arch/i386/kernel/i387.c

Using patch-2.6.11-rc3.bz2 from kernel.org on top of 2.6.10,
a compile failure in /arch/i386/kernel/i387.c due to tsk->used_math undef.

The patch log shows offsets but no rejects

patching file arch/i386/kernel/i387.c
Hunk #6 succeeded at 538 (offset 15 lines).
Hunk #7 succeeded at 553 (offset 15 lines).

Patch below fixes it.

Regards
Michael

Signed off by: Michael Frank <[email protected]>

diff -uN linux-2.6.11-rc3-Vanilla/arch/i386/kernel/i387.c linux-2.6.11-rc3-mhf241/arch/i386/kernel/i387.c
--- linux-2.6.11-rc3-Vanilla/arch/i386/kernel/i387.c 2005-02-04 10:43:06.000000000 +0100
+++ linux-2.6.11-rc3-mhf241/arch/i386/kernel/i387.c 2005-02-04 11:12:53.000000000 +0100
@@ -526,7 +526,7 @@
int fpvalid;
struct task_struct *tsk = current;

- fpvalid = tsk->used_math && cpu_has_fxsr;
+ fpvalid = !!used_math() && cpu_has_fxsr;
if ( fpvalid ) {
unlazy_fpu( tsk );
memcpy( fpu, &tsk->thread.i387.fxsave,


2005-02-05 05:36:47

by Al Viro

[permalink] [raw]
Subject: Re: [PATCH] 2.6.11-rc3 fix compile failure in arch/i386/kernel/i387.c

On Sat, Feb 05, 2005 at 06:29:06AM +0100, Michael Frank at BerliOS wrote:
> Using patch-2.6.11-rc3.bz2 from kernel.org on top of 2.6.10,
> a compile failure in /arch/i386/kernel/i387.c due to tsk->used_math undef.
>
> The patch log shows offsets but no rejects
>
> patching file arch/i386/kernel/i387.c
> Hunk #6 succeeded at 538 (offset 15 lines).
> Hunk #7 succeeded at 553 (offset 15 lines).

No offsets (or compile problems) here. Have you verified that your 2.6.10
had no local changes?

2005-02-05 07:40:45

by Michael Frank at BerliOS

[permalink] [raw]
Subject: Re: [PATCH] 2.6.11-rc3 fix compile failure in arch/i386/kernel/i387.c

On Saturday 05 February 2005 13:36, you wrote:
> On Sat, Feb 05, 2005 at 06:29:06AM +0100, Michael Frank at BerliOS wrote:
> > Using patch-2.6.11-rc3.bz2 from kernel.org on top of
> > 2.6.10, a compile failure in /arch/i386/kernel/i387.c
> > due to tsk->used_math undef.
> >
> > The patch log shows offsets but no rejects
> >
> > patching file arch/i386/kernel/i387.c
> > Hunk #6 succeeded at 538 (offset 15 lines).
> > Hunk #7 succeeded at 553 (offset 15 lines).
>
> No offsets (or compile problems) here. Have you verified
> that your 2.6.10 had no local changes?

OK, checked that after downloading Vanilla 2.6.10 from kernel.org

My local tree which was built incrementally since 2.6.8 or so has an extra function:

$ mdiff -kd xx linux-2.6.10-Vanilla linux-2.6.10-Today
diff -uN -r -X /etc/sys/dont/kexdiff linux-2.6.10-Vanilla/Makefile linux-2.6.10-Today/Makefile
--- linux-2.6.10-Vanilla/Makefile 2005-01-04 5:54:17.000000000 +0100
+++ linux-2.6.10-Today/Makefile 2005-02-05 08:02:11.000000000 +0100
@@ -336,7 +336,7 @@
CFLAGS_MODULE = $(MODFLAGS)
AFLAGS_MODULE = $(MODFLAGS)
LDFLAGS_MODULE = -r
-CFLAGS_KERNEL =-g
+CFLAGS_KERNEL =
AFLAGS_KERNEL =

NOSTDINC_FLAGS = -nostdinc -iwithprefix include
diff -uN -r -X /etc/sys/dont/kexdiff linux-2.6.10-Vanilla/arch/i386/kernel/i387.c linux-2.6.10-Today/arch/i386/kernel/i387.c
--- linux-2.6.10-Vanilla/arch/i386/kernel/i387.c 2005-01-04 5:54:17.000000000 +0100
+++ linux-2.6.10-Today/arch/i386/kernel/i387.c 2005-02-05 08:02:13.000000000 +0100
@@ -519,21 +519,6 @@
return fpvalid;
}

-int dump_extended_fpu( struct pt_regs *regs, struct user_fxsr_struct *fpu )
-{
- int fpvalid;
- struct task_struct *tsk = current;
-
- fpvalid = tsk->used_math && cpu_has_fxsr;
- if ( fpvalid ) {
- unlazy_fpu( tsk );
- memcpy( fpu, &tsk->thread.i387.fxsave,
- sizeof(struct user_fxsr_struct) );
- }
-
- return fpvalid;
-}
-
int dump_task_fpu(struct task_struct *tsk, struct user_i387_struct *fpu)
{
int fpvalid = tsk->used_math;

Above are the only differences between both trees and I have not touched i387.c

Looking at earlier patch logs, the 15 line offset appeared first with 2.6.10-rc3
and there were no rejects.

Would you happen to know when this function was removed?

Thank You
Michael

2005-02-05 07:51:52

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [PATCH] 2.6.11-rc3 fix compile failure in arch/i386/kernel/i387.c

On Sat, Feb 05, 2005 at 08:40:14AM +0100, Michael Frank at BerliOS wrote:
>
> My local tree which was built incrementally since 2.6.8 or so has an extra function:
>
> $ mdiff -kd xx linux-2.6.10-Vanilla linux-2.6.10-Today
> diff -uN -r -X /etc/sys/dont/kexdiff linux-2.6.10-Vanilla/Makefile linux-2.6.10-Today/Makefile
> --- linux-2.6.10-Vanilla/Makefile 2005-01-04 5:54:17.000000000 +0100
> +++ linux-2.6.10-Today/Makefile 2005-02-05 08:02:11.000000000 +0100
> @@ -336,7 +336,7 @@
> CFLAGS_MODULE = $(MODFLAGS)
> AFLAGS_MODULE = $(MODFLAGS)
> LDFLAGS_MODULE = -r
> -CFLAGS_KERNEL =-g
> +CFLAGS_KERNEL =

Just a hint.
Use CONFIG_DEBUG_INFO - then you do not have to edit the Makefile.

Sam