9
0
Fork 0

Add logic to more clearly specific ARM architecture

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@1722 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo 2009-04-23 02:27:06 +00:00
parent 21880b1d63
commit 4d60ef74db
8 changed files with 181 additions and 8 deletions

View File

@ -28,3 +28,8 @@ buildroot-0.1.4 2009-04-19 <spudmonkey@racsa.co.cr>
* Removed logic to build the target GCC. That is never used.
buildroot-0.1.5 2009-xx-xx <spudmonkey@racsa.co.cr>
* Replaced config/arm-defconfig-4.2.4 with config/arm920t-defconfig-4.2.4
and config/arm926t-defconfig-4.2.4 because of differences in the
way that soft floating point is handled between these two
architectures.

View File

@ -75,6 +75,8 @@ config BR2_arm710
bool "arm710"
config BR2_arm720t
bool "arm720t"
config BR2_arm740t
bool "arm740t"
config BR2_arm920t
bool "arm920t"
config BR2_arm922t
@ -98,6 +100,7 @@ config BR2_ARM_TYPE
default ARM610 if BR2_arm610
default ARM710 if BR2_arm710
default ARM720T if BR2_arm720t
default ARM740T if BR2_arm740t
default ARM920T if BR2_arm920t
default ARM922T if BR2_arm922t
default ARM926T if BR2_arm926t
@ -207,7 +210,42 @@ config BR2_ARCH
default "sh64" if BR2_sh64
default "h8300" if BR2_h8300
default "sparc" if BR2_sparc
default "x86_64" if BR2_x86_64
config BR2_GCC_TARGET_TUNE
string
default i386 if BR2_x86_i386
default i486 if BR2_x86_i486
default i586 if BR2_x86_i586
default i686 if BR2_x86_i686
default arm610 if BR2_arm610
default arm7tdmi if BR2_arm7tdmi || BR2_arm720t || BR2_arm740t
default arm920t if BR2_arm920t
default arm922t if BR2_arm922t
default arm9tdmi if BR2_arm926t
default arm1136jf-s if BR2_arm1136jf_s
default strongarm110 if BR2_sa110
default strongarm1100 if BR2_sa1100
default xscale if BR2_xscale
default iwmmxt if BR2_iwmmxt
config BR2_GCC_TARGET_ARCH
string
default i386 if BR2_x86_i386
default i486 if BR2_x86_i486
default i586 if BR2_x86_i586
default i686 if BR2_x86_i686
default armv3 if BR2_arm610 || BR2_arm710
default armv4 if BR2_sa110 || BR2_sa1100
default armv4t if BR2_arm7tdmi
default armv4t if BR2_arm720t || BR2_arm920t || BR2_arm922t
default armv5te if BR2_arm926t || BR2_arm10t || BR2_xscale
default armv6j if BR2_arm1136jf_s
default iwmmxt if BR2_iwmmxt
config BR2_GCC_TARGET_ABI
string
default apcs-gnu if BR2_ARM_OABI
default aapcs-linux if BR2_ARM_EABI
config BR2_ENDIAN
string

View File

@ -4,9 +4,12 @@ AVAILABLE CONFIGURATIONS
arm-defconfig
Builds an ARM toolchain using gcc 3.4.5
arm-defconfig-4.2.4
arm920t-defconfig-4.2.4
arm926t-defconfig-4.2.4
Builds an ARM toolchain using gcc 4.2.4. This configuration
builds both gcc and g++.
builds both gcc and g++. There are two versions: one for
arm920t (armv4t) and arm926t (arv5t) because of differences
in the way that soft floating is handled in these two architectures.
NOTE: At present, there are issues with some of the binutils
programs (arm-elf-objcopy in particular) that cause Floating

View File

@ -22,11 +22,12 @@ BR2_arm=y
# BR2_h8300 is not set
# BR2_sparc is not set
# BR2_x86_64 is not set
BR2_generic_arm=y
# BR2_generic_arm is not set
# BR2_arm610 is not set
# BR2_arm710 is not set
# BR2_arm720t is not set
# BR2_arm920t is not set
# BR2_arm740t is not set
BR2_arm920t=y
# BR2_arm922t is not set
# BR2_arm926t is not set
# BR2_arm1136jf_s is not set
@ -34,10 +35,13 @@ BR2_generic_arm=y
# BR2_sa1100 is not set
# BR2_xscale is not set
# BR2_iwmmxt is not set
BR2_ARM_TYPE="GENERIC_ARM"
BR2_ARM_TYPE="ARM920T"
BR2_ARM_OABI=y
# BR2_ARM_EABI is not set
BR2_ARCH="arm"
BR2_GCC_TARGET_TUNE="arm920t"
BR2_GCC_TARGET_ARCH="armv4t"
BR2_GCC_TARGET_ABI="apcs-gnu"
BR2_ENDIAN="LITTLE"
#

View File

@ -0,0 +1,109 @@
#
# Automatically generated make config: don't edit
#
BR2_HAVE_DOT_CONFIG=y
# BR2_alpha is not set
BR2_arm=y
# BR2_armeb is not set
# BR2_avr32 is not set
# BR2_bfin is not set
# BR2_cris is not set
# BR2_i386 is not set
# BR2_m32c is not set
# BR2_m68k is not set
# BR2_m68hc11 is not set
# BR2_m68hc12 is not set
# BR2_mips is not set
# BR2_mipsel is not set
# BR2_nios2 is not set
# BR2_powerpc is not set
# BR2_sh is not set
# BR2_sh64 is not set
# BR2_h8300 is not set
# BR2_sparc is not set
# BR2_x86_64 is not set
# BR2_generic_arm is not set
# BR2_arm610 is not set
# BR2_arm710 is not set
# BR2_arm720t is not set
# BR2_arm740t is not set
# BR2_arm920t is not set
# BR2_arm922t is not set
BR2_arm926t=y
# BR2_arm1136jf_s is not set
# BR2_sa110 is not set
# BR2_sa1100 is not set
# BR2_xscale is not set
# BR2_iwmmxt is not set
BR2_ARM_TYPE="ARM926T"
BR2_ARM_OABI=y
# BR2_ARM_EABI is not set
BR2_ARCH="arm"
BR2_GCC_TARGET_TUNE="arm9tdmi"
BR2_GCC_TARGET_ARCH="armv5te"
BR2_GCC_TARGET_ABI="apcs-gnu"
BR2_ENDIAN="LITTLE"
#
# Build options
#
BR2_WGET="wget --passive-ftp"
BR2_SVN="svn co"
BR2_ZCAT="zcat"
BR2_BZCAT="bzcat"
BR2_TAR_OPTIONS=""
BR2_DL_DIR="$(BASE_DIR)/../archives"
BR2_SOURCEFORGE_MIRROR="easynews"
BR2_ATMEL_MIRROR="ftp://at91dist:distrib@81.80.104.162/AT91_Third_Party_Design_Flow/Linux_Host/"
BR2_AT91_PATCH_MIRROR="http://maxim.org.za/AT91RM9200/2.6/"
BR2_STAGING_DIR="$(BUILD_DIR)/staging_dir"
BR2_NUTTX_DIR="$(TOPDIR)/../nuttx"
BR2_TOPDIR_PREFIX=""
BR2_TOPDIR_SUFFIX=""
BR2_GNU_BUILD_SUFFIX="arm-elf"
BR2_GNU_TARGET_SUFFIX="elf"
# BR2_PREFER_IMA is not set
# BR2_DEPRECATED is not set
#
# Toolchain Options
#
#
# Binutils Options
#
# BR2_BINUTILS_VERSION_2_17 is not set
BR2_BINUTILS_VERSION_2_19=y
BR2_BINUTILS_VERSION="2.19"
BR2_EXTRA_BINUTILS_CONFIG_OPTIONS=""
#
# GCC Options
#
# BR2_GCC_VERSION_3_4_6 is not set
BR2_GCC_VERSION_4_2_4=y
BR2_GCC_SUPPORTS_SYSROOT=y
BR2_GCC_VERSION="4.2.4"
# BR2_GCC_USE_SJLJ_EXCEPTIONS is not set
BR2_EXTRA_GCC_CONFIG_OPTIONS=""
BR2_INSTALL_LIBSTDCPP=y
# BR2_INSTALL_LIBGCJ is not set
# BR2_INSTALL_OBJC is not set
# BR2_INSTALL_FORTRAN is not set
#
# Gdb Options
#
# BR2_PACKAGE_GDB is not set
# BR2_PACKAGE_GDB_SERVER is not set
# BR2_PACKAGE_GDB_HOST is not set
#
# Common Toolchain Options
#
# BR2_PACKAGE_SSTRIP_TARGET is not set
# BR2_PACKAGE_SSTRIP_HOST is not set
# BR2_ENABLE_MULTILIB is not set
BR2_LARGEFILE=y
BR2_SOFT_FLOAT=y
BR2_TARGET_OPTIMIZATION="-Os -pipe"

View File

@ -44,6 +44,20 @@ TARGET_SOFT_FLOAT:=
ARCH_FPU_SUFFIX:=
endif
# some additional defaults
ifneq ($(strip $(subst ",,$(BR2_GCC_TARGET_ARCH))),)
# ")))
GCC_WITH_ARCH:=--with-arch=$(BR2_GCC_TARGET_ARCH)
endif
ifneq ($(strip $(subst ",,$(BR2_GCC_TARGET_TUNE))),)
# ")))
GCC_WITH_TUNE:=--with-tune=$(BR2_GCC_TARGET_TUNE)
endif
ifneq ($(strip $(subst ",,$(BR2_GCC_TARGET_ABI))),)
# ")))
GCC_WITH_ABI:=--with-abi=$(BR2_GCC_TARGET_ABI)
endif
ifeq ($(strip $(BR2_PACKAGE_GCC_TARGET)),y)
# pull in config opts from the user
EXTRA_TARGET_GCC_CONFIG_OPTIONS:=$(strip $(subst ",, $(BR2_EXTRA_TARGET_GCC_CONFIG_OPTIONS)))

View File

@ -123,7 +123,7 @@ $(GCC_BUILD_DIR)/.configured: $(GCC_DIR)/.patched $(GCC_STAGING_PREREQ)
$(THREADS) \
$(MULTILIB) \
$(SOFT_FLOAT_CONFIG_OPTION) \
$(GCC_WITH_CPU) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \
$(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \
$(GCC_USE_SJLJ_EXCEPTIONS) \
$(DISABLE_LARGEFILE) \
$(EXTRA_GCC_CONFIG_OPTIONS));

View File

@ -121,7 +121,7 @@ $(GCC_BUILD_DIR)/.configured: $(GCC_DIR)/.patched $(GCC_STAGING_PREREQ)
$(THREADS) \
$(MULTILIB) \
$(SOFT_FLOAT_CONFIG_OPTION) \
$(GCC_WITH_CPU) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \
$(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \
$(GCC_USE_SJLJ_EXCEPTIONS) \
$(DISABLE_LARGEFILE) \
$(EXTRA_GCC_CONFIG_OPTIONS));