This is the mail archive of the
mailing list for the GCC project.
Re: RELEASE BLOCKER: Linux doesn't follow x86/x86-64 ABI wrt direction flag
Chris Lattner a écrit :
>>>> Richard Guenther wrote:
>>>>> We didn't yet run into this issue and build openSUSE with 4.3 since
>>>>> three month.
>>>> Well, how often do you take a trap inside an overlapping memmove()?
>>> How hard is it to change the kernel signal entry path from "pushf" to
>>> "pushf;cld"? Problem solved, no?
>> The problem is with old kernels, which by definition stay unfixed.
> My impression was that the problem occurs in GCC compiled code in the
> kernel itself, not in user space:
> 1. User space has direction flag set.
> 2. signal occurs
> 3. kernel code is entered
> 4. kernel code does string operation <boom>
Wrong. Except maybe for the Hurd kernel. For other kernels:
4. signal handler is called
5. signal handler does string operation <boom>
The GCC used to compile the kernel doesn't matter. Using gcc 4.3 to
compile the user code triggers the bug.
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' firstname.lastname@example.org | email@example.com
`- people.debian.org/~aurel32 | www.aurel32.net