Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

direction flag issue?



Hi,

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.

--8<----8<----8<--

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:
Linux
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e40cd10ccff3d9fbffd57b93780bee4b7b9bff51
FreeBSD http://www.freebsd.org/cgi/query-pr.cgi?pr=121422
Hurd
http://sources.redhat.com/ml/libc-alpha/2008-03/msg00020.html

--8<----8<----8<--


Home | Main Index | Thread Index | Old Index