[PATCH] ARM: __builtin_return_address works with argument 0

From: Uwe Kleine-KÃnig
Date: Wed May 13 2009 - 05:00:34 EST


This saves the function overhead for CALLER_ADDRESS0.

Signed-off-by: Uwe Kleine-KÃnig <u.kleine-koenig@xxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
---
Hi Thomas,

this applies to .29.3-rt12. Feel free to squash this into
arm-tracing-updates.patch.

Best regards
Uwe

arch/arm/include/asm/ftrace.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
index 900fc19..f7e8bac 100644
--- a/arch/arm/include/asm/ftrace.h
+++ b/arch/arm/include/asm/ftrace.h
@@ -15,7 +15,7 @@ extern void mcount(void);
void *return_address(unsigned int);

#define HAVE_ARCH_CALLER_ADDR
-#define CALLER_ADDR0 ((unsigned long)return_address(0))
+#define CALLER_ADDR0 ((unsigned long)__builtin_return_address(0))
#define CALLER_ADDR1 ((unsigned long)return_address(1))
#define CALLER_ADDR2 ((unsigned long)return_address(2))
#define CALLER_ADDR3 ((unsigned long)return_address(3))
--
1.6.2.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/