Browse Source

s:THUMB_INTERWORK:USE_BX:, thx Khem Raj

Peter S. Mazinger 19 years ago
parent
commit
f34cf7cc3b
3 changed files with 13 additions and 5 deletions
  1. 10 2
      ldso/ldso/arm/dl-startup.h
  2. 1 1
      libc/sysdeps/linux/arm/clone.S
  3. 2 2
      libc/sysdeps/linux/arm/vfork.S

+ 10 - 2
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"

+ 1 - 1
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

+ 2 - 2
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