This small wrapper has for goal to workaround issues with some programs
calling memcpy() with source and destination overlap, causing issues on
recent GNU libc versions, which might copy memory backward on some 
x86-64 CPU. For more details, see
    http://sourceware.org/bugzilla/show_bug.cgi?id=12518

The wrapper is built in two versions, memcpy-preload.so for "production"
usage, which just fix the wrong call by using memmove, and 
memcpy-syslog-preload.so for "debugging" purposes which also logs the 
issue through syslog (rate limited).

To use them for a specific binary, you can use the LD_PRELOAD 
environment variable:
    LD_PRELOAD=./memcpy-preload.so /path/to/binary
    LD_PRELOAD=./memcpy-syslog-preload.so /path/to/binary

For system-wide usage, it is possible to add this wrapper in
/etc/ld.so.preload.
