xtensa: support configurable processor configurations

Xtensa is a configurable processor architecture, which allows to define
additional instructions and registers. The required variant specific
information for the toolchain is delivered in an 'overlay' file, which
needs to be 'untarred' to the corresponding directories after the
source is installed and patched.
This patch provides support for binutils, gcc, and gdb with a very
limited changes to the build scripts. These additions are only executed
for the Xtensa architecture and have no effect on other architectures.

[Thomas: rebased on top of the 'arch: improve definition of gcc mtune,
mcpu, etc.' patch, and changed 'Target ABI' to 'Target Architecture
Variant'].

Signed-off-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Chris Zankel
2012-11-15 03:53:52 +00:00
committed by Peter Korsgaard
parent 75720db391
commit d8792a04ca
4 changed files with 48 additions and 0 deletions

View File

@@ -68,5 +68,14 @@ define BINUTILS_INSTALL_TARGET_CMDS
endef
endif
XTENSA_CORE_NAME = $(call qstrip, $(BR2_xtensa_core_name))
ifneq ($(XTENSA_CORE_NAME),)
define BINUTILS_XTENSA_PRE_PATCH
tar xf $(BR2_xtensa_overlay_dir)/xtensa_$(XTENSA_CORE_NAME).tar \
-C $(@D) bfd include ld
endef
HOST_BINUTILS_PRE_PATCH_HOOKS += BINUTILS_XTENSA_PRE_PATCH
endif
$(eval $(autotools-package))
$(eval $(host-autotools-package))