[sane-devel] Schedule for release of sane-backends 1.0.22

Julien BLACHE jb at jblache.org
Sat Jan 8 08:43:00 UTC 2011

Nicolas Martin <nicolas0martin at gmail.com> wrote:


> What is weird here, is that the effect of overlap in memcpy does not
> seem to produce the same effect on different systems !

Using memcpy() on overlapping memory areas is undefined behaviour per

glibc has several memcpy() implementations optimized for different
hardware capabilities. A recent implementation for Atom/Core2 CPUs
performs the copy from tail to head (giving a nice 4x/5x speedup on
these CPUs), which breaks with overlapping memory areas.

Using memmove() is the correct way to handle overlapping areas, as

See <http://lwn.net/Articles/414467/> for more (links/comments).



Julien BLACHE                                   <http://www.jblache.org> 
<jb at jblache.org>                                  GPG KeyID 0xF5D65169

More information about the sane-devel mailing list