diff options
author | Peter Seebach <peter.seebach@windriver.com> | 2014-07-11 14:35:43 -0500 |
---|---|---|
committer | Peter Seebach <peter.seebach@windriver.com> | 2014-07-11 14:35:43 -0500 |
commit | 512b84fb539c970464a93107995edf0e775d13fa (patch) | |
tree | b0d80dc593cc1ae53455f782fca94d6e5721f288 | |
parent | 97511c878d455805759caa7146906f552c49eb06 (diff) | |
download | pseudo-PSEUDO_1_6_0.tar.gz pseudo-PSEUDO_1_6_0.tar.bz2 pseudo-PSEUDO_1_6_0.zip |
symbol version tweakspseudo-1.6.0PSEUDO_1_6_0
We don't want to pick up newer memcpy because pseudo sometimes has to
run host binaries even when built against a newer libc.
-rw-r--r-- | ChangeLog.txt | 4 | ||||
-rw-r--r-- | ports/linux/portdefs.h | 14 |
2 files changed, 18 insertions, 0 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt index 8cba765..11f492e 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,3 +1,7 @@ +2014-07-11: + * (seebs) merge in symbol version restrictions (slightly tweaked) + for Linux. + 2014-07-10: * (seebs) Don't pass -L/usr/lib* for sqlite, because that's probably the default. diff --git a/ports/linux/portdefs.h b/ports/linux/portdefs.h index 20ad529..60a8cc1 100644 --- a/ports/linux/portdefs.h +++ b/ports/linux/portdefs.h @@ -11,3 +11,17 @@ * causes errors; you have to leave it empty or specify AT_SYMLINK_FOLLOW. */ #define PSEUDO_LINK_SYMLINK_BEHAVIOR 0 + +/* There were symbol changes that can cause the linker to request + * newer versions of glibc, which causes problems occasionally on + * older hosts if pseudo is built against a newer glibc and then + * run with an older one. Sometimes we can just avoid the symbols, + * but memcpy's pretty hard to get away from. + */ +#define GLIBC_COMPAT_SYMBOL(sym, ver) __asm(".symver " #sym "," #sym "@GLIBC_" #ver) + +#ifdef __amd64__ +GLIBC_COMPAT_SYMBOL(memcpy,2.2.5); +#else /* tentatively assume this means x86 */ +GLIBC_COMPAT_SYMBOL(memcpy,2.0); +#endif |