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
This commit is contained in:
parent
f6c7d65b66
commit
4c5f989813
5 changed files with 33 additions and 10 deletions
|
@ -1,3 +1,12 @@
|
|||
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>
|
||||
|
||||
* tree-ssanames.c: Fix a comment typo.
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
"%{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic} " \
|
||||
"-X"
|
||||
|
||||
#if defined (__thumb__) && !defined (__THUMB_INTERWORK__)
|
||||
#if defined (__thumb__)
|
||||
#define RENAME_LIBRARY_SET ".thumb_set"
|
||||
#else
|
||||
#define RENAME_LIBRARY_SET ".set"
|
||||
|
|
|
@ -81,7 +81,7 @@ ARM_FUNC_START subdf3
|
|||
ARM_FUNC_ALIAS aeabi_dsub subdf3
|
||||
|
||||
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
|
||||
#endif
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@ ARM_FUNC_START subsf3
|
|||
ARM_FUNC_ALIAS aeabi_fsub subsf3
|
||||
|
||||
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
|
||||
#endif
|
||||
|
||||
|
|
|
@ -94,10 +94,20 @@ Boston, MA 02111-1307, USA. */
|
|||
# define RET bx lr
|
||||
# define RETc(x) bx##x lr
|
||||
|
||||
# if (__ARM_ARCH__ == 4) \
|
||||
&& (defined(__thumb__) || defined(__THUMB_INTERWORK__))
|
||||
# define __INTERWORKING__
|
||||
# endif
|
||||
/* Special precautions for interworking on armv4t. */
|
||||
# if (__ARM_ARCH__ == 4)
|
||||
|
||||
/* 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
|
||||
|
||||
|
@ -192,7 +202,7 @@ SYM (__\name):
|
|||
/* Special function that will always be coded in ARM assembly, even if
|
||||
in Thumb-only compilation. */
|
||||
|
||||
#if defined(__thumb__) && !defined(__THUMB_INTERWORK__)
|
||||
#if defined(__INTERWORKING_STUBS__)
|
||||
.macro ARM_FUNC_START name
|
||||
FUNC_START \name
|
||||
bx pc
|
||||
|
@ -225,13 +235,17 @@ SYM (__\name):
|
|||
|
||||
.macro FUNC_ALIAS new old
|
||||
.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
|
||||
|
||||
.macro ARM_FUNC_ALIAS new old
|
||||
.globl SYM (__\new)
|
||||
EQUIV SYM (__\new), SYM (__\old)
|
||||
#ifdef __thumb__
|
||||
#if defined(__INTERWORKING_STUBS__)
|
||||
.set SYM (_L__\new), SYM (_L__\old)
|
||||
#endif
|
||||
.endm
|
||||
|
|
Loading…
Add table
Reference in a new issue