On 11/28/2010 03:36 PM, Nicholas Miell wrote: > On 11/28/2010 03:13 PM, John Reiser wrote: >> The option to check is controlled by an environment variable >> MEMCPY_CHECK_ which influences choices made by __init_cpu_features >> and the STT_GNU_IFUNC mechanism for choosing alternate implementations >> at runtime. > > If you're going to control it via an environment variable, why not just > make a LD_PRELOADed shared library which intercepts memcpy() in the > usual manner? > > Doing it that way has the added benefit that anybody could use it > immediately, without needing to replace their glibc with a patched > version that will never get merged upstream. Using LD_PRELOAD is a good option in many cases. Having a built-in tool can be more convenient, easier to use, and more likely to be used. Using LD_PRELOAD often involves a trip through two PLTs (Program Linkage Tables), each with an indirect JUMP. Often such a JUMP takes many cycles. A builtin solution that enables using only one indirect JUMP can be faster, enough to make a difference. -- -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel