http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59644

--- Comment #6 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
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:

Reply via email to