summaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorUlf Samuelsson <ulf.samuelsson@atmel.com>2008-07-04 08:39:35 +0000
committerUlf Samuelsson <ulf.samuelsson@atmel.com>2008-07-04 08:39:35 +0000
commit126bb72fa0610c18eed3b62bf5d32ae331bdb9c6 (patch)
tree1d5aad1fbed6338c0d8444a59e65fd660807c64e /toolchain
parent9c0ef0b0a9e2409e073c6964d9057be16ff893f6 (diff)
Add prepatched AVR32 gcc-4.2.2 toolchain from www.atmel.no, move patch locations for prepatched toolchain to be under the toolchain directory
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/Makefile.in1
-rw-r--r--toolchain/binutils/binutils.mk3
-rw-r--r--toolchain/gcc/Config.in16
-rw-r--r--toolchain/gcc/gcc-uclibc-4.x.mk20
-rw-r--r--toolchain/gdb/Config.in3
-rw-r--r--toolchain/gdb/gdb.mk10
-rw-r--r--toolchain/uClibc/ext_source/Atmel/avr32/0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-001-libext.patch13
-rw-r--r--toolchain/uClibc/ext_source/Atmel/avr32/0.9.28.3-avr32-2.0/uClibc-0.9.28.3-avr32-2.0-002-rm-whitespace.patch77
-rw-r--r--toolchain/uClibc/uclibc.mk10
9 files changed, 131 insertions, 22 deletions
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 <features.h>
+
+-#if defined __cplusplus && __GNUC_PREREQ (2,95)
++#if defined __cplusplus && __GNUC_PREREQ(2,95)
+ # define __ASSERT_VOID_CAST static_cast<void>
+ #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' \