[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: direction flag issue?
On Mon, Mar 10, 2008 at 04:45:27PM +0100, Tobias Nygren wrote:
> I stumbled across this message in the release annoucement for recently
> released GCC 4.3.0. It looks like at least our amd64 port and linux
> compat layer needs the fix to work with binaries built with GCC 4.3.
> The FreeBSD PR below has the most straightforward fix for us, I think.
> There is one important caveat. It was discovered after the final
> release has been made that some OS kernels on i?86 and x86_64
> architectures violate the processor specific ABI with regards to the DF
> flag, if a process is interrupted with a signal while doing overlapping
> memmove or running some other code with DF flag set, the signal handler
> might be started with DF flag set on entry to the signal handler. GCC
> 4.3.0 no longer emits cld instructions unnecessarily, so GCC 4.3.0
> compiled async signal handlers or functions the signal handlers call
> that rely on DF flag being cleared might misbehave. This will be
> hopefully fixed in the kernels soon and future GCC releases might
> provide an optional workaround for this bug. Fixes for some systems:
> FreeBSD http://www.freebsd.org/cgi/query-pr.cgi?pr=121422
I fixed this for i386 a few months ago, amd64 may still need updating.
Main Index |
Thread Index |