This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Building for older systems
- From: Michael Eager <eager at eagerm dot com>
- To: libc-help at sourceware dot org
- Date: Sun, 29 Nov 2015 06:20:03 -0800
- Subject: Building for older systems
- Authentication-results: sourceware.org; auth=none
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
problem.
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
good.
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 libc.so.
Adding .symver statements is impractical, but also would
not work for the same reason.
Any solutions to building for an older glibc?
--
Michael Eager eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077