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.