mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-16 18:57:31 +02:00
[kernel] MIPS: add a build fix for arch/mips/boot/compressed/decompress.c
And get rid of the AR7 patch because at least the Alchemy SoC also needs it Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34170 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
d5f52f466e
commit
edf444b665
@ -1,12 +0,0 @@
|
|||||||
--- a/arch/mips/boot/compressed/decompress.c
|
|
||||||
+++ b/arch/mips/boot/compressed/decompress.c
|
|
||||||
@@ -44,6 +44,9 @@ void error(char *x)
|
|
||||||
#define STATIC static
|
|
||||||
|
|
||||||
#ifdef CONFIG_KERNEL_GZIP
|
|
||||||
+#ifdef memcpy
|
|
||||||
+#undef memcpy
|
|
||||||
+#endif
|
|
||||||
void *memcpy(void *dest, const void *src, size_t n)
|
|
||||||
{
|
|
||||||
int i;
|
|
@ -0,0 +1,71 @@
|
|||||||
|
From 0db3db45f5bd6df4bdc03bbd5dec672e16164c4e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Florian Fainelli <florian@openwrt.org>
|
||||||
|
Date: Mon, 12 Nov 2012 12:31:55 +0100
|
||||||
|
Subject: [PATCH] MIPS: decompressor: fix build failure on memcpy() in
|
||||||
|
decompress.c
|
||||||
|
|
||||||
|
The decompress.c file includes linux/kernel.h which causes the following
|
||||||
|
inclusion chain to be pulled:
|
||||||
|
linux/kernel.h ->
|
||||||
|
linux/dynamic_debug.h ->
|
||||||
|
linux/string.h ->
|
||||||
|
asm/string.h
|
||||||
|
|
||||||
|
We end up having a the GCC builtin + architecture specific memcpy() expanding
|
||||||
|
into this:
|
||||||
|
|
||||||
|
void *({ size_t __len = (size_t n); void *__ret; if
|
||||||
|
(__builtin_constant_p(size_t n) && __len >= 64) __ret = memcpy((void *dest),
|
||||||
|
(const void *src), __len); else __ret = __builtin_memcpy((void *dest), (const
|
||||||
|
void *src), __len); __ret; })
|
||||||
|
{
|
||||||
|
[memcpy implementation in decompress.c starts here]
|
||||||
|
int i;
|
||||||
|
const char *s = src;
|
||||||
|
char *d = dest;
|
||||||
|
|
||||||
|
for (i = 0; i < n; i++)
|
||||||
|
d[i] = s[i];
|
||||||
|
return dest;
|
||||||
|
}
|
||||||
|
|
||||||
|
raising the following compilation error:
|
||||||
|
arch/mips/boot/compressed/decompress.c:46:8: error: expected identifier or '('
|
||||||
|
before '{' token
|
||||||
|
|
||||||
|
There are at least three possibilities to fix this issue:
|
||||||
|
|
||||||
|
1) define _LINUX_STRING_H_ at the beginning of decompress.c to prevent
|
||||||
|
further linux/string.h definitions and declarations from being used, and add
|
||||||
|
an explicit strstr() declaration for linux/dynamic_debug.h
|
||||||
|
|
||||||
|
2) remove the inclusion of linux/kernel.h because we actually use no definition
|
||||||
|
or declaration from this header file
|
||||||
|
|
||||||
|
3) undefine memcpy or re-define memcpy to memcpy thus resulting in picking up
|
||||||
|
the local memcpy() implementation to this compilation unit
|
||||||
|
|
||||||
|
This patch uses the second option which is the less intrusive one.
|
||||||
|
|
||||||
|
Signed-off-by: Florian Fainelli <florian@openwrt.org>
|
||||||
|
---
|
||||||
|
arch/mips/boot/compressed/decompress.c | 2 --
|
||||||
|
1 file changed, 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/arch/mips/boot/compressed/decompress.c b/arch/mips/boot/compressed/decompress.c
|
||||||
|
index 5cad0fa..d6c5586 100644
|
||||||
|
--- a/arch/mips/boot/compressed/decompress.c
|
||||||
|
+++ b/arch/mips/boot/compressed/decompress.c
|
||||||
|
@@ -10,9 +10,7 @@
|
||||||
|
* Free Software Foundation; either version 2 of the License, or (at your
|
||||||
|
* option) any later version.
|
||||||
|
*/
|
||||||
|
-
|
||||||
|
#include <linux/types.h>
|
||||||
|
-#include <linux/kernel.h>
|
||||||
|
|
||||||
|
#include <asm/addrspace.h>
|
||||||
|
|
||||||
|
--
|
||||||
|
1.7.10.4
|
||||||
|
|
Loading…
Reference in New Issue
Block a user