From e71fc570caec4f2d4bbe729dfe9eb41bfe5a732a Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Sat, 18 Apr 2015 22:41:46 +0200 Subject: arm: Add BX and BXC macros Signed-off-by: Bernhard Reutner-Fischer --- libc/sysdeps/linux/arm/bits/uClibc_arch_features.h | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'libc/sysdeps/linux/arm/bits/uClibc_arch_features.h') diff --git a/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h b/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h index b01d79c5c..e85aa52fe 100644 --- a/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h +++ b/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h @@ -48,6 +48,32 @@ /* only weird assemblers generally need this */ #undef __UCLIBC_ASM_LINE_SEP__ + +/* The __ARM_ARCH define is provided by gcc 4.8. Construct it otherwise. */ +#ifndef __ARM_ARCH +# ifdef __ARM_ARCH_2__ +# define __ARM_ARCH 2 +# elif defined (__ARM_ARCH_3__) || defined (__ARM_ARCH_3M__) +# define __ARM_ARCH 3 +# elif defined (__ARM_ARCH_4__) || defined (__ARM_ARCH_4T__) +# define __ARM_ARCH 4 +# elif defined (__ARM_ARCH_5__) || defined (__ARM_ARCH_5E__) \ + || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__) \ + || defined(__ARM_ARCH_5TEJ__) +# define __ARM_ARCH 5 +# elif defined (__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \ + || defined (__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) \ + || defined (__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__) +# define __ARM_ARCH 6 +# elif defined (__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \ + || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \ + || defined(__ARM_ARCH_7EM__) +# define __ARM_ARCH 7 +# else +# error unknown arm architecture +# endif +#endif + #ifdef __GNUC__ # define __need_uClibc_config_h # include -- cgit v1.2.3