This bug is opened to track the issue with cld insn. gcc-4.3.0 does not emit cld instruction anymore in front of string instruction. Due to this, OSes that does not clear direction flag in task switch can enter exception handler with D flag set. This is ABI violation since ABI requires D flag to be cleared on function entry.
Proposed patch (with a lot of follow-up discussion) is here: http://gcc.gnu.org/ml/gcc-patches/2008-03/msg00417.html and further discussion here: http://gcc.gnu.org/ml/gcc-patches/2008-04/msg02026.html -- Summary: cld instruction is not emitted anymore. Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ubizjak at gmail dot com GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36079