On Thu, Mar 06, 2008 at 09:44:05AM +0100, Andi Kleen wrote:"H. Peter Anvin" <hpa@xxxxxxxxx> writes:
Richard Guenther wrote:That was the state with older gcc, but with newer gcc it does not necessarilyWe didn't yet run into this issue and build openSUSE with 4.3 sinceWell, how often do you take a trap inside an overlapping memmove()?
more than
three month.
reset the flag before the next function call.
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.