diff options
author | Imre Kaloz <kaloz@openwrt.org> | 2014-03-07 11:27:00 +0000 |
---|---|---|
committer | Imre Kaloz <kaloz@openwrt.org> | 2014-03-07 11:27:00 +0000 |
commit | 074af75668dd491042b07a26059927da38f13663 (patch) | |
tree | 58362fbaa56de52bda6c4aafc825d5bf5c40ec09 /target/linux/generic/patches-3.14/062-mips_decompressor_build_fix.patch | |
parent | 96fa58bafd6b311a9a3686b704bf8074905c4bea (diff) | |
download | master-31e0f0ae-074af75668dd491042b07a26059927da38f13663.tar.gz master-31e0f0ae-074af75668dd491042b07a26059927da38f13663.tar.bz2 master-31e0f0ae-074af75668dd491042b07a26059927da38f13663.zip |
add preliminary 3.14 support
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
SVN-Revision: 39789
Diffstat (limited to 'target/linux/generic/patches-3.14/062-mips_decompressor_build_fix.patch')
-rw-r--r-- | target/linux/generic/patches-3.14/062-mips_decompressor_build_fix.patch | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.14/062-mips_decompressor_build_fix.patch b/target/linux/generic/patches-3.14/062-mips_decompressor_build_fix.patch new file mode 100644 index 0000000000..52c45c38e0 --- /dev/null +++ b/target/linux/generic/patches-3.14/062-mips_decompressor_build_fix.patch @@ -0,0 +1,66 @@ +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(-) + +--- 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> + |