aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/uml
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2009-09-01 15:31:56 +0000
committerFlorian Fainelli <florian@openwrt.org>2009-09-01 15:31:56 +0000
commit090842a624d38c5dfd58f0e7602abfb47232b73c (patch)
treead32c8630fdfbed2b31b82d38999ebc098bfe0c1 /target/linux/uml
parent291de07cb0817732abddea19c2a9d82691f90424 (diff)
downloadupstream-090842a624d38c5dfd58f0e7602abfb47232b73c.tar.gz
upstream-090842a624d38c5dfd58f0e7602abfb47232b73c.tar.bz2
upstream-090842a624d38c5dfd58f0e7602abfb47232b73c.zip
fix linking failures against memcpy on x86_64, fix runtime tested successfully
SVN-Revision: 17458
Diffstat (limited to 'target/linux/uml')
-rw-r--r--target/linux/uml/patches/003-memcpy_x86_64_fix.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/target/linux/uml/patches/003-memcpy_x86_64_fix.patch b/target/linux/uml/patches/003-memcpy_x86_64_fix.patch
new file mode 100644
index 0000000000..c15828c3aa
--- /dev/null
+++ b/target/linux/uml/patches/003-memcpy_x86_64_fix.patch
@@ -0,0 +1,26 @@
+--- a/arch/um/os-Linux/user_syms.c 2009-08-16 23:19:38.000000000 +0200
++++ b/arch/um/os-Linux/user_syms.c 2009-09-01 17:05:40.000000000 +0200
+@@ -23,10 +23,8 @@
+ EXPORT_SYMBOL(strstr);
+ #endif
+
+-#ifndef __x86_64__
+ extern void *memcpy(void *, const void *, size_t);
+ EXPORT_SYMBOL(memcpy);
+-#endif
+
+ EXPORT_SYMBOL(memmove);
+ EXPORT_SYMBOL(memset);
+--- a/arch/um/sys-x86_64/ksyms.c 2009-08-16 23:19:38.000000000 +0200
++++ b/arch/um/sys-x86_64/ksyms.c 2009-09-01 17:13:47.000000000 +0200
+@@ -2,10 +2,5 @@
+ #include <asm/string.h>
+ #include <asm/checksum.h>
+
+-/*XXX: we need them because they would be exported by x86_64 */
+-#if (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) || __GNUC__ > 4
+-EXPORT_SYMBOL(memcpy);
+-#else
+ EXPORT_SYMBOL(__memcpy);
+-#endif
+ EXPORT_SYMBOL(csum_partial);