Jakub Jelinek wrote:
On Thu, Mar 06, 2008 at 09:44:05AM +0100, Andi Kleen wrote:
"H. Peter Anvin" <[EMAIL PROTECTED]> writes:

Richard Guenther wrote:
We didn't yet run into this issue and build openSUSE with 4.3 since
more than
three month.

Well, how often do you take a trap inside an overlapping memmove()?
That was the state with older gcc, but with newer gcc it does not necessarily
reset the flag before the next function call.

If so, that's a much worse bug.

so e.g. if you have

        memmove(...)
        for (... very long loop .... ) {
                /* no function calls */
                /* signals happen */
        }

the signal could see the direction flag

memmove is supposed to (and does) do a cld insn after it finishes the
backward copying.

You can still take a signal inside memmove() itself, of course.

        -hpa

Reply via email to