Compiling with -O1 -finline-small-functions -fpeephole2 -freorder-functions -fschedule-insns fails, but removing the -freorder-functions works.
The only difference in the assembler files produces is a set of section directives:
diff error.S.noreorder error-bad.S 503a504 > .section .text.unlikely,"ax",%progbits 732a734 > .text 806a809 > .section .text.unlikely 1065a1069 > .text 2476a2481 > .section .text.startup,"ax",%progbits
Removing that first .text.unlikely section mark makes it work.
Dave
Compiling with -O1 -finline- small-functions -fpeephole2 -freorder-functions -fschedule-insns fails, but removing the -freorder-functions works.
The only difference in the assembler files produces is a set of section directives:
diff error.S.noreorder error-bad.S "ax",%progbits "ax",%progbits
503a504
> .section .text.unlikely,
732a734
> .text
806a809
> .section .text.unlikely
1065a1069
> .text
2476a2481
> .section .text.startup,
Removing that first .text.unlikely section mark makes it work.
Dave