Commit 4c5f9898 by Paul Brook Committed by Paul Brook

bpabi.h (RENAME_LIBRARY_SET): Always use .thumb_set in thumb mode.

2005-04-30  Paul Brook  <paul@codesourcery.com>

	* config/arm/bpabi.h (RENAME_LIBRARY_SET): Always use .thumb_set in
	thumb mode.
	* config/arm/ieee754-df.S: Use __INTERWORKING_STUBS__.
	* config/arm/ieee754-sf.S: Ditto.
	* config/arm/lib1funcs.asm: Define and use __INTERWORKING_STUBS__.
	(FUNC_ALIAS): Use .thumb_set for thumb routines.

From-SVN: r99043
parent f6c7d65b
2005-04-30 Paul Brook <paul@codesourcery.com>
* config/arm/bpabi.h (RENAME_LIBRARY_SET): Always use .thumb_set in
thumb mode.
* config/arm/ieee754-df.S: Use __INTERWORKING_STUBS__.
* config/arm/ieee754-sf.S: Ditto.
* config/arm/lib1funcs.asm: Define and use __INTERWORKING_STUBS__.
(FUNC_ALIAS): Use .thumb_set for thumb routines.
2005-04-30 Kazu Hirata <kazu@cs.umass.edu> 2005-04-30 Kazu Hirata <kazu@cs.umass.edu>
* tree-ssanames.c: Fix a comment typo. * tree-ssanames.c: Fix a comment typo.
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
"%{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic} " \ "%{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic} " \
"-X" "-X"
#if defined (__thumb__) && !defined (__THUMB_INTERWORK__) #if defined (__thumb__)
#define RENAME_LIBRARY_SET ".thumb_set" #define RENAME_LIBRARY_SET ".thumb_set"
#else #else
#define RENAME_LIBRARY_SET ".set" #define RENAME_LIBRARY_SET ".set"
......
...@@ -81,7 +81,7 @@ ARM_FUNC_START subdf3 ...@@ -81,7 +81,7 @@ ARM_FUNC_START subdf3
ARM_FUNC_ALIAS aeabi_dsub subdf3 ARM_FUNC_ALIAS aeabi_dsub subdf3
eor yh, yh, #0x80000000 @ flip sign bit of second arg eor yh, yh, #0x80000000 @ flip sign bit of second arg
#if defined(__thumb__) && !defined(__THUMB_INTERWORK__) #if defined(__INTERWORKING_STUBS__)
b 1f @ Skip Thumb-code prologue b 1f @ Skip Thumb-code prologue
#endif #endif
......
...@@ -62,7 +62,7 @@ ARM_FUNC_START subsf3 ...@@ -62,7 +62,7 @@ ARM_FUNC_START subsf3
ARM_FUNC_ALIAS aeabi_fsub subsf3 ARM_FUNC_ALIAS aeabi_fsub subsf3
eor r1, r1, #0x80000000 @ flip sign bit of second arg eor r1, r1, #0x80000000 @ flip sign bit of second arg
#if defined(__thumb__) && !defined(__THUMB_INTERWORK__) #if defined(__INTERWORKING_STUBS__)
b 1f @ Skip Thumb-code prologue b 1f @ Skip Thumb-code prologue
#endif #endif
......
...@@ -94,10 +94,20 @@ Boston, MA 02111-1307, USA. */ ...@@ -94,10 +94,20 @@ Boston, MA 02111-1307, USA. */
# define RET bx lr # define RET bx lr
# define RETc(x) bx##x lr # define RETc(x) bx##x lr
# if (__ARM_ARCH__ == 4) \ /* Special precautions for interworking on armv4t. */
&& (defined(__thumb__) || defined(__THUMB_INTERWORK__)) # if (__ARM_ARCH__ == 4)
# define __INTERWORKING__
# endif /* Always use bx, not ldr pc. */
# if (defined(__thumb__) || defined(__THUMB_INTERWORK__))
# define __INTERWORKING__
# endif /* __THUMB__ || __THUMB_INTERWORK__ */
/* Include thumb stub before arm mode code. */
# if defined(__thumb__) && !defined(__THUMB_INTERWORK__)
# define __INTERWORKING_STUBS__
# endif /* __thumb__ && !__THUMB_INTERWORK__ */
#endif /* __ARM_ARCH == 4 */
#else #else
...@@ -192,7 +202,7 @@ SYM (__\name): ...@@ -192,7 +202,7 @@ SYM (__\name):
/* Special function that will always be coded in ARM assembly, even if /* Special function that will always be coded in ARM assembly, even if
in Thumb-only compilation. */ in Thumb-only compilation. */
#if defined(__thumb__) && !defined(__THUMB_INTERWORK__) #if defined(__INTERWORKING_STUBS__)
.macro ARM_FUNC_START name .macro ARM_FUNC_START name
FUNC_START \name FUNC_START \name
bx pc bx pc
...@@ -225,13 +235,17 @@ SYM (__\name): ...@@ -225,13 +235,17 @@ SYM (__\name):
.macro FUNC_ALIAS new old .macro FUNC_ALIAS new old
.globl SYM (__\new) .globl SYM (__\new)
EQUIV SYM (__\new), SYM (__\old) #if defined (__thumb__)
.thumb_set SYM (__\new), SYM (__\old)
#else
.set SYM (__\new), SYM (__\old)
#endif
.endm .endm
.macro ARM_FUNC_ALIAS new old .macro ARM_FUNC_ALIAS new old
.globl SYM (__\new) .globl SYM (__\new)
EQUIV SYM (__\new), SYM (__\old) EQUIV SYM (__\new), SYM (__\old)
#ifdef __thumb__ #if defined(__INTERWORKING_STUBS__)
.set SYM (_L__\new), SYM (_L__\old) .set SYM (_L__\new), SYM (_L__\old)
#endif #endif
.endm .endm
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment