Re: Linux 2.6.22 released

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Martin Orr <martin@...>
Cc: Andi Kleen <andi@...>, Stefano Rivoir <s.rivoir@...>, Linux Kernel Mailing List <linux-kernel@...>
Date: Wednesday, July 11, 2007 - 5:29 pm

On Wed, 11 Jul 2007, Martin Orr wrote:


Ok, do_notify_resume() which inlines the "setup_frame()" code has has been 
totally buggered by the new compiler.

The code is the

        err |= __put_user(0, &frame->uc.uc_flags);
        err |= __put_user(0, &frame->uc.uc_link);
        err |= __put_user(me->sas_ss_sp, &frame->uc.uc_stack.ss_sp);
        err |= __put_user(sas_ss_flags(regs->rsp),
                          &frame->uc.uc_stack.ss_flags);
        err |= __put_user(me->sas_ss_size, &frame->uc.uc_stack.ss_size);
        err |= setup_sigcontext(&frame->uc.uc_mcontext, regs, set->sig[0], me);
        err |= __put_user(fp, &frame->uc.uc_mcontext.fpstate);

and both compilers do a pretty bad job at this, but at least the old 
compiler generated the errors properly:

-       orl     100(%rsp), %esi # __pu_err, __pu_err
-       orl     96(%rsp), %esi  # __pu_err, __pu_err
-       orl     16(%rsp), %esi  # __pu_err, __pu_err
-       orl     20(%rsp), %esi  # __pu_err, __pu_err
-       orl     24(%rsp), %esi  # __pu_err, __pu_err
-       orl     28(%rsp), %esi  # __pu_err, __pu_err
-       orl     32(%rsp), %esi  # __pu_err, __pu_err
-       orl     36(%rsp), %esi  # __pu_err, __pu_err
-       orl     40(%rsp), %esi  # __pu_err, __pu_err
-       orl     44(%rsp), %esi  # __pu_err, __pu_err
-       orl     48(%rsp), %esi  # __pu_err, __pu_err
-       orl     52(%rsp), %esi  # __pu_err, __pu_err
-       orl     56(%rsp), %esi  # __pu_err, __pu_err
-       orl     60(%rsp), %esi  # __pu_err, __pu_err
-       orl     64(%rsp), %esi  # __pu_err, __pu_err
-       orl     68(%rsp), %esi  # __pu_err, __pu_err
-       orl     72(%rsp), %esi  # __pu_err, __pu_err
-       orl     76(%rsp), %esi  # __pu_err, __pu_err
-       orl     80(%rsp), %esi  # __pu_err, __pu_err
-       orl     84(%rsp), %esi  # __pu_err, __pu_err
-       orl     88(%rsp), %esi  # __pu_err, __pu_err
-       orl     92(%rsp), %esi  # __pu_err, __pu_err

and the new compiler is just incredibly broken:

+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %eax, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err
+       orl     %ecx, %esi      # __pu_err, __pu_err

I don't think this is worth even trying to fix. This is terminal compiler 
breakage. Make a bug-report to the gcc people, the inline asm stuff has 
been totally buggered by that compiler version.

If it mis-compiled that part, it probably miscompiled a lot of other 
things too.

		Linus
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Linux 2.6.22 released, Linus Torvalds, (Sun Jul 8, 7:52 pm)
Re: Linux 2.6.22 released, , (Tue Jul 10, 3:39 pm)
Re: Linux 2.6.22 released, Adrian Bunk, (Tue Jul 10, 6:26 pm)
Re: Linux 2.6.22 released, , (Tue Jul 10, 8:01 pm)
Re: Linux 2.6.22 released, Stefan Richter, (Tue Jul 10, 7:12 pm)
Re: Linux 2.6.22 released, , (Tue Jul 10, 8:32 pm)
Re: Linux 2.6.22 released, Adrian Bunk, (Tue Jul 10, 8:00 pm)
Re: Linux 2.6.22 released, Stefan Richter, (Wed Jul 11, 6:57 am)
Re: Linux 2.6.22 released, Stefano Rivoir, (Tue Jul 10, 3:17 am)
Re: Linux 2.6.22 released, Linus Torvalds, (Tue Jul 10, 11:39 am)
Re: Linux 2.6.22 released, Stefano Rivoir, (Wed Jul 11, 2:38 am)
Re: Linux 2.6.22 released, Theodore Tso, (Wed Jul 11, 12:25 pm)
Re: Linux 2.6.22 released, Martin Orr, (Wed Jul 11, 8:35 am)
Re: Linux 2.6.22 released, Stefano Rivoir, (Wed Jul 11, 10:27 am)
Re: Linux 2.6.22 released, Andi Kleen, (Wed Jul 11, 9:10 am)
Re: Linux 2.6.22 released, Martin Orr, (Wed Jul 11, 1:51 pm)
Re: Linux 2.6.22 released, Linus Torvalds, (Wed Jul 11, 2:01 pm)
Re: Linux 2.6.22 released, Martin Orr, (Wed Jul 11, 5:00 pm)
Re: Linux 2.6.22 released, Linus Torvalds, (Wed Jul 11, 5:29 pm)
Re: Linux 2.6.22 released, Andi Kleen, (Wed Jul 11, 6:16 pm)
Re: Linux 2.6.22 released, Martin Orr, (Sat Jul 14, 11:48 am)
Re: Linux 2.6.22 released, Serge Belyshev, (Wed Jul 11, 6:33 pm)
Re: Linux 2.6.22 released, Linus Torvalds, (Wed Jul 11, 6:37 pm)
Re: Linux 2.6.22 released, Stephen Frost, (Wed Jul 11, 7:56 pm)
Re: Linux 2.6.22 released, Andi Kleen, (Wed Jul 11, 6:43 pm)
Re: Linux 2.6.22 released, Linus Torvalds, (Wed Jul 11, 3:05 am)
Re: Linux 2.6.22 released, Stephen Frost, (Wed Jul 11, 6:55 am)
Re: Linux 2.6.22 released, Stefano Rivoir, (Wed Jul 11, 10:28 am)
Re: Linux 2.6.22 released, Stefan Richter, (Tue Jul 10, 11:59 am)
Re: Linux 2.6.22 released, Andrew Morton, (Tue Jul 10, 4:52 am)
Re: Linux 2.6.22 released, Michal Piotrowski, (Mon Jul 9, 10:25 am)
Re: Linux 2.6.22 released, Jan Engelhardt, (Mon Jul 9, 6:30 am)
Re: Linux 2.6.22 released, Jan Engelhardt, (Mon Jul 9, 7:45 am)
Re: Linux 2.6.22 released, Alan Cox, (Mon Jul 9, 6:14 am)
Re: Linux 2.6.22 released, Chuck Ebbert, (Tue Jul 10, 2:41 pm)
Re: Linux 2.6.22 released, Willy Tarreau, (Mon Jul 9, 1:00 am)
Re: Linux 2.6.22 released, Phil Oester, (Sun Jul 8, 9:08 pm)
Re: Linux 2.6.22 released, Jan De Luyck, (Mon Jul 9, 2:06 am)
Re: Linux 2.6.22 released, Jesper Juhl, (Sun Jul 8, 8:19 pm)