From a1ae374e1d9ef3d30425da9e86eaa08fb8998c54 Mon Sep 17 00:00:00 2001
From: Nicolas Thill <nico@openwrt.org>
Date: Sun, 2 May 2010 04:20:03 +0000
Subject: [PATCH] target/uml: fix memcpy export on x86_64 with gcc < 4.3
 (closes: #6918)

SVN-Revision: 21293
---
 .../003-fix_memcpy_export_on_x86_64.patch             | 11 +++++++++++
 .../003-fix_memcpy_export_on_x86_64.patch             | 11 +++++++++++
 2 files changed, 22 insertions(+)
 create mode 100644 target/linux/uml/patches-2.6.30/003-fix_memcpy_export_on_x86_64.patch
 create mode 100644 target/linux/uml/patches-2.6.32/003-fix_memcpy_export_on_x86_64.patch

diff --git a/target/linux/uml/patches-2.6.30/003-fix_memcpy_export_on_x86_64.patch b/target/linux/uml/patches-2.6.30/003-fix_memcpy_export_on_x86_64.patch
new file mode 100644
index 0000000000..7d2efe4622
--- /dev/null
+++ b/target/linux/uml/patches-2.6.30/003-fix_memcpy_export_on_x86_64.patch
@@ -0,0 +1,11 @@
+--- a/arch/um/os-Linux/user_syms.c
++++ b/arch/um/os-Linux/user_syms.c
+@@ -23,7 +23,7 @@ extern int printf(const char *, ...);
+ EXPORT_SYMBOL(strstr);
+ #endif
+ 
+-#ifndef __x86_64__
++#if !defined(__x86_64) || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || (__GNUC__ < 4)
+ extern void *memcpy(void *, const void *, size_t);
+ EXPORT_SYMBOL(memcpy);
+ #endif
diff --git a/target/linux/uml/patches-2.6.32/003-fix_memcpy_export_on_x86_64.patch b/target/linux/uml/patches-2.6.32/003-fix_memcpy_export_on_x86_64.patch
new file mode 100644
index 0000000000..7d2efe4622
--- /dev/null
+++ b/target/linux/uml/patches-2.6.32/003-fix_memcpy_export_on_x86_64.patch
@@ -0,0 +1,11 @@
+--- a/arch/um/os-Linux/user_syms.c
++++ b/arch/um/os-Linux/user_syms.c
+@@ -23,7 +23,7 @@ extern int printf(const char *, ...);
+ EXPORT_SYMBOL(strstr);
+ #endif
+ 
+-#ifndef __x86_64__
++#if !defined(__x86_64) || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || (__GNUC__ < 4)
+ extern void *memcpy(void *, const void *, size_t);
+ EXPORT_SYMBOL(memcpy);
+ #endif
-- 
GitLab