This is the first set of build system changes to support
architecture versions other than ARMv5TE.

The general approach is to provide TARGET_ARCH_VERSION, to complement
TARGET_ARCH. This defaults to the current armv5te. The variable
values should match the architectures as defined by gcc.

There is a block of defines for each supported architecture version
(currently ARMv5TE and ARMv4). Each block defines a set of features
using ARCH_ARM_HAVE_<x> variables. It also specifies a set of c
preprocessor defines to pass to the compiler. Finally it defines a
default CPU. (As for architecture versions, the default CPU should
match a CPU that gcc knows about.)

Support is added for architectures that do not support THUMB. Specifically
we change the 'thumb compile' target to simply compile as ARM code
instead, and we change the interworking flag passed to the compiler.

Finally, we ensure that the system/core/include/arch/linux-arm directory
is added to the default include path, which allows the use of asm/macros.h
header file described in review #1626. The way in which this done is
considerably unclean/hacky, if someone can suggest a better way please
let me know.
1 file changed
tree: 79d53dc70abacc8b010e0866ade71cf88507f662
  1. core/
  2. libs/
  3. target/
  4. tools/
  5. buildspec.mk.default
  6. cleanspec.mk
  7. envsetup.sh