Re: [PATCH] ARM: __builtin_return_address works with argument 0
From: Sujit Karataparambil
Date: Wed May 13 2009 - 09:03:39 EST
These seem to be required too. Mostly for optimizations the compiler can
provide. Seem to be supported in gnu.
__builtin_clz
__builtin_constant_p
__builtin_expect
__builtin_frame_address
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0376a/Caceiddh.html
2009/5/13 Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>:
> 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-rt-users" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
-- Sujit K M
--
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/