This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] ARM: Fix clone build for ARMv4


On 01/23/2014 06:49 AM, Will Newton wrote:
> ARMv4 does not have the blx instruction, so use the BLX macro which
> handles abstracting this for us.
> 
> ports/ChangeLog.arm:
> 
> 2014-01-23  Will Newton  <will.newton@linaro.org>
> 
> 	[BZ #16499]
> 	* sysdeps/unix/sysv/linux/arm/clone.S: Use BLX macro instead
> 	of blx instruction directly.
> ---
>  ports/sysdeps/unix/sysv/linux/arm/clone.S | 8 +-------
>  1 file changed, 1 insertion(+), 7 deletions(-)
> 
> diff --git a/ports/sysdeps/unix/sysv/linux/arm/clone.S b/ports/sysdeps/unix/sysv/linux/arm/clone.S
> index 44286a5..03fe9ab 100644
> --- a/ports/sysdeps/unix/sysv/linux/arm/clone.S
> +++ b/ports/sysdeps/unix/sysv/linux/arm/clone.S
> @@ -88,14 +88,8 @@ PSEUDO_END (__clone)
>  #endif
>  	@ pick the function arg and call address off the stack and execute
>  	ldr	r0, [sp, #4]
> -#if defined(__ARM_ARCH_4T__) && defined(__THUMB_INTERWORK__)
>  	ldr 	ip, [sp], #8
> -	mov	lr, pc
> -	bx      ip
> -#else
> -	ldr 	lr, [sp], #8
> -	blx	lr
> -#endif
> +	BLX (ip)

Looks good.

>  
>  	@ and we are done, passing the return value through r0
>  	b	PLTJMP(HIDDEN_JUMPTARGET(_exit))
> 

Did you test this or ask the submitter to test it?

If he says it works then OK to commit.

Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]