mirror of
https://github.com/linux-sunxi/meta-sunxi.git
synced 2024-11-14 09:18:23 +01:00
062c1477cf
The linux-sunxi 3.4 kernel could not be compiled with gcc5 (which is standard in master now). Add two patches to make it compile again. - Add missing compiler-gcc5.h - Fix "multiple definition of `return_address'" errors Open issue: All realtek wifi drivers fail to compile. Because of this keep info to switch back to gcc4 in readme. Signed-off-by: Jens Lucius <info@jenslucius.com>
51 lines
1.7 KiB
Diff
51 lines
1.7 KiB
Diff
From ef4fea130eeb70eff4f3a549fd3f6e9b11437550 Mon Sep 17 00:00:00 2001
|
|
From: ZaneZam <cyxman@yahoo.com>
|
|
Date: Thu, 26 Mar 2015 14:50:10 +0100
|
|
Subject: [PATCH] arm: LLVMLinux: use static inline in ARM ftrace.h
|
|
|
|
With compilers which follow the C99 standard (like modern versions of gcc and
|
|
clang), "extern inline" does the wrong thing (emits code for an externally
|
|
linkable version of the inline function). In this case using static inline
|
|
and removing the NULL version of return_address in return_address.c does
|
|
the right thing.
|
|
|
|
Signed-off-by: Behan Webster <behanw@converseincode.com>
|
|
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
|
|
|
|
source: http://www.serverphorums.com/read.php?12,880351,880351#msg-880351
|
|
---
|
|
arch/arm/include/asm/ftrace.h | 2 +-
|
|
arch/arm/kernel/return_address.c | 2 ++
|
|
2 files changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
|
|
index f89515a..2bb8cac 100644
|
|
--- a/arch/arm/include/asm/ftrace.h
|
|
+++ b/arch/arm/include/asm/ftrace.h
|
|
@@ -45,7 +45,7 @@ void *return_address(unsigned int);
|
|
|
|
#else
|
|
|
|
-extern inline void *return_address(unsigned int level)
|
|
+static inline void *return_address(unsigned int level)
|
|
{
|
|
return NULL;
|
|
}
|
|
diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c
|
|
index f1aef84..49477f0 100644
|
|
--- a/arch/arm/kernel/return_address.c
|
|
+++ b/arch/arm/kernel/return_address.c
|
|
@@ -62,10 +62,12 @@ void *return_address(unsigned int level)
|
|
/* #warning "TODO: return_address should use unwind tables" */
|
|
#endif
|
|
|
|
+/*
|
|
void *return_address(unsigned int level)
|
|
{
|
|
return NULL;
|
|
}
|
|
+*/
|
|
|
|
#endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */
|
|
|