summaryrefslogtreecommitdiff
path: root/toolchain/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/gcc')
-rw-r--r--toolchain/gcc/4.2.2-avr32-2.1.5/903-avr32-fix-removal-of-redundant-cast-operations.patch (renamed from toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-2.1.5/903-avr32-fix-removal-of-redundant-cast-operations.patch)0
-rw-r--r--toolchain/gcc/4.2.2-avr32-2.1.5/904-avr32-fix-conditional-insn-which-clobbers-cc_status.patch (renamed from toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-2.1.5/904-avr32-fix-conditional-insn-which-clobbers-cc_status.patch)0
-rw-r--r--toolchain/gcc/4.2.2-avr32-2.1.5/905-avr32-optimize-movsf2-use-movh-to-move-immediates-into-register.patch (renamed from toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-2.1.5/905-avr32-optimize-movsf2-use-movh-to-move-immediates-into-register.patch)0
-rw-r--r--toolchain/gcc/Config.in33
-rw-r--r--toolchain/gcc/Makefile.in2
-rw-r--r--toolchain/gcc/ext_source/Atmel/avr32/4.1.2-avr32-2.0/.empty0
-rw-r--r--toolchain/gcc/ext_source/Atmel/avr32/4.1.2-avr32-2.2/.empty0
-rw-r--r--toolchain/gcc/ext_source/Atmel/avr32/4.2.1-avr32-2.1.3/.empty0
-rw-r--r--toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-1.1.3/.empty0
-rw-r--r--toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-1.1.3/901-avr32-revert-broken-uclibc-stuff.patch42
-rw-r--r--toolchain/gcc/ext_source/Atmel/avr32/4.2.3-avr32-2.1.5/.empty0
-rw-r--r--toolchain/gcc/gcc-uclibc-3.x.mk39
-rw-r--r--toolchain/gcc/gcc-uclibc-4.x.mk41
13 files changed, 40 insertions, 117 deletions
diff --git a/toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-2.1.5/903-avr32-fix-removal-of-redundant-cast-operations.patch b/toolchain/gcc/4.2.2-avr32-2.1.5/903-avr32-fix-removal-of-redundant-cast-operations.patch
index 59ecbff4f..59ecbff4f 100644
--- a/toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-2.1.5/903-avr32-fix-removal-of-redundant-cast-operations.patch
+++ b/toolchain/gcc/4.2.2-avr32-2.1.5/903-avr32-fix-removal-of-redundant-cast-operations.patch
diff --git a/toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-2.1.5/904-avr32-fix-conditional-insn-which-clobbers-cc_status.patch b/toolchain/gcc/4.2.2-avr32-2.1.5/904-avr32-fix-conditional-insn-which-clobbers-cc_status.patch
index 539c666d2..539c666d2 100644
--- a/toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-2.1.5/904-avr32-fix-conditional-insn-which-clobbers-cc_status.patch
+++ b/toolchain/gcc/4.2.2-avr32-2.1.5/904-avr32-fix-conditional-insn-which-clobbers-cc_status.patch
diff --git a/toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-2.1.5/905-avr32-optimize-movsf2-use-movh-to-move-immediates-into-register.patch b/toolchain/gcc/4.2.2-avr32-2.1.5/905-avr32-optimize-movsf2-use-movh-to-move-immediates-into-register.patch
index 08d972df2..08d972df2 100644
--- a/toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-2.1.5/905-avr32-optimize-movsf2-use-movh-to-move-immediates-into-register.patch
+++ b/toolchain/gcc/4.2.2-avr32-2.1.5/905-avr32-optimize-movsf2-use-movh-to-move-immediates-into-register.patch
diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in
index 7e5851620..10cb841a1 100644
--- a/toolchain/gcc/Config.in
+++ b/toolchain/gcc/Config.in
@@ -10,26 +10,27 @@ choice
Select the version of gcc you wish to use.
config BR2_GCC_VERSION_4_1_2
- depends on !BR2_nios2
- depends on BR2_EXT_GCC_VERSION_4_1_2
+ depends on !BR2_nios2 && !BR2_avr32
depends on BR2_DEPRECATED
bool "gcc 4.1.2"
config BR2_GCC_VERSION_4_2_1
- depends on !BR2_nios2
- depends on BR2_EXT_GCC_VERSION_4_2_1
+ depends on !BR2_nios2 && !BR2_avr32
depends on BR2_DEPRECATED
bool "gcc 4.2.1"
config BR2_GCC_VERSION_4_2_2
- depends on BR2_EXT_GCC_VERSION_4_2_2
- depends on BR2_DEPRECATED || BR2_avr32
+ depends on !BR2_avr32
+ depends on BR2_DEPRECATED
bool "gcc 4.2.2"
+ config BR2_GCC_VERSION_4_2_2_AVR32_2_1_5
+ depends on BR2_avr32
+ bool "gcc 4.2.2-avr32-2.1.5"
+
config BR2_GCC_VERSION_4_2_3
- depends on !BR2_nios2
- depends on BR2_EXT_GCC_VERSION_4_2_3
- depends on BR2_DEPRECATED || BR2_avr32
+ depends on !BR2_nios2 && !BR2_avr32
+ depends on BR2_DEPRECATED
bool "gcc 4.2.3"
config BR2_GCC_VERSION_4_2_4
@@ -54,11 +55,11 @@ choice
config BR2_GCC_VERSION_4_4_X
depends on !BR2_avr32 && !BR2_nios2
bool "gcc 4.4.x"
-endchoice
-config BR2_GCC_IS_SNAP
- depends on !BR2_avr32
- bool
+ config BR2_GCC_VERSION_SNAP
+ depends on !BR2_avr32 && !BR2_nios2
+ bool "gcc snapshot"
+endchoice
config BR2_GCC_SUPPORTS_SYSROOT
bool
@@ -66,12 +67,12 @@ config BR2_GCC_SUPPORTS_SYSROOT
config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE
bool
- default y if !BR2_GCC_VERSION_4_1_2 && !BR2_GCC_VERSION_4_2_1 && !BR2_GCC_VERSION_4_2_2 && !BR2_GCC_VERSION_4_2_3 && !BR2_GCC_VERSION_4_2_4
+ default y if !BR2_GCC_VERSION_4_1_2 && !BR2_GCC_VERSION_4_2_1 && !BR2_GCC_VERSION_4_2_2 && !BR2_GCC_VERSION_4_2_3 && !BR2_GCC_VERSION_4_2_4 && !BR2_GCC_VERSION_4_2_2_AVR32_2_1_5
config BR2_GCC_SNAP_DATE
string "GCC snapshot date"
default "20070921"
- depends on BR2_GCC_IS_SNAP
+ depends on BR2_GCC_VERSION_SNAP
help
Enter snapshot date to use for gcc. Format is:
YYYYMMDD
@@ -81,12 +82,14 @@ config BR2_GCC_VERSION
default "4.1.2" if BR2_GCC_VERSION_4_1_2
default "4.2.1" if BR2_GCC_VERSION_4_2_1
default "4.2.2" if BR2_GCC_VERSION_4_2_2
+ default "4.2.2-avr32-2.1.5" if BR2_GCC_VERSION_4_2_2_AVR32_2_1_5
default "4.2.3" if BR2_GCC_VERSION_4_2_3
default "4.2.4" if BR2_GCC_VERSION_4_2_4
default "4.3.2" if BR2_GCC_VERSION_4_3_2
default "4.3.3" if BR2_GCC_VERSION_4_3_3
default "4.3.4" if BR2_GCC_VERSION_4_3_4
default "4.4.2" if BR2_GCC_VERSION_4_4_X
+ default $BR2_GCC_SNAP_DATE if BR2_GCC_VERSION_SNAP
config BR2_TOOLCHAIN_SYSROOT
bool "Enable toolchain with --sysroot support"
diff --git a/toolchain/gcc/Makefile.in b/toolchain/gcc/Makefile.in
index e92ecbc7b..c3e21cf35 100644
--- a/toolchain/gcc/Makefile.in
+++ b/toolchain/gcc/Makefile.in
@@ -8,7 +8,7 @@ GCC_VERSION:=$(call qstrip,$(BR2_GCC_VERSION))
TARGET_OPTIMIZATION:=$(call qstrip,$(BR2_TARGET_OPTIMIZATION))
EXTRA_GCC_CONFIG_OPTIONS:=$(call qstrip,$(BR2_EXTRA_GCC_CONFIG_OPTIONS))
-ifeq ($(call qstrip,$(BR2_GCC_IS_SNAP)),y)
+ifeq ($(call qstrip,$(BR2_GCC_VERSION_SNAP)),y)
GCC_SNAP_DATE:=$(call qstrip,$(BR2_GCC_SNAP_DATE))
else
GCC_SNAP_DATE:=
diff --git a/toolchain/gcc/ext_source/Atmel/avr32/4.1.2-avr32-2.0/.empty b/toolchain/gcc/ext_source/Atmel/avr32/4.1.2-avr32-2.0/.empty
deleted file mode 100644
index e69de29bb..000000000
--- a/toolchain/gcc/ext_source/Atmel/avr32/4.1.2-avr32-2.0/.empty
+++ /dev/null
diff --git a/toolchain/gcc/ext_source/Atmel/avr32/4.1.2-avr32-2.2/.empty b/toolchain/gcc/ext_source/Atmel/avr32/4.1.2-avr32-2.2/.empty
deleted file mode 100644
index e69de29bb..000000000
--- a/toolchain/gcc/ext_source/Atmel/avr32/4.1.2-avr32-2.2/.empty
+++ /dev/null
diff --git a/toolchain/gcc/ext_source/Atmel/avr32/4.2.1-avr32-2.1.3/.empty b/toolchain/gcc/ext_source/Atmel/avr32/4.2.1-avr32-2.1.3/.empty
deleted file mode 100644
index e69de29bb..000000000
--- a/toolchain/gcc/ext_source/Atmel/avr32/4.2.1-avr32-2.1.3/.empty
+++ /dev/null
diff --git a/toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-1.1.3/.empty b/toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-1.1.3/.empty
deleted file mode 100644
index e69de29bb..000000000
--- a/toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-1.1.3/.empty
+++ /dev/null
diff --git a/toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-1.1.3/901-avr32-revert-broken-uclibc-stuff.patch b/toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-1.1.3/901-avr32-revert-broken-uclibc-stuff.patch
deleted file mode 100644
index e056be0fd..000000000
--- a/toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-1.1.3/901-avr32-revert-broken-uclibc-stuff.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- a/libstdc++-v3/acinclude.m4
-+++ b/libstdc++-v3/acinclude.m4
-@@ -125,6 +125,15 @@ AC_DEFUN([GLIBCXX_CONFIGURE], [
- ## other macros from doing the same. This should be automated.) -pme
- need_libmath=no
-
-+ # Check for uClibc since Linux platforms use different configuration
-+ # directories depending on the C library in use.
-+ AC_EGREP_CPP([_using_uclibc], [
-+ #include <stdio.h>
-+ #if __UCLIBC__
-+ _using_uclibc
-+ #endif
-+ ], uclibc=yes, uclibc=no)
-+
- # Find platform-specific directories containing configuration info.
- # Also possibly modify flags used elsewhere, as needed by the platform.
- GLIBCXX_CHECK_HOST
---- a/libstdc++-v3/config/os/gnu-linux/ctype_base.h
-+++ b/libstdc++-v3/config/os/gnu-linux/ctype_base.h
-@@ -31,8 +31,6 @@
- //
- // ISO C++ 14882: 22.1 Locales
- //
--#include <features.h>
--#include <ctype.h>
-
- /** @file ctype_base.h
- * This is an internal header file, included by other library headers.
-@@ -47,11 +45,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
- struct ctype_base
- {
- // Non-standard typedefs.
--#ifdef __UCLIBC__
-- typedef const __ctype_touplow_t* __to_type;
--#else
-- typedef const int* __to_type;
--#endif
-+ typedef const int* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
diff --git a/toolchain/gcc/ext_source/Atmel/avr32/4.2.3-avr32-2.1.5/.empty b/toolchain/gcc/ext_source/Atmel/avr32/4.2.3-avr32-2.1.5/.empty
deleted file mode 100644
index e69de29bb..000000000
--- a/toolchain/gcc/ext_source/Atmel/avr32/4.2.3-avr32-2.1.5/.empty
+++ /dev/null
diff --git a/toolchain/gcc/gcc-uclibc-3.x.mk b/toolchain/gcc/gcc-uclibc-3.x.mk
index e73731348..332af884a 100644
--- a/toolchain/gcc/gcc-uclibc-3.x.mk
+++ b/toolchain/gcc/gcc-uclibc-3.x.mk
@@ -17,43 +17,22 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-ifeq ($(BR2_TOOLCHAIN_SOURCE),y)
+ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
# without sysroot support. Sysroot toolchain is gcc-uclibc-4.x.mk
ifneq ($(BR2_TOOLCHAIN_SYSROOT),y)
-ifeq ($(GCC_SNAP_DATE),)
-GCC_OFFICIAL_VER:=$(GCC_VERSION)
-GCC_SITE:=$(BR2_GNU_MIRROR)/gcc/gcc-$(GCC_VERSION)
-#GCC_SITE:=ftp://ftp.ibiblio.org/pub/mirrors/gnu/ftp/gnu/gcc/gcc-$(GCC_OFFICIAL_VER)
+ifneq ($(GCC_SNAP_DATE),)
+ GCC_SITE:=ftp://sources.redhat.com/pub/gcc/snapshots/$(GCC_VERSION)
+else ifeq ($(findstring avr32,$(GCC_VERSION)),avr32)
+ GCC_SITE:=ftp://www.at91.com/pub/buildroot/
else
-GCC_OFFICIAL_VER:=$(GCC_VERSION)-$(GCC_SNAP_DATE)
-GCC_SITE:=ftp://sources.redhat.com/pub/gcc/snapshots/$(GCC_OFFICIAL_VER)
-endif
-
-
-# redefine if using an external prepatched gcc source
-ifneq ($(BR2_TOOLCHAIN_BUILDROOT),y)
-GCC_SITE:=$(VENDOR_SITE)
-GCC_OFFICIAL_VER:=$(GCC_VERSION)$(VENDOR_SUFFIX)$(VENDOR_GCC_RELEASE)
-GCC_PATCH_DIR:=toolchain/gcc/ext_source/$(VENDOR_PATCH_DIR)/$(GCC_OFFICIAL_VERSION)
+ GCC_SITE:=$(BR2_GNU_MIRROR)/gcc/gcc-$(GCC_VERSION)
endif
-GCC_SOURCE:=gcc-$(GCC_OFFICIAL_VER).tar.bz2
-GCC_DIR:=$(TOOLCHAIN_DIR)/gcc-$(GCC_OFFICIAL_VER)
-
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
-ifeq ($(GCC_SNAP_DATE),)
-GCC_PATCH_DIR:=toolchain/gcc/$(GCC_VERSION)
-else
-ifneq ($(wildcard toolchain/gcc/$(GCC_OFFICIAL_VER)),)
-GCC_PATCH_DIR:=toolchain/gcc/$(GCC_OFFICIAL_VER)
-else
+GCC_SOURCE:=gcc-$(GCC_VERSION).tar.bz2
+GCC_DIR:=$(TOOLCHAIN_DIR)/gcc-$(GCC_VERSION)
GCC_PATCH_DIR:=toolchain/gcc/$(GCC_VERSION)
-endif
-endif
-endif
-
GCC_CAT:=$(BZCAT)
GCC_STRIP_HOST_BINARIES:=true
@@ -142,7 +121,9 @@ $(GCC_DIR)/.unpacked: $(DL_DIR)/$(GCC_SOURCE)
gcc-patched: $(GCC_DIR)/.patched
$(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked
# Apply any files named gcc-*.patch from the source directory to gcc
+ifneq ($(wildcard $(GCC_PATCH_DIR)),)
toolchain/patch-kernel.sh $(GCC_DIR) $(GCC_PATCH_DIR) \*.patch
+endif
# Note: The soft float situation has improved considerably with gcc 3.4.x.
# We can dispense with the custom spec files, as well as libfloat for the arm case.
# However, we still need a patch for arm. There's a similar patch for gcc 3.3.x
diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk
index d25a9b6d5..32f7a1e45 100644
--- a/toolchain/gcc/gcc-uclibc-4.x.mk
+++ b/toolchain/gcc/gcc-uclibc-4.x.mk
@@ -20,43 +20,22 @@
# sysroot support works with gcc >= 4.2.0 only
ifeq ($(BR2_TOOLCHAIN_SYSROOT),y)
-ifeq ($(GCC_SNAP_DATE),)
-GCC_OFFICIAL_VERSION:=$(GCC_VERSION)
-GCC_SITE:=$(BR2_GNU_MIRROR)/gcc/gcc-$(GCC_VERSION)
-#GCC_SITE:=ftp://ftp.ibiblio.org/pub/mirrors/gnu/ftp/gnu/gcc/gcc-$(GCC_OFFICIAL_VERSION)
+ifneq ($(GCC_SNAP_DATE),)
+ GCC_SITE:=ftp://sources.redhat.com/pub/gcc/snapshots/$(GCC_VERSION)
+else ifeq ($(findstring avr32,$(GCC_VERSION)),avr32)
+ GCC_SITE:=ftp://www.at91.com/pub/buildroot/
else
-GCC_OFFICIAL_VERSION:=$(GCC_VERSION)-$(GCC_SNAP_DATE)
-GCC_SITE:=ftp://sources.redhat.com/pub/gcc/snapshots/$(GCC_OFFICIAL_VERSION)
+ GCC_SITE:=$(BR2_GNU_MIRROR)/gcc/gcc-$(GCC_VERSION)
endif
-# redefine if using an external prepatched gcc source
-ifneq ($(BR2_TOOLCHAIN_BUILDROOT),y)
-GCC_SITE:=$(VENDOR_SITE)
-GCC_OFFICIAL_VERSION:=$(GCC_VERSION)$(VENDOR_SUFFIX)$(VENDOR_GCC_RELEASE)
-GCC_PATCH_DIR:=toolchain/gcc/ext_source/$(VENDOR_PATCH_DIR)/$(GCC_OFFICIAL_VERSION)
-endif #!BR2_TOOLCHAIN_BUILDROOT
-
-# define patch location
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) # Normal toolchain
-ifeq ($(GCC_SNAP_DATE),) # Not a snapshot
-GCC_PATCH_DIR:=toolchain/gcc/$(GCC_VERSION)
-else # Is a snapshot
-ifneq ($(wildcard toolchain/gcc/$(GCC_OFFICIAL_VERSION)),) # Snapshot patch?
-GCC_PATCH_DIR:=toolchain/gcc/$(GCC_OFFICIAL_VERSION)
-else # Normal patch to snapshot
-# Use the normal location, if the dedicated location does not exist
-GCC_PATCH_DIR:=toolchain/gcc/$(GCC_VERSION)
-endif # Snapshot patch
-endif # Not a snapshot
-endif # BR2_TOOLCHAIN_BUILDROOT
-
ifneq ($(filter xtensa%,$(ARCH)),)
include target/xtensa/patch.in
GCC_PATCH_EXTRA:=$(call XTENSA_PATCH,gcc,$(GCC_PATCH_DIR),. ..)
endif
-GCC_SOURCE:=gcc-$(GCC_OFFICIAL_VERSION).tar.bz2
-GCC_DIR:=$(TOOLCHAIN_DIR)/gcc-$(GCC_OFFICIAL_VERSION)
+GCC_SOURCE:=gcc-$(GCC_VERSION).tar.bz2
+GCC_PATCH_DIR:=toolchain/gcc/$(GCC_VERSION)
+GCC_DIR:=$(TOOLCHAIN_DIR)/gcc-$(GCC_VERSION)
GCC_CAT:=$(BZCAT)
GCC_STRIP_HOST_BINARIES:=nope
GCC_SRC_DIR:=$(GCC_DIR)
@@ -178,7 +157,9 @@ $(GCC_DIR)/.unpacked: $(DL_DIR)/$(GCC_SOURCE)
gcc-patched: $(GCC_DIR)/.patched
$(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked
# Apply any files named gcc-*.patch from the source directory to gcc
+ifneq ($(wildcard $(GCC_PATCH_DIR)),)
toolchain/patch-kernel.sh $(GCC_DIR) $(GCC_PATCH_DIR) \*.patch $(GCC_PATCH_EXTRA)
+endif
# Note: The soft float situation has improved considerably with gcc 3.4.x.
# We can dispense with the custom spec files, as well as libfloat for the arm case.
@@ -518,7 +499,7 @@ gcc_target-dirclean:
rm -rf $(GCC_BUILD_DIR3)
gcc-status:
- @echo GCC_OFFICIAL_VERSION=$(GCC_OFFICIAL_VERSION)
+ @echo GCC_VERSION=$(GCC_VERSION)
@echo GCC_PATCH_DIR=$(GCC_PATCH_DIR)
@echo GCC_SITE=$(GCC_SITE)