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
commitcd736b93929980d9364a24e0a4f1a06a3d03353d (patch)
treec186d3150c78fae0e3c4163cd53d9ece00d01fd2 /target/linux/uml
parenta11c4665657e56c4e5b73a88a16d0bfe2ca317b7 (diff)
downloadupstream-cd736b93929980d9364a24e0a4f1a06a3d03353d.tar.gz
upstream-cd736b93929980d9364a24e0a4f1a06a3d03353d.tar.bz2
upstream-cd736b93929980d9364a24e0a4f1a06a3d03353d.zip
[uml] fix linking failures against memcpy on x86_64, fix runtime tested successfully
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17458 3c298f89-4303-0410-b956-a3cf2f4a3e73
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);