From 126bb72fa0610c18eed3b62bf5d32ae331bdb9c6 Mon Sep 17 00:00:00 2001 From: Ulf Samuelsson Date: Fri, 4 Jul 2008 08:39:35 +0000 Subject: Add prepatched AVR32 gcc-4.2.2 toolchain from www.atmel.no, move patch locations for prepatched toolchain to be under the toolchain directory --- Makefile | 2 + .../Atmel/atngw100/atngw100-linux-2.6.24.config | 10 ++- target/device/Atmel/atngw100/atngw100_defconfig | 37 ++++++----- .../uClibc-0.9.28.3-avr32-2.0-001-libext.patch | 13 ---- ...libc-0.9.28.3-avr32-2.0-002-rm-whitespace.patch | 77 ---------------------- target/device/Config.in.toolchain | 69 +++++++++++++++++-- toolchain/Makefile.in | 1 + toolchain/binutils/binutils.mk | 3 +- toolchain/gcc/Config.in | 16 +++-- toolchain/gcc/gcc-uclibc-4.x.mk | 20 +++--- toolchain/gdb/Config.in | 3 +- toolchain/gdb/gdb.mk | 10 ++- .../uClibc-0.9.28.3-avr32-2.0-001-libext.patch | 13 ++++ ...libc-0.9.28.3-avr32-2.0-002-rm-whitespace.patch | 77 ++++++++++++++++++++++ toolchain/uClibc/uclibc.mk | 10 ++- 15 files changed, 225 insertions(+), 136 deletions(-) delete mode 100644 target/device/Atmel/toolchain/avr32/uClibc-0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-001-libext.patch delete mode 100644 target/device/Atmel/toolchain/avr32/uClibc-0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-002-rm-whitespace.patch create mode 100644 toolchain/uClibc/ext_source/Atmel/avr32/0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-001-libext.patch create mode 100644 toolchain/uClibc/ext_source/Atmel/avr32/0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-002-rm-whitespace.patch diff --git a/Makefile b/Makefile index 15529f786..889bcf537 100644 --- a/Makefile +++ b/Makefile @@ -473,6 +473,8 @@ update: configured: dirs host-sed kernel-headers uclibc-config busybox-config linux26-config +prepatch: gcc-patched binutils-patched gdb-patched uclibc-patched + cross: $(BASE_TARGETS) help: diff --git a/target/device/Atmel/atngw100/atngw100-linux-2.6.24.config b/target/device/Atmel/atngw100/atngw100-linux-2.6.24.config index 06046074d..e76bab383 100644 --- a/target/device/Atmel/atngw100/atngw100-linux-2.6.24.config +++ b/target/device/Atmel/atngw100/atngw100-linux-2.6.24.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.24-rc7 -# Wed Jan 9 23:20:41 2008 +# Linux kernel version: 2.6.24 +# Thu Jul 3 22:38:28 2008 # CONFIG_AVR32=y CONFIG_GENERIC_GPIO=y @@ -113,6 +113,7 @@ CONFIG_CPU_AT32AP700X=y CONFIG_CPU_AT32AP7000=y # CONFIG_BOARD_ATSTK1000 is not set CONFIG_BOARD_ATNGW100=y +# CONFIG_BOARD_ATNGW100_I2C_GPIO is not set CONFIG_LOADER_U_BOOT=y # @@ -121,6 +122,7 @@ CONFIG_LOADER_U_BOOT=y # CONFIG_AP700X_32_BIT_SMC is not set CONFIG_AP700X_16_BIT_SMC=y # CONFIG_AP700X_8_BIT_SMC is not set +# CONFIG_GPIO_DEV is not set CONFIG_LOAD_ADDRESS=0x10000000 CONFIG_ENTRY_ADDRESS=0x90000000 CONFIG_PHYS_OFFSET=0x10000000 @@ -146,6 +148,8 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_ZONE_DMA_FLAG=0 CONFIG_VIRT_TO_BUS=y # CONFIG_OWNERSHIP_TRACE is not set +# CONFIG_NMI_DEBUGGING is not set +CONFIG_DW_DMAC=y # CONFIG_HZ_100 is not set CONFIG_HZ_250=y # CONFIG_HZ_300 is not set @@ -659,6 +663,7 @@ CONFIG_I2C_ALGOBIT=m # # I2C Hardware Bus support # +# CONFIG_I2C_ATMELTWI is not set CONFIG_I2C_GPIO=m # CONFIG_I2C_OCORES is not set # CONFIG_I2C_PARPORT_LIGHT is not set @@ -801,6 +806,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y # # MMC/SD Host Controller Drivers # +# CONFIG_MMC_ATMELMCI is not set CONFIG_MMC_SPI=m CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y diff --git a/target/device/Atmel/atngw100/atngw100_defconfig b/target/device/Atmel/atngw100/atngw100_defconfig index af7ef81ce..a07a21dd4 100644 --- a/target/device/Atmel/atngw100/atngw100_defconfig +++ b/target/device/Atmel/atngw100/atngw100_defconfig @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Wed Jul 2 05:02:43 2008 +# Fri Jul 4 07:58:19 2008 # BR2_HAVE_DOT_CONFIG=y BR2_VERSION="0.10.0-svn" @@ -86,6 +86,8 @@ BR2_BOARD_NAME="atngw100" # BR2_TARGET_ATMEL_COPYTO="" BR2_BOARD_PATH="target/device/Atmel/$(BR2_BOARD_NAME)" +BR2_KERNEL_ARCH_PATCH_VERSION="2.6.24" +BR2_KERNEL_ARCH_PATCH_DIR="target/device/Atmel/arch-avr32/kernel-patches-$(BR2_KERNEL_ARCH_PATCH_VERSION)" # BR2_TARGET_VALKA is not set # @@ -160,18 +162,20 @@ BR2_UPDATE_CONFIG=y BR2_TOOLCHAIN_EXTERNAL_SOURCE=y BR2_TOOLCHAIN_SOURCE=y # BR2_TOOLCHAIN_ATMEL_AVR32_4_1_2 is not set -BR2_TOOLCHAIN_ATMEL_AVR32_4_2_1=y +# BR2_TOOLCHAIN_ATMEL_AVR32_4_2_1 is not set +BR2_TOOLCHAIN_ATMEL_AVR32_4_2_2=y +# BR2_TOOLCHAIN_ATMEL_AVR32_4_2_3_ENABLE is not set +# BR2_TOOLCHAIN_ATMEL_AVR32_4_2_3 is not set # BR2_TOOLCHAIN_UNKNOWNVENDOR is not set BR2_TOOLCHAIN_ATMEL_AVR32=y BR2_VENDOR_SITE="$(BR2_ATMEL_MIRROR)" BR2_VENDOR_SUFFIX="-avr32" -BR2_VENDOR_BINUTILS_RELEASE="-2.1.3" -BR2_VENDOR_GCC_RELEASE="-2.1.3" -BR2_VENDOR_UCLIBC_RELEASE="-2.1.3" -BR2_VENDOR_GDB_RELEASE="-2.1.3" +BR2_VENDOR_GDB_RELEASE="-2.1.5" BR2_VENDOR_PATCH_DIR="target/device/Atmel/toolchain/avr32" # BR2_EXT_GCC_VERSION_4_1_2 is not set -BR2_EXT_GCC_VERSION_4_2_1=y +# BR2_EXT_GCC_VERSION_4_2_1 is not set +BR2_EXT_GCC_VERSION_4_2_2=y +# BR2_EXT_GCC_VERSION_4_2_3 is not set BR2_EXT_BINUTILS_VERSION_2_17=y BR2_EXT_UCLIBC_VERSION_0_9_29=y # BR2_EXT_UCLIBC_VERSION_0_9_28_3 is not set @@ -230,13 +234,14 @@ BR2_EXTRA_BINUTILS_CONFIG_OPTIONS="" # BR2_GCC_VERSION_3_4_6 is not set # BR2_GCC_VERSION_4_0_4 is not set # BR2_GCC_VERSION_4_1_2 is not set -BR2_GCC_VERSION_4_2_1=y +# BR2_GCC_VERSION_4_2_1 is not set +BR2_GCC_VERSION_4_2_2=y # BR2_GCC_VERSION_4_2_3 is not set # BR2_GCC_VERSION_4_2_4 is not set # BR2_GCC_VERSION_4_3_1 is not set BR2_GCC_SUPPORTS_SYSROOT=y # BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE is not set -BR2_GCC_VERSION="4.2.1" +BR2_GCC_VERSION="4.2.2" BR2_TOOLCHAIN_SYSROOT=y # BR2_GCC_USE_SJLJ_EXCEPTIONS is not set BR2_EXTRA_GCC_CONFIG_OPTIONS="" @@ -257,13 +262,13 @@ BR2_PACKAGE_GDB_SERVER=y BR2_PACKAGE_GDB_HOST=y # BR2_GDB_VERSION_6_2_1 is not set # BR2_GDB_VERSION_6_3 is not set -BR2_GDB_VERSION_6_4=y +# BR2_GDB_VERSION_6_4 is not set # BR2_GDB_VERSION_6_5 is not set # BR2_GDB_VERSION_6_6 is not set -# BR2_GDB_VERSION_6_7_1 is not set +BR2_GDB_VERSION_6_7_1=y # BR2_GDB_VERSION_6_8 is not set # BR2_GDB_VERSION_SNAPSHOT is not set -BR2_GDB_VERSION="6.4" +BR2_GDB_VERSION="6.7.1" # # Common Toolchain Options @@ -659,13 +664,14 @@ BR2_KERNEL_LINUX_ADVANCED=y BR2_PACKAGE_LINUX=y BR2_PACKAGE_LINUX_KCONFIG="$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-linux-2.6.24.config" BR2_PACKAGE_LINUX_FORMAT="uImage" -BR2_KERNEL_CURRENT_VERSION="2.6.24.4" +BR2_KERNEL_CURRENT_VERSION="2.6.25.9" BR2_KERNEL_NEXT_VERSION="2.6.25" BR2_KERNEL_THIS_VERSION="2.6.24" BR2_KERNEL_SITE="http://ftp.kernel.org/pub/linux/kernel/v2.6/" BR2_MM_PATCH_SITE="http://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6" BR2_RC_MM_PATCH_DIR="$(BR2_KERNEL_NEXT_VERSION)-rc$(BR2_KERNEL_RC_LEVEL)/2.6.$(BR2_KERNEL_NEXT_VERSION)-rc$(BR2_KERNEL_RC_LEVEL)-mm$(BR2_KERNEL_MM_LEVEL)" # BR2_LINUX_2_6_STABLE is not set +# BR2_LINUX_2_6_25 is not set BR2_LINUX_2_6_24=y # BR2_LINUX_2_6_23 is not set # BR2_LINUX_2_6_22_10 is not set @@ -675,7 +681,8 @@ BR2_LINUX_2_6_24=y # BR2_LINUX_2_6_21_5 is not set # BR2_LINUX_2_6_21 is not set # BR2_LINUX_2_6_20 is not set -# BR2_LINUX_2_6_25 is not set +# BR2_LINUX_2_6_26 is not set +# BR2_LINUX_2_6_27 is not set # BR2_LINUX26_CUSTOM is not set # @@ -684,8 +691,6 @@ BR2_LINUX_2_6_24=y # BR2_KERNEL_ADD_KERNEL_ORG_PATCH is not set # BR2_KERNEL_ADD_PATCH is not set BR2_KERNEL_ARCH_PATCH_ENABLED=y -BR2_KERNEL_ARCH_PATCH_VERSION="2.6.24" -BR2_KERNEL_ARCH_PATCH_DIR="target/device/Atmel/arch-avr32/kernel-patches-$(BR2_KERNEL_ARCH_PATCH_VERSION)" BR2_ARCH_AVR32_2_6_24=y # BR2_ARCH_AVR32_2_6_23 is not set # BR2_ARCH_AVR32_2_6_22_10 is not set diff --git a/target/device/Atmel/toolchain/avr32/uClibc-0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-001-libext.patch b/target/device/Atmel/toolchain/avr32/uClibc-0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-001-libext.patch deleted file mode 100644 index e1740a7ac..000000000 --- a/target/device/Atmel/toolchain/avr32/uClibc-0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-001-libext.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -urN uClibc-0.9.28.3-0rig/Makefile uClibc-0.9.28.3/Makefile ---- uClibc-0.9.28.3-0rig/Makefile 2007-07-29 08:20:33.000000000 +0200 -+++ uClibc-0.9.28.3/Makefile 2007-08-20 07:02:53.000000000 +0200 -@@ -157,7 +157,8 @@ - install_dev: - $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)lib - $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)include -- -$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/ -+ -$(INSTALL) -m 644 lib/*.a $(PREFIX)$(DEVEL_PREFIX)lib/ -+ -$(INSTALL) -m 644 lib/*.so* $(PREFIX)$(DEVEL_PREFIX)lib/ - if [ "$(KERNEL_SOURCE)" = "$(DEVEL_PREFIX)" ] ; then \ - extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \ - else \ diff --git a/target/device/Atmel/toolchain/avr32/uClibc-0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-002-rm-whitespace.patch b/target/device/Atmel/toolchain/avr32/uClibc-0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-002-rm-whitespace.patch deleted file mode 100644 index 2ae026588..000000000 --- a/target/device/Atmel/toolchain/avr32/uClibc-0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-002-rm-whitespace.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff -urN uClibc-0.9.29-0rig/include/assert.h uClibc-0.9.29/include/assert.h ---- uClibc-0.9.29-0rig/include/assert.h 2005-11-03 23:42:46.000000000 +0100 -+++ uClibc-0.9.29/include/assert.h 2007-08-13 19:10:57.000000000 +0200 -@@ -31,7 +31,7 @@ - #define _ASSERT_H 1 - #include - --#if defined __cplusplus && __GNUC_PREREQ (2,95) -+#if defined __cplusplus && __GNUC_PREREQ(2,95) - # define __ASSERT_VOID_CAST static_cast - #else - # define __ASSERT_VOID_CAST (void) -@@ -59,13 +59,17 @@ - (__ASSERT_VOID_CAST ((expr) ? 0 : \ - (__assert (__STRING(expr), __FILE__, __LINE__, \ - __ASSERT_FUNCTION), 0))) -- -+ -+/* Define some temporaries to workaround tinyx makedepend bug */ -+#define __GNUC_PREREQ_2_6 __GNUC_PREREQ(2, 6) -+#define __GNUC_PREREQ_2_4 __GNUC_PREREQ(2, 4) - /* Version 2.4 and later of GCC define a magical variable `__PRETTY_FUNCTION__' - which contains the name of the function currently being defined. - This is broken in G++ before version 2.6. - C9x has a similar variable called __func__, but prefer the GCC one since - it demangles C++ function names. */ --# if defined __cplusplus ? __GNUC_PREREQ (2, 6) : __GNUC_PREREQ (2, 4) -+ -+# if defined __cplusplus ? __GNUC_PREREQ_2_6 : __GNUC_PREREQ_2_4 - # define __ASSERT_FUNCTION __PRETTY_FUNCTION__ - # else - # if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L -diff -urN uClibc-0.9.29-0rig/include/complex.h uClibc-0.9.29/include/complex.h ---- uClibc-0.9.29-0rig/include/complex.h 2002-05-09 10:15:21.000000000 +0200 -+++ uClibc-0.9.29/include/complex.h 2007-08-13 17:55:29.000000000 +0200 -@@ -33,7 +33,7 @@ - /* We might need to add support for more compilers here. But since ISO - C99 is out hopefully all maintained compilers will soon provide the data - types `float complex' and `double complex'. */ --#if __GNUC_PREREQ (2, 7) && !__GNUC_PREREQ (2, 97) -+#if __GNUC_PREREQ(2, 7) && !__GNUC_PREREQ(2, 97) - # define _Complex __complex__ - #endif - -diff -urN uClibc-0.9.29-0rig/include/features.h uClibc-0.9.29/include/features.h ---- uClibc-0.9.29-0rig/include/features.h 2006-11-29 22:10:04.000000000 +0100 -+++ uClibc-0.9.29/include/features.h 2007-08-13 17:55:51.000000000 +0200 -@@ -143,7 +143,7 @@ - - /* Convenience macros to test the versions of glibc and gcc. - Use them like this: -- #if __GNUC_PREREQ (2,8) -+ #if __GNUC_PREREQ(2,8) - ... code requiring gcc 2.8 or later ... - #endif - Note - they won't work for gcc1 or glibc1, since the _MINOR macros -@@ -366,7 +366,7 @@ - #endif /* !ASSEMBLER */ - - /* Decide whether we can define 'extern inline' functions in headers. */ --#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \ -+#if __GNUC_PREREQ(2, 7) && defined __OPTIMIZE__ \ - && !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__ - # define __USE_EXTERN_INLINES 1 - #endif -diff -urN uClibc-0.9.29-0rig/include/tgmath.h uClibc-0.9.29/include/tgmath.h ---- uClibc-0.9.29-0rig/include/tgmath.h 2002-05-09 10:15:21.000000000 +0200 -+++ uClibc-0.9.29/include/tgmath.h 2007-08-13 17:56:17.000000000 +0200 -@@ -34,7 +34,7 @@ - do not try this for now and instead concentrate only on GNU CC. Once - we have more information support for other compilers might follow. */ - --#if __GNUC_PREREQ (2, 7) -+#if __GNUC_PREREQ(2, 7) - - # ifdef __NO_LONG_DOUBLE_MATH - # define __tgml(fct) fct diff --git a/target/device/Config.in.toolchain b/target/device/Config.in.toolchain index 2f3e3d73a..142912a13 100644 --- a/target/device/Config.in.toolchain +++ b/target/device/Config.in.toolchain @@ -1,7 +1,7 @@ if BR2_TOOLCHAIN_EXTERNAL_SOURCE choice prompt "Source location:" - default BR2_TOOLCHAIN_ATMEL_AVR32_4_2_1 if BR2_avr32 + default BR2_TOOLCHAIN_ATMEL_AVR32_4_2_2 if BR2_avr32 help Select whether to use the toolchain built by the buildroot system or an external pre-built toolchain. @@ -32,6 +32,43 @@ config BR2_TOOLCHAIN_ATMEL_AVR32_4_2_1 This will not be able to build qtopia due to internal errors. +config BR2_TOOLCHAIN_ATMEL_AVR32_4_2_2 + bool "Use prepatched source for AVR32 gcc-4.2.2 toolchain" + depends on BR2_avr32 + select BR2_EXT_GCC_VERSION_4_2_2 + select BR2_EXT_BINUTILS_VERSION_2_17 + select BR2_EXT_UCLIBC_VERSION_0_9_29 + select BR2_TOOLCHAIN_ATMEL_AVR32 + help + The gcc-4.2.2 toolchain for the AVR32 + * gcc-4.2.2 + * binutils-2.17 + * uClibc-0.9.29 + * gdb-6.7.1 + It is generated from buildroot-avr32-v2.2.0-rc4 + in http://www.atmel.no/buildroot + +config BR2_TOOLCHAIN_ATMEL_AVR32_4_2_3_ENABLE + bool + default n + +config BR2_TOOLCHAIN_ATMEL_AVR32_4_2_3 + bool "Use prepatched source for AVR32 gcc-4.2.3 toolchain" + depends on BR2_avr32 + depends on BR2_TOOLCHAIN_ATMEL_AVR32_4_2_3_ENABLE + select BR2_EXT_GCC_VERSION_4_2_3 + select BR2_EXT_BINUTILS_VERSION_2_17 + select BR2_EXT_UCLIBC_VERSION_0_9_29 + select BR2_TOOLCHAIN_ATMEL_AVR32 + help + The gcc-4.2.3 toolchain for the AVR32 + * gcc-4.2.3 + * binutils-2.17 + * uClibc-0.9.29 + * gdb-6.7.1 + It is generated from buildroot-avr32-v2.2.0-rc4 + in http://www.atmel.no/buildroot + config BR2_TOOLCHAIN_UNKNOWNVENDOR bool "Use prepatched source from unknown vendor" @@ -52,24 +89,34 @@ config BR2_VENDOR_SUFFIX config BR2_VENDOR_BINUTILS_RELEASE string - default "-2.1.3" if BR2_TOOLCHAIN_ATMEL_AVR32 + default "-2.1.3" if BR2_TOOLCHAIN_ATMEL_AVR32_4_1_2 + default "-2.1.3" if BR2_TOOLCHAIN_ATMEL_AVR32_4_2_1 + default "-2.1.5" if BR2_TOOLCHAIN_ATMEL_AVR32_4_2_2 + default "-2.1.5" if BR2_TOOLCHAIN_ATMEL_AVR32_4_2_3 config BR2_VENDOR_GCC_RELEASE string default "-2.0" if BR2_TOOLCHAIN_ATMEL_AVR32_4_1_2 default "-2.1.3" if BR2_TOOLCHAIN_ATMEL_AVR32_4_2_1 + default "-2.1.5" if BR2_TOOLCHAIN_ATMEL_AVR32_4_2_2 + default "-2.1.5" if BR2_TOOLCHAIN_ATMEL_AVR32_4_2_3 config BR2_VENDOR_UCLIBC_RELEASE string - default "-2.1.3" if BR2_TOOLCHAIN_ATMEL_AVR32 + default "-2.1.3" if BR2_TOOLCHAIN_ATMEL_AVR32_4_1_2 + default "-2.1.3" if BR2_TOOLCHAIN_ATMEL_AVR32_4_2_1 + default "-2.1.5" if BR2_TOOLCHAIN_ATMEL_AVR32_4_2_2 + default "-2.1.5" if BR2_TOOLCHAIN_ATMEL_AVR32_4_2_3 config BR2_VENDOR_GDB_RELEASE string - default "-2.1.3" if BR2_TOOLCHAIN_ATMEL_AVR32 + default "-2.1.3" if BR2_GDB_VERSION_6_4 + default "-2.1.3" if BR2_GDB_VERSION_6_4 + default "-2.1.5" if BR2_GDB_VERSION_6_7_1 config BR2_VENDOR_PATCH_DIR string - default "target/device/Atmel/toolchain/avr32" if BR2_TOOLCHAIN_ATMEL_AVR32 + default "Atmel/avr32" if BR2_TOOLCHAIN_ATMEL_AVR32 endif if BR2_TOOLCHAIN_UNKNOWNVENDOR config BR2_VENDOR_SITE @@ -98,7 +145,7 @@ config BR2_VENDOR_GDB_RELEASE config BR2_VENDOR_PATCH_DIR string "local accumulated patchdir" - default "target/device/$(VENDOR)/toolchain/" + default "$(VENDOR)/$(ARCH)/" endif @@ -115,6 +162,16 @@ config BR2_EXT_GCC_VERSION_4_2_1 default y if !BR2_TOOLCHAIN_EXTERNAL_SOURCE default n if BR2_TOOLCHAIN_EXTERNAL_SOURCE +config BR2_EXT_GCC_VERSION_4_2_2 + bool + default y if !BR2_TOOLCHAIN_EXTERNAL_SOURCE + default n if BR2_TOOLCHAIN_EXTERNAL_SOURCE + +config BR2_EXT_GCC_VERSION_4_2_3 + bool + default y if !BR2_TOOLCHAIN_EXTERNAL_SOURCE + default n if BR2_TOOLCHAIN_EXTERNAL_SOURCE + config BR2_EXT_BINUTILS_VERSION_2_17 bool default y if !BR2_TOOLCHAIN_EXTERNAL_SOURCE diff --git a/toolchain/Makefile.in b/toolchain/Makefile.in index d312b5642..bdabde9ad 100644 --- a/toolchain/Makefile.in +++ b/toolchain/Makefile.in @@ -46,3 +46,4 @@ CFLAGS_COMBINE = $(call cc-option,-combine,) # gcc has a bunch of needed stuff.... include toolchain/gcc/Makefile.in + diff --git a/toolchain/binutils/binutils.mk b/toolchain/binutils/binutils.mk index 81adb783b..ab74e9f1f 100644 --- a/toolchain/binutils/binutils.mk +++ b/toolchain/binutils/binutils.mk @@ -70,7 +70,7 @@ ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) BINUTILS_PATCH_DIR:=toolchain/binutils/$(BINUTILS_VERSION) else # ifeq ($(BR2_TOOLCHAIN_EXTERNAL_SOURCE),) BINUTILS_SITE:=$(VENDOR_SITE) -BINUTILS_PATCH_DIR:=$(VENDOR_PATCH_DIR)/binutils-$(BINUTILS_OFFICIAL_VERSION) +BINUTILS_PATCH_DIR:=toolchain/binutils/ext_source/$(VENDOR_PATCH_DIR)/$(BINUTILS_OFFICIAL_VERSION) endif BINUTILS_SOURCE:=binutils-$(BINUTILS_OFFICIAL_VERSION).tar.bz2 @@ -91,6 +91,7 @@ $(BINUTILS_DIR)/.unpacked: $(DL_DIR)/$(BINUTILS_SOURCE) $(CONFIG_UPDATE) $(BINUTILS_DIR) touch $@ +binutils-patched: $(BINUTILS_DIR)/.patched $(BINUTILS_DIR)/.patched: $(BINUTILS_DIR)/.unpacked # Apply appropriate binutils patches. toolchain/patch-kernel.sh $(BINUTILS_DIR) $(BINUTILS_PATCH_DIR) \*.patch diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index 0cd6f97a8..72c260612 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -5,7 +5,7 @@ comment "GCC Options" choice prompt "GCC compiler Version" default BR2_GCC_VERSION_4_2_4 if !BR2_avr32 - default BR2_GCC_VERSION_4_1_2 if BR2_avr32 + default BR2_GCC_VERSION_4_2_3 if BR2_avr32 help Select the version of gcc you wish to use. @@ -29,9 +29,14 @@ choice depends on BR2_EXT_GCC_VERSION_4_2_1 bool "gcc 4.2.1" + config BR2_GCC_VERSION_4_2_2 + depends on BR2_avr32 + depends on BR2_EXT_GCC_VERSION_4_2_2 + bool "gcc 4.2.2" + config BR2_GCC_VERSION_4_2_3 - depends on !BR2_avr32 && !BR2_nios2 - depends on BR2_DEPRECATED + depends on !BR2_nios2 + depends on BR2_EXT_GCC_VERSION_4_2_3 || BR2_DEPRECATED bool "gcc 4.2.3" config BR2_GCC_VERSION_4_2_4 @@ -60,8 +65,8 @@ config BR2_GCC_SUPPORTS_SYSROOT config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE bool - default n if BR2_GCC_VERSION_3_4_6 || BR2_GCC_VERSION_4_0_4 || BR2_GCC_VERSION_4_1_2 || BR2_GCC_VERSION_4_2_1 || BR2_GCC_VERSION_4_2_3 || BR2_GCC_VERSION_4_2_4 - default y if !BR2_GCC_VERSION_3_4_6 && !BR2_GCC_VERSION_4_0_4 && !BR2_GCC_VERSION_4_1_2 && !BR2_GCC_VERSION_4_2_1 && !BR2_GCC_VERSION_4_2_3 && !BR2_GCC_VERSION_4_2_4 + default n if BR2_GCC_VERSION_3_4_6 || BR2_GCC_VERSION_4_0_4 || 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_3_4_6 && !BR2_GCC_VERSION_4_0_4 && !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 config BR2_GCC_SNAP_DATE string "GCC snapshot date" @@ -77,6 +82,7 @@ config BR2_GCC_VERSION default "4.0.4" if BR2_GCC_VERSION_4_0_4 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.3" if BR2_GCC_VERSION_4_2_3 default "4.2.4" if BR2_GCC_VERSION_4_2_4 default "4.3.1" if BR2_GCC_VERSION_4_3_1 diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk index 1925de93b..698069c2c 100644 --- a/toolchain/gcc/gcc-uclibc-4.x.mk +++ b/toolchain/gcc/gcc-uclibc-4.x.mk @@ -21,19 +21,19 @@ ifeq ($(BR2_TOOLCHAIN_SYSROOT),y) ifeq ($(GCC_SNAP_DATE),) -GCC_OFFICIAL_VER:=$(GCC_VERSION) +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_VER) +#GCC_SITE:=ftp://ftp.ibiblio.org/pub/mirrors/gnu/ftp/gnu/gcc/gcc-$(GCC_OFFICIAL_VERSION) else -GCC_OFFICIAL_VER:=$(GCC_VERSION)-$(GCC_SNAP_DATE) -GCC_SITE:=ftp://sources.redhat.com/pub/gcc/snapshots/$(GCC_OFFICIAL_VER) +GCC_OFFICIAL_VERSION:=$(GCC_VERSION)-$(GCC_SNAP_DATE) +GCC_SITE:=ftp://sources.redhat.com/pub/gcc/snapshots/$(GCC_OFFICIAL_VERSION) 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:=$(VENDOR_PATCH_DIR)/gcc-$(GCC_OFFICIAL_VER) +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 @@ -41,8 +41,8 @@ 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_VER)),) # Snapshot patch? -GCC_PATCH_DIR:=toolchain/gcc/$(GCC_OFFICIAL_VER) +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) @@ -50,8 +50,8 @@ endif # Snapshot patch endif # Not a snapshot endif # BR2_TOOLCHAIN_BUILDROOT -GCC_SOURCE:=gcc-$(GCC_OFFICIAL_VER).tar.bz2 -GCC_DIR:=$(TOOL_BUILD_DIR)/gcc-$(GCC_OFFICIAL_VER) +GCC_SOURCE:=gcc-$(GCC_OFFICIAL_VERSION).tar.bz2 +GCC_DIR:=$(TOOL_BUILD_DIR)/gcc-$(GCC_OFFICIAL_VERSION) GCC_CAT:=$(BZCAT) GCC_STRIP_HOST_BINARIES:=nope GCC_SRC_DIR:=$(GCC_DIR) diff --git a/toolchain/gdb/Config.in b/toolchain/gdb/Config.in index 9ad2d6822..6bcbfdab4 100644 --- a/toolchain/gdb/Config.in +++ b/toolchain/gdb/Config.in @@ -23,7 +23,7 @@ config BR2_PACKAGE_GDB_HOST choice prompt "GDB debugger Version" default BR2_GDB_VERSION_6_6 if !BR2_avr32 - default BR2_GDB_VERSION_6_4 if BR2_avr32 + default BR2_GDB_VERSION_6_7_1 if BR2_avr32 depends on BR2_PACKAGE_GDB || BR2_PACKAGE_GDB_SERVER || BR2_PACKAGE_GDB_HOST help Select the version of gdb you wish to use. @@ -50,7 +50,6 @@ choice config BR2_GDB_VERSION_6_7_1 bool "gdb 6.7.1" - depends on !BR2_avr32 config BR2_GDB_VERSION_6_8 bool "gdb 6.8" diff --git a/toolchain/gdb/gdb.mk b/toolchain/gdb/gdb.mk index e8208b428..6220cd9cb 100644 --- a/toolchain/gdb/gdb.mk +++ b/toolchain/gdb/gdb.mk @@ -27,7 +27,7 @@ GDB_CAT:=$(BZCAT) ifeq ($(BR2_TOOLCHAIN_EXTERNAL_SOURCE),y) GDB_SITE:=$(VENDOR_SITE) -GDB_PATCH_DIR:=$(VENDOR_PATCH_DIR)/gdb-$(GDB_OFFICIAL_VERSION) +GDB_PATCH_DIR:=toolchain/gdb/ext_source/$(VENDOR_PATCH_DIR)/$(GDB_OFFICIAL_VERSION) else GDB_SITE:=$(BR2_GNU_MIRROR)/gdb GDB_PATCH_DIR:=toolchain/gdb/$(GDB_OFFICIAL_VERSION) @@ -61,6 +61,12 @@ endif $(CONFIG_UPDATE) $(GDB_DIR) touch $@ +gdb-patched: $(GDB_DIR)/.unpacked +$(GDB_DIR)/.patched: $(GDB_DIR)/.unpacked + toolchain/patch-kernel.sh $(GDB_DIR) $(GDB_PATCH_DIR) \*.patch + $(CONFIG_UPDATE) $(GDB_DIR) + touch $@ + gdb-dirclean: rm -rf $(GDB_DIR) @@ -82,7 +88,7 @@ GDB_TARGET_CONFIGURE_VARS:= \ bash_cv_func_sigsetjmp=present \ bash_cv_have_mbstate_t=yes -$(GDB_TARGET_DIR)/.configured: $(GDB_DIR)/.unpacked +$(GDB_TARGET_DIR)/.configured: $(GDB_DIR)/.patched mkdir -p $(GDB_TARGET_DIR) (cd $(GDB_TARGET_DIR); \ gdb_cv_func_sigsetjmp=yes \ diff --git a/toolchain/uClibc/ext_source/Atmel/avr32/0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-001-libext.patch b/toolchain/uClibc/ext_source/Atmel/avr32/0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-001-libext.patch new file mode 100644 index 000000000..e1740a7ac --- /dev/null +++ b/toolchain/uClibc/ext_source/Atmel/avr32/0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-001-libext.patch @@ -0,0 +1,13 @@ +diff -urN uClibc-0.9.28.3-0rig/Makefile uClibc-0.9.28.3/Makefile +--- uClibc-0.9.28.3-0rig/Makefile 2007-07-29 08:20:33.000000000 +0200 ++++ uClibc-0.9.28.3/Makefile 2007-08-20 07:02:53.000000000 +0200 +@@ -157,7 +157,8 @@ + install_dev: + $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)lib + $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)include +- -$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/ ++ -$(INSTALL) -m 644 lib/*.a $(PREFIX)$(DEVEL_PREFIX)lib/ ++ -$(INSTALL) -m 644 lib/*.so* $(PREFIX)$(DEVEL_PREFIX)lib/ + if [ "$(KERNEL_SOURCE)" = "$(DEVEL_PREFIX)" ] ; then \ + extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \ + else \ diff --git a/toolchain/uClibc/ext_source/Atmel/avr32/0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-002-rm-whitespace.patch b/toolchain/uClibc/ext_source/Atmel/avr32/0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-002-rm-whitespace.patch new file mode 100644 index 000000000..2ae026588 --- /dev/null +++ b/toolchain/uClibc/ext_source/Atmel/avr32/0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-002-rm-whitespace.patch @@ -0,0 +1,77 @@ +diff -urN uClibc-0.9.29-0rig/include/assert.h uClibc-0.9.29/include/assert.h +--- uClibc-0.9.29-0rig/include/assert.h 2005-11-03 23:42:46.000000000 +0100 ++++ uClibc-0.9.29/include/assert.h 2007-08-13 19:10:57.000000000 +0200 +@@ -31,7 +31,7 @@ + #define _ASSERT_H 1 + #include + +-#if defined __cplusplus && __GNUC_PREREQ (2,95) ++#if defined __cplusplus && __GNUC_PREREQ(2,95) + # define __ASSERT_VOID_CAST static_cast + #else + # define __ASSERT_VOID_CAST (void) +@@ -59,13 +59,17 @@ + (__ASSERT_VOID_CAST ((expr) ? 0 : \ + (__assert (__STRING(expr), __FILE__, __LINE__, \ + __ASSERT_FUNCTION), 0))) +- ++ ++/* Define some temporaries to workaround tinyx makedepend bug */ ++#define __GNUC_PREREQ_2_6 __GNUC_PREREQ(2, 6) ++#define __GNUC_PREREQ_2_4 __GNUC_PREREQ(2, 4) + /* Version 2.4 and later of GCC define a magical variable `__PRETTY_FUNCTION__' + which contains the name of the function currently being defined. + This is broken in G++ before version 2.6. + C9x has a similar variable called __func__, but prefer the GCC one since + it demangles C++ function names. */ +-# if defined __cplusplus ? __GNUC_PREREQ (2, 6) : __GNUC_PREREQ (2, 4) ++ ++# if defined __cplusplus ? __GNUC_PREREQ_2_6 : __GNUC_PREREQ_2_4 + # define __ASSERT_FUNCTION __PRETTY_FUNCTION__ + # else + # if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L +diff -urN uClibc-0.9.29-0rig/include/complex.h uClibc-0.9.29/include/complex.h +--- uClibc-0.9.29-0rig/include/complex.h 2002-05-09 10:15:21.000000000 +0200 ++++ uClibc-0.9.29/include/complex.h 2007-08-13 17:55:29.000000000 +0200 +@@ -33,7 +33,7 @@ + /* We might need to add support for more compilers here. But since ISO + C99 is out hopefully all maintained compilers will soon provide the data + types `float complex' and `double complex'. */ +-#if __GNUC_PREREQ (2, 7) && !__GNUC_PREREQ (2, 97) ++#if __GNUC_PREREQ(2, 7) && !__GNUC_PREREQ(2, 97) + # define _Complex __complex__ + #endif + +diff -urN uClibc-0.9.29-0rig/include/features.h uClibc-0.9.29/include/features.h +--- uClibc-0.9.29-0rig/include/features.h 2006-11-29 22:10:04.000000000 +0100 ++++ uClibc-0.9.29/include/features.h 2007-08-13 17:55:51.000000000 +0200 +@@ -143,7 +143,7 @@ + + /* Convenience macros to test the versions of glibc and gcc. + Use them like this: +- #if __GNUC_PREREQ (2,8) ++ #if __GNUC_PREREQ(2,8) + ... code requiring gcc 2.8 or later ... + #endif + Note - they won't work for gcc1 or glibc1, since the _MINOR macros +@@ -366,7 +366,7 @@ + #endif /* !ASSEMBLER */ + + /* Decide whether we can define 'extern inline' functions in headers. */ +-#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \ ++#if __GNUC_PREREQ(2, 7) && defined __OPTIMIZE__ \ + && !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__ + # define __USE_EXTERN_INLINES 1 + #endif +diff -urN uClibc-0.9.29-0rig/include/tgmath.h uClibc-0.9.29/include/tgmath.h +--- uClibc-0.9.29-0rig/include/tgmath.h 2002-05-09 10:15:21.000000000 +0200 ++++ uClibc-0.9.29/include/tgmath.h 2007-08-13 17:56:17.000000000 +0200 +@@ -34,7 +34,7 @@ + do not try this for now and instead concentrate only on GNU CC. Once + we have more information support for other compilers might follow. */ + +-#if __GNUC_PREREQ (2, 7) ++#if __GNUC_PREREQ(2, 7) + + # ifdef __NO_LONG_DOUBLE_MATH + # define __tgml(fct) fct diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk index 626c504d5..4e8a7e3e6 100644 --- a/toolchain/uClibc/uclibc.mk +++ b/toolchain/uClibc/uclibc.mk @@ -40,7 +40,7 @@ UCLIBC_OFFICIAL_VERSION:=$(UCLIBC_VER)$(VENDOR_SUFFIX)$(VENDOR_UCLIBC_RELEASE) ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) UCLIBC_PATCH_DIR:=toolchain/uClibc/ else -UCLIBC_PATCH_DIR:=$(VENDOR_PATCH_DIR)/uClibc-$(UCLIBC_OFFICIAL_VERSION) +UCLIBC_PATCH_DIR:=toolchain/uClibc/ext_source/$(VENDOR_PATCH_DIR)/$(UCLIBC_OFFICIAL_VERSION) endif UCLIBC_DIR:=$(TOOL_BUILD_DIR)/uClibc-$(UCLIBC_OFFICIAL_VERSION) @@ -105,10 +105,15 @@ else UCLIBC_LOCALE_DATA= endif +uclibc-unpacked: $(UCLIBC_DIR)/.unpacked $(UCLIBC_DIR)/.unpacked: $(DL_DIR)/$(UCLIBC_SOURCE) $(UCLIBC_LOCALE_DATA) mkdir -p $(TOOL_BUILD_DIR) rm -rf $(UCLIBC_DIR) $(UCLIBC_CAT) $(DL_DIR)/$(UCLIBC_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) - + touch $@ + +uclibc-patched: $(UCLIBC_DIR)/.patched +$(UCLIBC_DIR)/.patched: $(UCLIBC_DIR)/.unpacked ifneq ($(BR2_UCLIBC_VERSION_SNAPSHOT),y) toolchain/patch-kernel.sh $(UCLIBC_DIR) $(UCLIBC_PATCH_DIR) \ uClibc-$(UCLIBC_OFFICIAL_VERSION)-\*.patch \ @@ -122,8 +127,9 @@ ifneq ($(BR2_ENABLE_LOCALE),) endif touch $@ + # Some targets may wish to provide their own UCLIBC_CONFIG_FILE... -$(UCLIBC_DIR)/.oldconfig: $(UCLIBC_DIR)/.unpacked $(UCLIBC_CONFIG_FILE) +$(UCLIBC_DIR)/.oldconfig: $(UCLIBC_DIR)/.patched $(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' \ -- cgit v1.2.3