diff options
author | Nick Clifton <nickc@redhat.com> | 2011-09-29 11:06:49 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2011-09-29 11:06:49 +0000 |
commit | 29deef8805ffa069090f191a22ec7538649cd70f (patch) | |
tree | 789fa8bd6cfbf6b397cfd651b8a1b6d63ac84447 /libgloss/arm/arm.h | |
parent | 8a91ddb36763aab9339bba50e6da3ebc796ceaef (diff) | |
download | newlib-29deef8805ffa069090f191a22ec7538649cd70f.zip newlib-29deef8805ffa069090f191a22ec7538649cd70f.tar.gz newlib-29deef8805ffa069090f191a22ec7538649cd70f.tar.bz2 |
* arm/arm.h (HAVE_CALL_INDIRECT): Define.
* arm/crt0.S (indirect_call): New macro. Encodes indirect
function calls. Does not use blx for pre-armv5 targets.
Diffstat (limited to 'libgloss/arm/arm.h')
-rw-r--r-- | libgloss/arm/arm.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libgloss/arm/arm.h b/libgloss/arm/arm.h index e8c9d25..26a1ff1 100644 --- a/libgloss/arm/arm.h +++ b/libgloss/arm/arm.h @@ -50,4 +50,13 @@ # define THUMB_V7M_V6M #endif +/* Defined if this target supports the BLX Rm instruction. */ +#if !defined(__ARM_ARCH_2__) \ + && !defined(__ARM_ARCH_3__) \ + && !defined(__ARM_ARCH_3M__) \ + && !defined(__ARM_ARCH_4__) \ + && !defined(__ARM_ARCH_4T__) +# define HAVE_CALL_INDIRECT +#endif + #endif /* _LIBGLOSS_ARM_H */ |