diff options
| -rw-r--r-- | meta/recipes-devtools/pseudo/files/symver.patch | 26 | ||||
| -rw-r--r-- | meta/recipes-devtools/pseudo/pseudo.inc | 4 |
2 files changed, 28 insertions, 2 deletions
diff --git a/meta/recipes-devtools/pseudo/files/symver.patch b/meta/recipes-devtools/pseudo/files/symver.patch new file mode 100644 index 0000000000..8d1b377ec0 --- /dev/null +++ b/meta/recipes-devtools/pseudo/files/symver.patch | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | When running as pseudo-nativesdk, we might need to run host binaries | ||
| 2 | linked against the host libc. Having a 2.14 libc dependency from memcpy is | ||
| 3 | problematic so instruct the linker to use older symbols. | ||
| 4 | |||
| 5 | Upstream-Status: Pending | ||
| 6 | |||
| 7 | RP 2012/4/22 | ||
| 8 | |||
| 9 | Index: pseudo-1.3/pseudo.h | ||
| 10 | =================================================================== | ||
| 11 | --- pseudo-1.3.orig/pseudo.h 2012-04-22 12:17:59.078909060 +0000 | ||
| 12 | +++ pseudo-1.3/pseudo.h 2012-04-22 12:32:42.954888587 +0000 | ||
| 13 | @@ -29,6 +29,13 @@ | ||
| 14 | int pseudo_set_value(const char *key, const char *value); | ||
| 15 | char *pseudo_get_value(const char *key); | ||
| 16 | |||
| 17 | +#ifdef __amd64__ | ||
| 18 | +#define GLIBC_COMPAT_SYMBOL(SYM) __asm__(".symver " #SYM "," #SYM "@GLIBC_2.2.5") | ||
| 19 | +#else | ||
| 20 | +#define GLIBC_COMPAT_SYMBOL(SYM) __asm__(".symver " #SYM "," #SYM "@GLIBC_2.0") | ||
| 21 | +#endif | ||
| 22 | +GLIBC_COMPAT_SYMBOL(memcpy); | ||
| 23 | + | ||
| 24 | #include "pseudo_tables.h" | ||
| 25 | |||
| 26 | extern void pseudo_debug_verbose(void); | ||
diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc index 3a37c694f0..8798018a4b 100644 --- a/meta/recipes-devtools/pseudo/pseudo.inc +++ b/meta/recipes-devtools/pseudo/pseudo.inc | |||
| @@ -9,6 +9,8 @@ SECTION = "base" | |||
| 9 | LICENSE = "LGPL2.1" | 9 | LICENSE = "LGPL2.1" |
| 10 | DEPENDS = "sqlite3" | 10 | DEPENDS = "sqlite3" |
| 11 | 11 | ||
| 12 | SRC_URI_append_virtclass-nativesdk = " file://symver.patch" | ||
| 13 | |||
| 12 | FILES_${PN} = "${libdir}/pseudo/lib*/libpseudo.so ${bindir}/* ${localstatedir}/pseudo ${prefix}/var/pseudo" | 14 | FILES_${PN} = "${libdir}/pseudo/lib*/libpseudo.so ${bindir}/* ${localstatedir}/pseudo ${prefix}/var/pseudo" |
| 13 | FILES_${PN}-dbg += "${libdir}/pseudo/lib*/.debug" | 15 | FILES_${PN}-dbg += "${libdir}/pseudo/lib*/.debug" |
| 14 | PROVIDES += "virtual/fakeroot" | 16 | PROVIDES += "virtual/fakeroot" |
| @@ -75,8 +77,6 @@ do_install_append_virtclass-nativesdk () { | |||
| 75 | mkdir -p ${D}${prefix}/lib/pseudo/lib | 77 | mkdir -p ${D}${prefix}/lib/pseudo/lib |
| 76 | cp lib/pseudo/lib/libpseudo.so ${D}${prefix}/lib/pseudo/lib/. | 78 | cp lib/pseudo/lib/libpseudo.so ${D}${prefix}/lib/pseudo/lib/. |
| 77 | fi | 79 | fi |
| 78 | |||
| 79 | create_wrapper ${D}${bindir}/pseudo LD_LIBRARY_PATH=${base_libdir}:${libdir} | ||
| 80 | } | 80 | } |
| 81 | 81 | ||
| 82 | BBCLASSEXTEND = "native nativesdk" | 82 | BBCLASSEXTEND = "native nativesdk" |
