https://sourceware.org/bugzilla/show_bug.cgi?id=30120
Bug ID: 30120 Summary: x87: fucomp assembled as fucom Product: binutils Version: 2.41 (HEAD) Status: NEW Severity: normal Priority: P2 Component: gas Assignee: unassigned at sourceware dot org Reporter: matz at suse dot de Target Milestone: --- % cat asm.s fucomp %st(1) % ./gas/as-new asm.s && objdump -d a.out ... 0000000000000000 <.text>: 0: dd e1 fucom %st(1) It should be 'dd e9 fucomp %st(1)'. This results in the x87 sometimes not be popped and wrong results. (GCC generates fucom{i,}p sometimes, of course). Possibly some other mnemonics are affected as well, where there are popping (or twice-popping) and non-popping variants, but this is one that effectively made glibc miscompiled (in the sqrt implementation that uses 'isless'). -- You are receiving this mail because: You are on the CC list for the bug.