Building for older systems

Ángel González keisial@gmail.com
Tue Dec 8 21:17:00 GMT 2015


On 01/12/15 16:03, Michael Eager wrote:
> On 11/29/2015 05:05 PM, Ángel González wrote:
>> If you just want to work around the memcpy 2.14 version bump, you can:
>> a) #define memcpy memmove
>
> That is more or less equivalent to including a .symver for memcpy.
>
> The problem is that this needs to be included in each of many thousands
> of source files.

Is it easy on your build system to globally add -Dmemcpy=memmove into 
CFLAGS?



>
>> b) Use a memcpy wrapper that explicitely uses the old symbol, as
>> described in http://stackoverflow.com/a/8862631
>>
>> This does work, I find strange your claim that “requirements for
>> memcpy@GLIBC_2.14 are inherited from libc.so”.
>
> I haven't investigated where this is happening, but I am linking
> object files which do not have dependencies on memcpy@GLIBC_2.14
> and the resulting executable does.  Possibly there is a dependency
> in crti.o or crtn.o.
I don't think so. Then those solutions would never work. Maybe some 
header or C++ template is hiding a memcpy?

Regards




More information about the Libc-help mailing list