summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2007-09-29 19:17:39 +0000
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2007-09-29 19:17:39 +0000
commit3de7a21bc743a691b158bd078569b4c9040fb60c (patch)
treed5c9a4008412aaf017cb0e376446b0a008bc5fe3
parent7a478629c14a91a87c416a255cfd83581f438ded (diff)
- add mips/mipsel target architecture selection
- rename BR2_ARM_[EO]ABI to the commonly used BR2_[EO]ABI
-rw-r--r--target/Config.in.arch51
-rw-r--r--target/device/Arm/Config.in4
-rw-r--r--target/device/Arm/Makefile.in2
-rw-r--r--target/device/Arm/integrator926_defconfig4
-rw-r--r--target/device/Arm/integrator926_huge_defconfig4
-rw-r--r--target/device/Atmel/at91rm9200df/at91rm9200df_defconfig4
-rw-r--r--target/device/Atmel/at91sam9260dfc/at91sam9260dfc_defconfig4
-rw-r--r--target/device/Atmel/at91sam9260pf/at91sam9260pf_defconfig4
-rw-r--r--target/device/Atmel/at91sam9261ek/at91sam9261ek_defconfig4
-rw-r--r--target/linux-experimental/Makefile.in2
-rw-r--r--target/linux/Makefile.in2
-rw-r--r--toolchain/uClibc/uclibc.mk22
12 files changed, 82 insertions, 25 deletions
diff --git a/target/Config.in.arch b/target/Config.in.arch
index 7a75044cc..6ac81a209 100644
--- a/target/Config.in.arch
+++ b/target/Config.in.arch
@@ -111,18 +111,59 @@ config BR2_ARM_TYPE
choice
prompt "Target ABI"
depends BR2_arm || BR2_armeb
- default BR2_ARM_OABI
+ default BR2_OABI
help
Application Binary Interface to use
-config BR2_ARM_OABI
+config BR2_OABI
bool "OABI"
-config BR2_ARM_EABI
+config BR2_EABI
bool "EABI"
endchoice
choice
prompt "Target Architecture Variant"
+ depends BR2_mips || BR2_mipsel
+ default BR2_mips_3
+ help
+ Specific CPU variant to use
+
+config BR2_mips_1
+ bool "mips 1"
+config BR2_mips_2
+ bool "mips 2"
+config BR2_mips_3
+ bool "mips 3"
+config BR2_mips_4
+ bool "mips 4"
+config BR2_mips_32
+ bool "mips 32"
+config BR2_mips_32r2
+ bool "mips 32r2"
+config BR2_mips_64
+ bool "mips 64"
+config BR2_mips16_
+ bool "mips 16"
+endchoice
+
+
+choice
+ prompt "Target ABI"
+ depends BR2_mips || BR2_mipsel
+ default BR2_EABI
+ help
+ Application Binary Interface to use
+
+config BR2_OABI
+ bool "OABI"
+config BR2_EABI
+ bool "EABI"
+config BR2_ABI64
+ bool "N64"
+endchoice
+
+choice
+ prompt "Target Architecture Variant"
depends BR2_avr32
config BR2_at32ap7000
bool "AT32AP7000"
@@ -642,11 +683,11 @@ config BR2_GCC_TARGET_ABI
default aapcs if BR2_arm_dunno
default aapcs-linux if BR2_arm_dunno
default iwmmxt if BR2_iwmmxt
- default 32 if BR2_mipsel && BR2_OABI
+ default 32 if (BR2_mipsel || BR2_arm) && BR2_OABI
default n32 if BR2_mipsel && BR2_EABI
default o64 if BR2_mips && BR2_OABI
+ default eabi if (BR2_mips || BR2_arm) && BR2_EABI
default 64 if BR2_mips && BR2_ABI64
- default eabi if BR2_mips && BR2_EABI
default mmixware if BR2_mmix && BR2_ABI_native
default gnu if BR2_mmix && !BR2_ABI_native
default altivec if BR2_powerpc && BR2_ABI_altivec
diff --git a/target/device/Arm/Config.in b/target/device/Arm/Config.in
index a52f9ef64..c14f24661 100644
--- a/target/device/Arm/Config.in
+++ b/target/device/Arm/Config.in
@@ -12,8 +12,8 @@ config BR2_TARGET_ARM_INTEGRATOR_926
depends BR2_arm
default n
select BR2_PACKAGE_LINUX
- select BR2_ARM_EABI
- select BR2_KERNEL_HEADERS_2_6_20
+ select BR2_EABI
+ select BR2_KERNEL_HEADERS_2_6_22
select BR2_PTHREADS
select BR2_arm926t
help
diff --git a/target/device/Arm/Makefile.in b/target/device/Arm/Makefile.in
index a55389e7f..db1b81240 100644
--- a/target/device/Arm/Makefile.in
+++ b/target/device/Arm/Makefile.in
@@ -7,7 +7,7 @@ UCLIBC_CONFIG_FILE:=target/device/Arm/uClibc.integrator926.config
endif
# pin some settings
-BR2_ARM_EABI:=y
+BR2_EABI:=y
BR2_GNU_TARGET_SUFFIX:="linux-uclibcgnueabi"
BR2_DEFAULT_KERNEL_HEADERS:="2.6.22.8"
endif
diff --git a/target/device/Arm/integrator926_defconfig b/target/device/Arm/integrator926_defconfig
index 1977375eb..2b4d9c676 100644
--- a/target/device/Arm/integrator926_defconfig
+++ b/target/device/Arm/integrator926_defconfig
@@ -39,8 +39,8 @@ BR2_arm926t=y
# BR2_xscale is not set
# BR2_iwmmxt is not set
BR2_ARM_TYPE="ARM926T"
-# BR2_ARM_OABI is not set
-BR2_ARM_EABI=y
+# BR2_OABI is not set
+BR2_EABI=y
# BR2_x86_i386 is not set
# BR2_x86_i486 is not set
# BR2_x86_i586 is not set
diff --git a/target/device/Arm/integrator926_huge_defconfig b/target/device/Arm/integrator926_huge_defconfig
index 43e436ca3..72c0d0757 100644
--- a/target/device/Arm/integrator926_huge_defconfig
+++ b/target/device/Arm/integrator926_huge_defconfig
@@ -39,8 +39,8 @@ BR2_arm926t=y
# BR2_xscale is not set
# BR2_iwmmxt is not set
BR2_ARM_TYPE="ARM926T"
-# BR2_ARM_OABI is not set
-BR2_ARM_EABI=y
+# BR2_OABI is not set
+BR2_EABI=y
BR2_ARCH="arm"
BR2_ENDIAN="LITTLE"
BR2_GCC_TARGET_TUNE="arm9tdmi"
diff --git a/target/device/Atmel/at91rm9200df/at91rm9200df_defconfig b/target/device/Atmel/at91rm9200df/at91rm9200df_defconfig
index 38cdc8fcd..ddbf9b624 100644
--- a/target/device/Atmel/at91rm9200df/at91rm9200df_defconfig
+++ b/target/device/Atmel/at91rm9200df/at91rm9200df_defconfig
@@ -153,8 +153,8 @@ BR2_GCC_VERSION_4_2_1=y
BR2_GCC_SUPPORTS_SYSROOT=y
# BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE is not set
BR2_GCC_VERSION="4.2.1"
-BR2_ARM_OABI=y
-# BR2_ARM_EABI is not set
+BR2_OABI=y
+# BR2_EABI is not set
BR2_TOOLCHAIN_SYSROOT=y
# BR2_GCC_USE_SJLJ_EXCEPTIONS is not set
BR2_EXTRA_GCC_CONFIG_OPTIONS=""
diff --git a/target/device/Atmel/at91sam9260dfc/at91sam9260dfc_defconfig b/target/device/Atmel/at91sam9260dfc/at91sam9260dfc_defconfig
index 69afb804b..e11611d25 100644
--- a/target/device/Atmel/at91sam9260dfc/at91sam9260dfc_defconfig
+++ b/target/device/Atmel/at91sam9260dfc/at91sam9260dfc_defconfig
@@ -42,8 +42,8 @@ BR2_generic_arm=y
# BR2_xscale is not set
# BR2_iwmmxt is not set
BR2_ARM_TYPE="GENERIC_ARM"
-BR2_ARM_OABI=y
-# BR2_ARM_EABI is not set
+BR2_OABI=y
+# BR2_EABI is not set
BR2_ARCH="arm"
BR2_ENDIAN="LITTLE"
diff --git a/target/device/Atmel/at91sam9260pf/at91sam9260pf_defconfig b/target/device/Atmel/at91sam9260pf/at91sam9260pf_defconfig
index 36dd77a5b..54af41f40 100644
--- a/target/device/Atmel/at91sam9260pf/at91sam9260pf_defconfig
+++ b/target/device/Atmel/at91sam9260pf/at91sam9260pf_defconfig
@@ -44,8 +44,8 @@ BR2_generic_arm=y
# BR2_xscale is not set
# BR2_iwmmxt is not set
BR2_ARM_TYPE="GENERIC_ARM"
-BR2_ARM_OABI=y
-# BR2_ARM_EABI is not set
+BR2_OABI=y
+# BR2_EABI is not set
BR2_ARCH="arm"
BR2_ENDIAN="LITTLE"
diff --git a/target/device/Atmel/at91sam9261ek/at91sam9261ek_defconfig b/target/device/Atmel/at91sam9261ek/at91sam9261ek_defconfig
index 5558c2cf3..265eb0b91 100644
--- a/target/device/Atmel/at91sam9261ek/at91sam9261ek_defconfig
+++ b/target/device/Atmel/at91sam9261ek/at91sam9261ek_defconfig
@@ -44,8 +44,8 @@ BR2_generic_arm=y
# BR2_xscale is not set
# BR2_iwmmxt is not set
BR2_ARM_TYPE="GENERIC_ARM"
-BR2_ARM_OABI=y
-# BR2_ARM_EABI is not set
+BR2_OABI=y
+# BR2_EABI is not set
BR2_ARCH="arm"
BR2_ENDIAN="LITTLE"
diff --git a/target/linux-experimental/Makefile.in b/target/linux-experimental/Makefile.in
index ab9a6135d..bfad7c5b4 100644
--- a/target/linux-experimental/Makefile.in
+++ b/target/linux-experimental/Makefile.in
@@ -184,7 +184,7 @@ ifeq ($(strip $(BR2_LINUX_CUSTOMIZE)),y)
make -C $(LINUX26_DIR) xconfig
endif
$(SED) '/CONFIG_AEABI/d' $(LINUX26_DIR)/.config
-ifeq ($(BR2_ARM_EABI),y)
+ifeq ($(BR2_EABI),y)
echo "CONFIG_AEABI=y" >> $(LINUX26_DIR)/.config
$(SED) '/CONFIG_OABI_COMPAT/d' $(LINUX26_DIR)/.config
echo "# CONFIG_OABI_COMPAT is not set" >> $(LINUX26_DIR)/.config
diff --git a/target/linux/Makefile.in b/target/linux/Makefile.in
index 14d4e085e..bf5b9492d 100644
--- a/target/linux/Makefile.in
+++ b/target/linux/Makefile.in
@@ -148,7 +148,7 @@ endif
$(LINUX26_DIR)/.configured: $(LINUX26_DIR)/.patched $(LINUX26_KCONFIG)
cp -dpf $(LINUX26_KCONFIG) $(LINUX26_DIR)/.config
$(SED) '/CONFIG_AEABI=y/d' $(LINUX26_DIR)/.config
-ifeq ($(BR2_ARM_EABI),y)
+ifeq ($(BR2_EABI),y)
echo "CONFIG_AEABI=y" >> $(LINUX26_DIR)/.config
$(SED) '/CONFIG_OABI_COMPAT/d' $(LINUX26_DIR)/.config
echo "# CONFIG_OABI_COMPAT is not set" >> $(LINUX26_DIR)/.config
diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk
index de65b5696..2172d1103 100644
--- a/toolchain/uClibc/uclibc.mk
+++ b/toolchain/uClibc/uclibc.mk
@@ -127,7 +127,7 @@ $(UCLIBC_DIR)/.oldconfig: $(UCLIBC_DIR)/.unpacked $(UCLIBC_CONFIG_FILE)
cp -f $(UCLIBC_CONFIG_FILE) $(UCLIBC_DIR)/.oldconfig
$(SED) 's,^CROSS_COMPILER_PREFIX=.*,CROSS_COMPILER_PREFIX="$(TARGET_CROSS)",g' \
-e 's,# TARGET_$(UCLIBC_TARGET_ARCH) is not set,TARGET_$(UCLIBC_TARGET_ARCH)=y,g' \
- -e 's,^TARGET_ARCH="none",TARGET_ARCH=\"$(UCLIBC_TARGET_ARCH)\",g' \
+ -e 's,^TARGET_ARCH=".*",TARGET_ARCH=\"$(UCLIBC_TARGET_ARCH)\",g' \
-e 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE=\"$(LINUX_HEADERS_DIR)\",g' \
-e 's,^KERNEL_HEADERS=.*,KERNEL_HEADERS=\"$(LINUX_HEADERS_DIR)/include\",g' \
-e 's,^RUNTIME_PREFIX=.*,RUNTIME_PREFIX=\"/\",g' \
@@ -139,15 +139,31 @@ ifeq ($(UCLIBC_TARGET_ARCH),arm)
$(UCLIBC_DIR)/.oldconfig
$(SED) 's/^.*$(UCLIBC_ARM_TYPE).*/$(UCLIBC_ARM_TYPE)=y/g' $(UCLIBC_DIR)/.oldconfig
$(SED) '/CONFIG_ARM_.ABI/d' $(UCLIBC_DIR)/.oldconfig
-ifeq ($(BR2_ARM_EABI),y)
+ifeq ($(BR2_EABI),y)
/bin/echo "# CONFIG_ARM_OABI is not set" >> $(UCLIBC_DIR)/.oldconfig
/bin/echo "CONFIG_ARM_EABI=y" >> $(UCLIBC_DIR)/.oldconfig
endif
-ifeq ($(BR2_ARM_OABI),y)
+ifeq ($(BR2_OABI),y)
/bin/echo "CONFIG_ARM_OABI=y" >> $(UCLIBC_DIR)/.oldconfig
/bin/echo "# CONFIG_ARM_EABI is not set" >> $(UCLIBC_DIR)/.oldconfig
endif
endif
+ifeq ($(UCLIBC_TARGET_ARCH),mips)
+ $(SED) '/CONFIG_MIPS_[NO].._ABI/d' $(UCLIBC_DIR)/.oldconfig
+ (/bin/echo "# CONFIG_MIPS_O32_ABI is not set"; \
+ /bin/echo "# CONFIG_MIPS_N32_ABI is not set"; \
+ /bin/echo "# CONFIG_MIPS_N64_ABI is not set"; \
+ ) >> $(UCLIBC_DIR)/.oldconfig
+ifeq ($(BR2_OABI),y)
+ $(SED) 's/.*\(CONFIG_MIPS_O32_ABI\).*/\1=y/' $(UCLIBC_DIR)/.oldconfig
+endif
+ifeq ($(BR2_EABI),y)
+ $(SED) 's/.*\(CONFIG_MIPS_N32_ABI\).*/\1=y/' $(UCLIBC_DIR)/.oldconfig
+endif
+ifeq ($(BR2_ABI64),y)
+ $(SED) 's/.*\(CONFIG_MIPS_N64_ABI\).*/\1=y/' $(UCLIBC_DIR)/.oldconfig
+endif
+endif
ifeq ($(UCLIBC_TARGET_ARCH),sh)
/bin/echo "# CONFIG_SH2A is not set" >> $(UCLIBC_DIR)/.oldconfig
/bin/echo "# CONFIG_SH2 is not set" >> $(UCLIBC_DIR)/.oldconfig