Building for older systems

Michael Eager
Sun Nov 29 14:20:00 GMT 2015

I'm trying to build packages (gcc, etc.) on a newer
version of Linux which can run on an older Linux system
with an older glibc.  I've run into the memcpy versioning

Changes to memcpy in glibc-2.14 broke some programs which
used it incorrectly, so the modified memcpy was versioned
memcpy@GLIBC_2.14, which prevented old copies of these
buggy program from getting the new memcpy().  All well and

This also means new programs compiled on a current glibc
require memcpy@GLIBC_2.14, even if they would work without
problem with the memcpy() from the older glibc.

I've been trying every way I can think of to build packages
with a current glibc which will run on an pre-2.14 glibc.
This includes adding a static memcpy.o to the executable.
This doesn't work, because the executable inherits the
requirements for memcpy@GLIBC_2.14 from

Adding .symver statements is impractical, but also would
not work for the same reason.

Any solutions to building for an older glibc?

Michael Eager
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077

More information about the Libc-help mailing list