Add an __ARM_ARCH__ macro defined to the arch version to simplify checks for >= some version.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32238 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
François Revol 2009-08-11 03:02:44 +00:00
parent ac7d1d9870
commit bad4d0ccdc
2 changed files with 49 additions and 1 deletions

View File

@ -0,0 +1,46 @@
/*
* Copyright 2008, François Revol, revol@free.fr.
* Distributed under the terms of the MIT License.
*/
#ifndef SYSTEM_ARCH_ARM_ARCH_ARM_VERSION_H
#define SYSTEM_ARCH_ARM_ARCH_ARM_VERSION_H
/* map all the various ARM defines to arch version to allow checking for minimal arch */
#if defined(__ARM_ARCH_2__) || defined(__ARM_ARCH_3__)
#error we do not support this
#endif
#if defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__)
#define __ARM_ARCH__ 4
#endif
#if defined(__ARM_ARCH_5__) \
|| defined(__ARM_ARCH_5E__) \
|| defined(__ARM_ARCH_5T__) \
|| defined(__ARM_ARCH_5TE__) \
|| defined(__ARM_ARCH_5TEJ__)
#define __ARM_ARCH__ 5
#endif
#if defined(__ARM_ARCH_6__) \
|| defined(__ARM_ARCH_6J__) \
|| defined(__ARM_ARCH_6K__) \
|| defined(__ARM_ARCH_6ZK__) \
|| defined(__ARM_ARCH_6T2__)
#define __ARM_ARCH__ 6
#endif
#if defined(__ARM_ARCH_7__) \
|| defined(__ARM_ARCH_7A__) \
|| defined(__ARM_ARCH_7R__) \
|| defined(__ARM_ARCH_7M__)
#define __ARM_ARCH__ 7
#endif
#ifndef __ARM_ARCH__
#error cannot determine arm arch version
#endif
#endif /* SYSTEM_ARCH_ARM_ARCH_ARM_VERSION_H */

View File

@ -6,12 +6,14 @@
#define SYSTEM_ARCH_ARM_ASM_DEFS_H
/* include arch version helpers */
#include <arch_arm_version.h>
#define SYMBOL(name) .global name; name
#define SYMBOL_END(name) 1: .size name, 1b - name
#define STATIC_FUNCTION(name) .type name, %function; name
#define FUNCTION(name) .global name; .type name, %function; name
#define FUNCTION_END(name) 1: .size name, 1b - name
#endif /* SYSTEM_ARCH_ARM_ASM_DEFS_H */