Re: [PATCH] make CALLER_ADDRx overwriteable

Uwe Kleine-König
2009-02-27T11:22:50Z

Hi,

On Fri, Feb 27, 2009 at 04:32:45PM +0900, KOSAKI Motohiro wrote:
> > -#ifdef CONFIG_FRAME_POINTER
> > -/* TODO: need to fix this for ARM */
> > -# define CALLER_ADDR0 ((unsigned long)__builtin_return_address(0))
> > -# define CALLER_ADDR1 ((unsigned long)__builtin_return_address(1))
> > -# define CALLER_ADDR2 ((unsigned long)__builtin_return_address(2))
> > -# define CALLER_ADDR3 ((unsigned long)__builtin_return_address(3))
> > -# define CALLER_ADDR4 ((unsigned long)__builtin_return_address(4))
> > -# define CALLER_ADDR5 ((unsigned long)__builtin_return_address(5))
> > -# define CALLER_ADDR6 ((unsigned long)__builtin_return_address(6))
> > -#else
> > -# define CALLER_ADDR0 ((unsigned long)__builtin_return_address(0))
> > -# define CALLER_ADDR1 0UL
> > -# define CALLER_ADDR2 0UL
> > -# define CALLER_ADDR3 0UL
> > -# define CALLER_ADDR4 0UL
> > -# define CALLER_ADDR5 0UL
> > -# define CALLER_ADDR6 0UL
> > -#endif
> > +#ifndef CALLER_ADDR0
>
> but I think this "#ifndef CALLER_ADDR0" don't explain developer intention at all.
> ARCH_HAS_XXXXX macro is better?
OK, this seems clearer. I'd use HAVE_ARCH_CALLER_ADDR though.

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |