diff options
| -rw-r--r-- | ldso/ldso/arm/dl-startup.h | 12 | ||||
| -rw-r--r-- | libc/sysdeps/linux/arm/clone.S | 2 | ||||
| -rw-r--r-- | libc/sysdeps/linux/arm/vfork.S | 4 | 
3 files changed, 13 insertions, 5 deletions
| diff --git a/ldso/ldso/arm/dl-startup.h b/ldso/ldso/arm/dl-startup.h index f40d47f48..43985d002 100644 --- a/ldso/ldso/arm/dl-startup.h +++ b/ldso/ldso/arm/dl-startup.h @@ -1,9 +1,13 @@  /* vi: set sw=4 ts=4: */  /*   * Architecture specific code used by dl-startup.c - * Copyright (C) 2000-2004 by Erik Andersen <andersen@codepoet.org> + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.   */ +#include <features.h> +  #if !defined(__thumb__)  __asm__(      "	.text\n" @@ -41,7 +45,7 @@ __asm__(  	"	ldr	r0, .L_FINI_PROC\n"  	"	ldr	r0, [sl, r0]\n"  	"	@ jump to the user_s entry point\n" -#if defined(__THUMB_INTERWORK__) +#if defined(__USE_BX__)  	"	bx	r6\n"  #else  	"	mov	pc, r6\n" @@ -107,7 +111,11 @@ __asm__(  	"	ldr	r0, .L_FINI_PROC\n"  	"	ldr	r0, [r7, r0]\n"  	"	@ jump to the user_s entry point\n" +#if defined(__USE_BX__)  	"	bx	r6\n" +#else +	"	mov	pc, r6\n" +#endif  	"\n\n"  	".L_GET_GOT:\n"  	"	.word	_GLOBAL_OFFSET_TABLE_ - .L_GOT_GOT - 4\n" diff --git a/libc/sysdeps/linux/arm/clone.S b/libc/sysdeps/linux/arm/clone.S index 66848e548..a5a847d1e 100644 --- a/libc/sysdeps/linux/arm/clone.S +++ b/libc/sysdeps/linux/arm/clone.S @@ -52,7 +52,7 @@ clone:  	DO_CALL (clone)  	movs	a1, a1  	blt	__error -#if defined(__THUMB_INTERWORK__) +#if defined(__USE_BX__)  	bxne	lr  #else  	movne	pc, lr diff --git a/libc/sysdeps/linux/arm/vfork.S b/libc/sysdeps/linux/arm/vfork.S index 486a7e8e4..607ffe5a6 100644 --- a/libc/sysdeps/linux/arm/vfork.S +++ b/libc/sysdeps/linux/arm/vfork.S @@ -26,7 +26,7 @@ __vfork:  #ifdef __NR_vfork  	DO_CALL (vfork)  	cmn	r0, #4096 -#if defined(__THUMB_INTERWORK__) +#if defined(__USE_BX__)  	bxcc	lr  #else  	movcc	pc, lr @@ -43,7 +43,7 @@ __vfork:  	cmn     r0, #4096  	/* Syscall worked.  Return to child/parent */ -#if defined(__THUMB_INTERWORK__) +#if defined(__USE_BX__)  	bxcc	lr  #else  	movcc   pc, lr | 
