From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20611 invoked by alias); 31 Dec 2013 08:26:16 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 20582 invoked by uid 48); 31 Dec 2013 08:26:13 -0000 From: "trippels at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/59644] [4.9 Regression] r206243 miscompiles Linux kernel Date: Tue, 31 Dec 2013 08:26:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: trippels at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-12/txt/msg02481.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59644 --- Comment #6 from Markus Trippelsdorf --- linux % diff -u kernel/printk/printk.o /var/tmp/linux/kernel/printk/printk.o --- kernel/printk/printk.o 2013-12-31 09:23:45.569490147 +0100 +++ /var/tmp/linux/kernel/printk/printk.o 2013-12-31 09:23:22.066697479 +0100 @@ -2517,19 +2517,16 @@ printk_emit: pushq %rbp movq %rsp, %rbp - pushq %r10 - leaq -56(%rbp), %rax - leaq 16(%rbp), %r10 subq $72, %rsp + leaq 16(%rbp), %r10 movq %r9, -16(%rbp) + leaq -56(%rbp), %rax leaq -80(%rbp), %r9 - movq %r10, -72(%rbp) movl $40, -80(%rbp) + movq %r10, -72(%rbp) movq %rax, -64(%rbp) call vprintk_emit - addq $72, %rsp - popq %r10 - popq %rbp + leave ret .size printk_emit, .-printk_emit .LCOLDE44: @@ -2680,28 +2677,25 @@ printk: pushq %rbp movq %rsp, %rbp - pushq %r10 - leaq -56(%rbp), %rax - leaq 16(%rbp), %r10 subq $72, %rsp + leaq 16(%rbp), %r10 movq %rsi, -48(%rbp) movq %rdx, -40(%rbp) movq %rcx, -32(%rbp) movq %r8, -24(%rbp) - xorl %ecx, %ecx + leaq -56(%rbp), %rax movq %r9, -16(%rbp) movq %rdi, %r8 leaq -80(%rbp), %r9 + xorl %ecx, %ecx xorl %edx, %edx orl $-1, %esi xorl %edi, %edi - movq %r10, -72(%rbp) movl $8, -80(%rbp) + movq %r10, -72(%rbp) movq %rax, -64(%rbp) call vprintk_emit - addq $72, %rsp - popq %r10 - popq %rbp + leave ret .size printk, .-printk .LCOLDE47: @@ -4052,7 +4046,6 @@ printk_sched: pushq %rbp movq %rsp, %rbp - pushq %r10 pushq %rbx leaq 16(%rbp), %r10 subq $80, %rsp @@ -4105,7 +4098,6 @@ #NO_APP addq $80, %rsp popq %rbx - popq %r10 popq %rbp ret .size printk_sched, .-printk_sched @@ -4691,26 +4683,23 @@ dump_stack_set_arch_desc: pushq %rbp movq %rsp, %rbp - pushq %r10 - leaq -56(%rbp), %rax - leaq 16(%rbp), %r10 subq $72, %rsp + leaq 16(%rbp), %r10 movq %rsi, -48(%rbp) movq %rdx, -40(%rbp) movq %rcx, -32(%rbp) + leaq -56(%rbp), %rax movq %rdi, %rdx leaq -80(%rbp), %rcx movl $128, %esi movq $dump_stack_arch_desc_str, %rdi - movq %r10, -72(%rbp) movq %r8, -24(%rbp) movq %r9, -16(%rbp) movl $8, -80(%rbp) + movq %r10, -72(%rbp) movq %rax, -64(%rbp) call vsnprintf - addq $72, %rsp - popq %r10 - popq %rbp + leave ret .size dump_stack_set_arch_desc, .-dump_stack_set_arch_desc .LCOLDE92: