summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/distro/angstrom-2008.1.conf10
-rw-r--r--conf/distro/include/angstrom-uclibc.inc11
-rw-r--r--packages/binutils/binutils-2.17/binutils-2.17.atmel.1.2.6.patch.bz2bin0 -> 184944 bytes
-rw-r--r--packages/binutils/binutils.inc5
-rw-r--r--packages/binutils/binutils_2.17.bb12
-rw-r--r--packages/gcc/gcc-4.2.2.inc9
-rw-r--r--packages/gcc/gcc-4.2.2/901-avr32-no-cond-exec-before-reload-by-default.patch13
-rw-r--r--packages/gcc/gcc-4.2.2/gcc-4.2.2.atmel.1.0.8.patch.bz2bin0 -> 162791 bytes
-rw-r--r--packages/gdb/gdb-cross.inc6
9 files changed, 55 insertions, 11 deletions
diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf
index 16c7b7d14f..eb83cbcbb5 100644
--- a/conf/distro/angstrom-2008.1.conf
+++ b/conf/distro/angstrom-2008.1.conf
@@ -119,11 +119,11 @@ require conf/distro/include/preferred-gpe-versions-2.8.inc
require conf/distro/include/preferred-e-versions.inc
require conf/distro/include/preferred-xorg-versions-X11R7.3.inc
-#avr32 only has patches for binutils 2.17 and gcc 4.2.1 in OE
-PREFERRED_VERSION_gcc_avr32 = "4.2.1"
-PREFERRED_VERSION_gcc-cross_avr32 = "4.2.1"
-PREFERRED_VERSION_gcc-cross-sdk_avr32 = "4.2.1"
-PREFERRED_VERSION_gcc-cross-initial_avr32 = "4.2.1"
+#avr32 only has patches for binutils 2.17 and gcc 4.2.2 in OE
+PREFERRED_VERSION_gcc_avr32 = "4.2.2"
+PREFERRED_VERSION_gcc-cross_avr32 = "4.2.2"
+PREFERRED_VERSION_gcc-cross-sdk_avr32 = "4.2.2"
+PREFERRED_VERSION_gcc-cross-initial_avr32 = "4.2.2"
PREFERRED_VERSION_binutils_avr32 = "2.17"
PREFERRED_VERSION_binutils-cross_avr32 = "2.17"
PREFERRED_VERSION_binutils-cross-sdk_avr32 = "2.17"
diff --git a/conf/distro/include/angstrom-uclibc.inc b/conf/distro/include/angstrom-uclibc.inc
index 7e8e60d7dd..7c713e65ea 100644
--- a/conf/distro/include/angstrom-uclibc.inc
+++ b/conf/distro/include/angstrom-uclibc.inc
@@ -16,8 +16,15 @@ FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-reg
BUILD_OPTIMIZATION = "-Os"
#Gcc will die with 'internal consistency error when using the above optimizations
-FULL_OPTIMIZATION_avr32 = ""
-BUILD_OPTIMIZATION_avr32 = ""
+#with gcc-4.2.1-atmel.1.0.3 (and probably most other avr32 gcc ports).
+#However, some packages require optimizations to compile (e.g. libmad).
+#It appears the guilty optimization is "-frename-registers", leaving that one
+#out allows the build to proceed normally. -fexpensive-optimizations may be OK,
+#it was removed while debugging an issue that ultimately turned out to be due
+#to the ICE fixed by gcc-pr32889.patch. It needs to be tested again.
+#Note that this testing was done without the gcc-pr32889.patch.
+FULL_OPTIMIZATION_avr32 = "-Os -fomit-frame-pointer"
+
CXXFLAGS += "-fvisibility-inlines-hidden"
diff --git a/packages/binutils/binutils-2.17/binutils-2.17.atmel.1.2.6.patch.bz2 b/packages/binutils/binutils-2.17/binutils-2.17.atmel.1.2.6.patch.bz2
new file mode 100644
index 0000000000..583ea40a84
--- /dev/null
+++ b/packages/binutils/binutils-2.17/binutils-2.17.atmel.1.2.6.patch.bz2
Binary files differ
diff --git a/packages/binutils/binutils.inc b/packages/binutils/binutils.inc
index 684cf54b8e..49d3aeaa3c 100644
--- a/packages/binutils/binutils.inc
+++ b/packages/binutils/binutils.inc
@@ -67,6 +67,11 @@ export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
do_configure () {
(cd ${S}; gnu-configize) || die "Failed to run gnu-configize"
+
+ # Fix for issues when system's texinfo version >= 4.10
+ # (See https://bugzilla.redhat.com/show_bug.cgi?id=345621)
+ sed -i -e "s@egrep 'texinfo.*'@egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|4.[1-9][0-9]+|[5-9])'@" '${S}/configure'
+
oe_runconf
#
# must prime config.cache to ensure the build of libiberty
diff --git a/packages/binutils/binutils_2.17.bb b/packages/binutils/binutils_2.17.bb
index 0696a24e72..e721cb41f3 100644
--- a/packages/binutils/binutils_2.17.bb
+++ b/packages/binutils/binutils_2.17.bb
@@ -1,6 +1,7 @@
require binutils.inc
+require binutils-avr32.inc
-PR = "r4"
+PR = "r5"
SRC_URI = \
"http://ftp.gnu.org/gnu/binutils/binutils-${PV}.tar.bz2 \
@@ -18,8 +19,13 @@ SRC_URI += "\
file://300-012_check_ldrunpath_length.patch;patch=1 \
file://300-001_ld_makefile_patch.patch;patch=1 \
file://400-mips-ELF_MAXPAGESIZE-4K.patch;patch=1 \
- file://500-avr32-atmel.1.3.0.patch;patch=1 \
- file://501-avr32-fix-pool-alignment.patch;patch=1 \
+"
+# removed in favor of the atmel 1.2.6 patch which is supposedly newer (yes)
+# file://500-avr32-atmel.1.3.0.patch;patch=1 \
+# file://501-avr32-fix-pool-alignment.patch;patch=1 \
+
+SRC_URI_append_avr32 = "\
+ file://binutils-2.17.atmel.1.2.6.patch.bz2;patch=1 \
"
# Zecke's OSX fixes
diff --git a/packages/gcc/gcc-4.2.2.inc b/packages/gcc/gcc-4.2.2.inc
index 02fe1162bc..1392b3e830 100644
--- a/packages/gcc/gcc-4.2.2.inc
+++ b/packages/gcc/gcc-4.2.2.inc
@@ -40,6 +40,13 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://intermask-bigendian.patch;patch=1 \
"
+
+SRC_URI_append_avr32 = " \
+ file://gcc-4.2.2.atmel.1.0.8.patch.bz2;patch=1 \
+ file://901-avr32-no-cond-exec-before-reload-by-default.patch;patch=1 \
+"
+
+
SRC_URI_append_ep93xx = " \
file://arm-crunch-saveregs.patch;patch=1 \
file://arm-crunch-20000320.patch;patch=1 \
@@ -71,4 +78,4 @@ JAVA = ""
EXTRA_OECONF_BASE = "--disable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap"
-ARM_INSTRUCTION_SET = "arm" \ No newline at end of file
+ARM_INSTRUCTION_SET = "arm"
diff --git a/packages/gcc/gcc-4.2.2/901-avr32-no-cond-exec-before-reload-by-default.patch b/packages/gcc/gcc-4.2.2/901-avr32-no-cond-exec-before-reload-by-default.patch
new file mode 100644
index 0000000000..ab55ea4da1
--- /dev/null
+++ b/packages/gcc/gcc-4.2.2/901-avr32-no-cond-exec-before-reload-by-default.patch
@@ -0,0 +1,13 @@
+Index: gcc-4.2.2/gcc/config/avr32/avr32.c
+===================================================================
+--- gcc-4.2.2.orig/gcc/config/avr32/avr32.c 2008-04-08 10:42:47.000000000 +0200
++++ gcc-4.2.2/gcc/config/avr32/avr32.c 2008-04-08 10:43:33.000000000 +0200
+@@ -161,7 +161,7 @@
+ /* Set default target_flags. */
+ #undef TARGET_DEFAULT_TARGET_FLAGS
+ #define TARGET_DEFAULT_TARGET_FLAGS \
+- (MASK_HAS_ASM_ADDR_PSEUDOS | MASK_MD_REORG_OPTIMIZATION | MASK_COND_EXEC_BEFORE_RELOAD)
++ (MASK_HAS_ASM_ADDR_PSEUDOS | MASK_MD_REORG_OPTIMIZATION)
+
+ void
+ avr32_optimization_options (int level,
diff --git a/packages/gcc/gcc-4.2.2/gcc-4.2.2.atmel.1.0.8.patch.bz2 b/packages/gcc/gcc-4.2.2/gcc-4.2.2.atmel.1.0.8.patch.bz2
new file mode 100644
index 0000000000..4be097b095
--- /dev/null
+++ b/packages/gcc/gcc-4.2.2/gcc-4.2.2.atmel.1.0.8.patch.bz2
Binary files differ
diff --git a/packages/gdb/gdb-cross.inc b/packages/gdb/gdb-cross.inc
index 480cce4931..9870b9870b 100644
--- a/packages/gdb/gdb-cross.inc
+++ b/packages/gdb/gdb-cross.inc
@@ -10,6 +10,12 @@ do_configure () {
# override this function to avoid the autoconf/automake/aclocal/autoheader
# calls for now
(cd ${S} && gnu-configize) || die "failure in running gnu-configize"
+
+ # Fix for issues when system's texinfo version >= 4.10
+ # (See https://bugzilla.redhat.com/show_bug.cgi?id=345621)
+ sed -i -e 's/egrep `texinfo.*`/egrep `texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|4.[1-9][0-9]+|[5-9])`/' '${S}/configure'
+
+
oe_runconf
}