Re: [PATCH] make CALLER_ADDRx overwriteable

Steven Rostedt
2009-02-27T15:22:17Z

On Fri, 27 Feb 2009, Uwe Kleine-K?nig wrote:

> 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.

Yes, I agree using HAVE_ARH_CALLER_ADDR is the way to handle this.

Thanks,

-- Steve