summaryrefslogtreecommitdiffstats
path: root/target/linux/uml
diff options
context:
space:
mode:
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-09-01 15:31:56 +0000
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-09-01 15:31:56 +0000
commitb3f6d775011516e54e981912ed4c38b1f7fbe49b (patch)
treec186d3150c78fae0e3c4163cd53d9ece00d01fd2 /target/linux/uml
parentb649b987332ab68bf34d8f53b23e197947e68b6a (diff)
[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 000000000..c15828c3a
--- /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);