[PATCH 3/4] arm64: LLVMLinux: Calculate current_thread_info from current_stack_pointer

Andreas Färber afaerber at suse.de
Wed Jul 30 22:31:30 PDT 2014


Hi,

Am 31.07.2014 01:57, schrieb behanw at converseincode.com:
> From: Behan Webster <behanw at converseincode.com>
> 
> Use the global current_stack_pointer to get the value of the stack pointer.
> This change supports being able to compile the kernel with both gcc and clang.
> 
> Signed-off-by: Behan Webster <behanw at converseincode.com>
> Signed-off-by: Mark Charlebois <charlebm at gmail.com>
> Reviewed-by: Jan-Simon M??ller <dl9pf at gmx.de>

Something went wrong with ö encoding here and in 2/4.

> ---
>  arch/arm64/include/asm/thread_info.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/include/asm/thread_info.h b/arch/arm64/include/asm/thread_info.h
> index e6b6094..c2432d2 100644
> --- a/arch/arm64/include/asm/thread_info.h
> +++ b/arch/arm64/include/asm/thread_info.h
> @@ -80,8 +80,8 @@ static inline struct thread_info *current_thread_info(void) __attribute_const__;
>  
>  static inline struct thread_info *current_thread_info(void)
>  {
> -	register unsigned long sp asm ("sp");
> -	return (struct thread_info *)(sp & ~(THREAD_SIZE - 1));
> +	return (struct thread_info *) \

This is not a macro, so \ seems superfluous.

Looks okay otherwise.

Regards,
Andreas

> +		(current_stack_pointer & ~(THREAD_SIZE - 1));
>  }
>  
>  #define thread_saved_pc(tsk)	\

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



More information about the linux-arm-kernel mailing list