https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78512

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
I run md5sum on the object files with and without -fno-printf-return-value.
Looking at a few files that differ they show a common pattern:

good vs bad diff:
@@ -312,7 +312,7 @@
        movq    $.LC1, %rsi
        movq    %rax, %rdi
        call    sprintf
-       cltq
+       movl    $2, %eax
        ret
        .size   show_tx_maxrate, .-show_tx_maxrate
        .section        .rodata.str1.1
@@ -338,8 +338,8 @@
        movq    $.LC3, %rsi
        movq    %rbp, %rdi
        call    sprintf
+       movl    $1, %eax
        popq    %rbx
-       cltq
        popq    %rbp
        ret
        .size   show_trans_timeout, .-show_trans_timeout
@@ -749,7 +749,7 @@
        movq    $fmt_u64, %rsi
        movq    %rbp, %rdi
        call    sprintf
-       cltq
+       movl    $2, %eax
 .L121:
        movl    $-256, %edx
etc.

Not sure if this a valid transformation or even the root cause of the issue.

Reply via email to