diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-04-09 17:21:30 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-04-09 17:21:30 +0000 |
commit | aefffe167d432b190c630ad61316a1562df38331 (patch) | |
tree | 70e1c4bd7f795d28db36d5e0a34e9bc74d74679a /misc/buildroot | |
parent | 4c27a20a6d850a995eac861f07c0ce6ae24aacff (diff) | |
download | px4-nuttx-aefffe167d432b190c630ad61316a1562df38331.tar.gz px4-nuttx-aefffe167d432b190c630ad61316a1562df38331.tar.bz2 px4-nuttx-aefffe167d432b190c630ad61316a1562df38331.zip |
Add 4.5.2 ARM fixes contributed by Gerd v. Egidy
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4578 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'misc/buildroot')
11 files changed, 75 insertions, 6 deletions
diff --git a/misc/buildroot/ChangeLog b/misc/buildroot/ChangeLog index 59de91a73..58ee44e5a 100644 --- a/misc/buildroot/ChangeLog +++ b/misc/buildroot/ChangeLog @@ -108,4 +108,12 @@ buildroot-1.11 2011-xx-xx <spudmonkey@racsa.co.cr> * configs/avr-defconfig-4.5.2 - New configuration. * Config.in and almost all configurations in configs/ - Changed the default nuttx path to $(TOPDIR)/../../nuttx + * Misc files. Patch provided by Gerd v. Egidy that solves the following + problems + - binutils 2.21 is not available on the gnu servers anymore, they replaced + it with 2.21.1 + - there is some assembler error when compiling gcc for arm, gcc bugzilla + 43999 + - you can't build nuttx for cortex m3/m4 because of a missing instruction + in ethe assembler, binutils bugzilla 12296 diff --git a/misc/buildroot/configs/arm920t-eabi-defconfig-4.5.2 b/misc/buildroot/configs/arm920t-eabi-defconfig-4.5.2 index 1c1707dcc..3586e4f33 100644 --- a/misc/buildroot/configs/arm920t-eabi-defconfig-4.5.2 +++ b/misc/buildroot/configs/arm920t-eabi-defconfig-4.5.2 @@ -75,7 +75,7 @@ BR2_GNU_TARGET_SUFFIX="eabi" # BR2_BINUTILS_VERSION_2_18 is not set # BR2_BINUTILS_VERSION_2_19 is not set # BR2_BINUTILS_VERSION_2_19_1 is not set -BR2_BINUTILS_VERSION_2_21=y +BR2_BINUTILS_VERSION_2_21_1=y BR2_BINUTILS_VERSION="2.21" BR2_EXTRA_BINUTILS_CONFIG_OPTIONS="" diff --git a/misc/buildroot/configs/avr-defconfig-4.3.3 b/misc/buildroot/configs/avr-defconfig-4.3.3 index 9ac1f1ffa..a597e5e3b 100644 --- a/misc/buildroot/configs/avr-defconfig-4.3.3 +++ b/misc/buildroot/configs/avr-defconfig-4.3.3 @@ -55,7 +55,7 @@ BR2_GNU_TARGET_SUFFIX="elf" # BR2_BINUTILS_VERSION_2_18 is not set # BR2_BINUTILS_VERSION_2_19 is not set BR2_BINUTILS_VERSION_2_19_1=y -# BR2_BINUTILS_VERSION_2_21 is not set +# BR2_BINUTILS_VERSION_2_21_1 is not set BR2_BINUTILS_VERSION="2.19.1" BR2_EXTRA_BINUTILS_CONFIG_OPTIONS="" diff --git a/misc/buildroot/configs/avr-defconfig-4.5.2 b/misc/buildroot/configs/avr-defconfig-4.5.2 index 456af8d72..e0ebe0559 100644 --- a/misc/buildroot/configs/avr-defconfig-4.5.2 +++ b/misc/buildroot/configs/avr-defconfig-4.5.2 @@ -55,7 +55,7 @@ BR2_GNU_TARGET_SUFFIX="elf" # BR2_BINUTILS_VERSION_2_18 is not set # BR2_BINUTILS_VERSION_2_19 is not set # BR2_BINUTILS_VERSION_2_19_1 is not set -BR2_BINUTILS_VERSION_2_21=y +BR2_BINUTILS_VERSION_2_21_1=y BR2_BINUTILS_VERSION="2.21" BR2_EXTRA_BINUTILS_CONFIG_OPTIONS="" diff --git a/misc/buildroot/toolchain/binutils/2.21/110-arm-eabi-conf.patch b/misc/buildroot/toolchain/binutils/2.21.1/110-arm-eabi-conf.patch index af26329d9..af26329d9 100644 --- a/misc/buildroot/toolchain/binutils/2.21/110-arm-eabi-conf.patch +++ b/misc/buildroot/toolchain/binutils/2.21.1/110-arm-eabi-conf.patch diff --git a/misc/buildroot/toolchain/binutils/2.21/120-sh-conf.patch b/misc/buildroot/toolchain/binutils/2.21.1/120-sh-conf.patch index 071d15a41..071d15a41 100644 --- a/misc/buildroot/toolchain/binutils/2.21/120-sh-conf.patch +++ b/misc/buildroot/toolchain/binutils/2.21.1/120-sh-conf.patch diff --git a/misc/buildroot/toolchain/binutils/2.21/300-001_ld_makefile_patch.patch b/misc/buildroot/toolchain/binutils/2.21.1/300-001_ld_makefile_patch.patch index 5cb0f614d..5cb0f614d 100644 --- a/misc/buildroot/toolchain/binutils/2.21/300-001_ld_makefile_patch.patch +++ b/misc/buildroot/toolchain/binutils/2.21.1/300-001_ld_makefile_patch.patch diff --git a/misc/buildroot/toolchain/binutils/2.21/300-012_check_ldrunpath_length.patch b/misc/buildroot/toolchain/binutils/2.21.1/300-012_check_ldrunpath_length.patch index df783109b..df783109b 100644 --- a/misc/buildroot/toolchain/binutils/2.21/300-012_check_ldrunpath_length.patch +++ b/misc/buildroot/toolchain/binutils/2.21.1/300-012_check_ldrunpath_length.patch diff --git a/misc/buildroot/toolchain/binutils/2.21.1/900-bug12296-cortexm3-svc.patch b/misc/buildroot/toolchain/binutils/2.21.1/900-bug12296-cortexm3-svc.patch new file mode 100644 index 000000000..df4c9ff1d --- /dev/null +++ b/misc/buildroot/toolchain/binutils/2.21.1/900-bug12296-cortexm3-svc.patch @@ -0,0 +1,48 @@ +Index: gas/testsuite/gas/arm/arch7.d +=================================================================== +RCS file: /cvs/src/src/gas/testsuite/gas/arm/arch7.d,v +--- a/gas/testsuite/gas/arm/arch7.d 17 Sep 2010 10:42:04 -0000 1.6 ++++ b/gas/testsuite/gas/arm/arch7.d 30 Mar 2011 22:44:17 -0000 +@@ -76,3 +76,4 @@ + 0+10c <[^>]*> f380 8814 msr CONTROL, r0 + 0+110 <[^>]*> f3ef 8003 mrs r0, PSR + 0+114 <[^>]*> f380 8803 msr PSR, r0 ++0+118 <[^>]*> df00 svc 0 +Index: gas/testsuite/gas/arm/arch7.s +=================================================================== +RCS file: /cvs/src/src/gas/testsuite/gas/arm/arch7.s,v +--- a/gas/testsuite/gas/arm/arch7.s 17 Sep 2010 10:42:04 -0000 1.2 ++++ b/gas/testsuite/gas/arm/arch7.s 30 Mar 2011 22:44:17 -0000 +@@ -79,3 +79,5 @@ + msr control, r0 + mrs r0, xpsr + msr xpsr, r0 ++ ++ svc 0 +Index: gas/testsuite/gas/arm/attr-march-armv7.d +=================================================================== +RCS file: /cvs/src/src/gas/testsuite/gas/arm/attr-march-armv7.d,v +--- a/gas/testsuite/gas/arm/attr-march-armv7.d 11 May 2010 17:36:33 -0000 1.3 ++++ b/gas/testsuite/gas/arm/attr-march-armv7.d 30 Mar 2011 22:44:17 -0000 +@@ -9,5 +9,6 @@ + File Attributes + Tag_CPU_name: "7" + Tag_CPU_arch: v7 ++ Tag_CPU_arch_profile: Microcontroller + Tag_THUMB_ISA_use: Thumb-2 + Tag_DIV_use: Not allowed +Index: include/opcode/arm.h +=================================================================== +RCS file: /cvs/src/src/include/opcode/arm.h,v +--- a/include/opcode/arm.h 15 Nov 2010 10:03:05 -0000 1.24 ++++ b/include/opcode/arm.h 30 Mar 2011 22:44:18 -0000 +@@ -109,7 +109,8 @@ + #define ARM_AEXT_V6KT2 (ARM_AEXT_V6T2 | ARM_EXT_V6K) + #define ARM_AEXT_V6ZT2 (ARM_AEXT_V6T2 | ARM_EXT_SEC) + #define ARM_AEXT_V6ZKT2 (ARM_AEXT_V6T2 | ARM_EXT_V6K | ARM_EXT_SEC) +-#define ARM_AEXT_V7_ARM (ARM_AEXT_V6KT2 | ARM_EXT_V7 | ARM_EXT_BARRIER) ++#define ARM_AEXT_V7_ARM (ARM_AEXT_V6KT2 | ARM_EXT_V7 | ARM_EXT_BARRIER \ ++ | ARM_EXT_OS) + #define ARM_AEXT_V7A (ARM_AEXT_V7_ARM | ARM_EXT_V7A) + #define ARM_AEXT_V7R (ARM_AEXT_V7_ARM | ARM_EXT_V7R | ARM_EXT_DIV) + #define ARM_AEXT_NOTM \ diff --git a/misc/buildroot/toolchain/binutils/Config.in b/misc/buildroot/toolchain/binutils/Config.in index a51d280cf..d1e674ba5 100644 --- a/misc/buildroot/toolchain/binutils/Config.in +++ b/misc/buildroot/toolchain/binutils/Config.in @@ -27,9 +27,9 @@ choice depends !BR2_avr32 && !BR2_nios2 && !BR2_m9s12x bool "binutils 2.19.1" - config BR2_BINUTILS_VERSION_2_21 + config BR2_BINUTILS_VERSION_2_21_1 depends !BR2_avr32 && !BR2_nios2 && !BR2_m9s12x - bool "binutils 2.21" + bool "binutils 2.21.1" endchoice config BR2_BINUTILS_VERSION @@ -38,7 +38,7 @@ config BR2_BINUTILS_VERSION default "2.18" if BR2_BINUTILS_VERSION_2_18 default "2.19" if BR2_BINUTILS_VERSION_2_19 default "2.19.1" if BR2_BINUTILS_VERSION_2_19_1 - default "2.21" if BR2_BINUTILS_VERSION_2_21 + default "2.21.1" if BR2_BINUTILS_VERSION_2_21_1 config BR2_EXTRA_BINUTILS_CONFIG_OPTIONS string "Additional binutils options" diff --git a/misc/buildroot/toolchain/gcc/4.5.2/901-bug43999-fix-mismatch-between-conditions-of-an-IT-block.patch b/misc/buildroot/toolchain/gcc/4.5.2/901-bug43999-fix-mismatch-between-conditions-of-an-IT-block.patch new file mode 100644 index 000000000..fb5cd5e4c --- /dev/null +++ b/misc/buildroot/toolchain/gcc/4.5.2/901-bug43999-fix-mismatch-between-conditions-of-an-IT-block.patch @@ -0,0 +1,13 @@ +diff --git a/gcc/config/arm/lib1funcs.asm b/gcc/config/arm/lib1funcs.asm +index 085e690..2e76c01 100644 +--- a/gcc/config/arm/lib1funcs.asm ++++ b/gcc/config/arm/lib1funcs.asm +@@ -641,7 +641,7 @@ pc .req r15 + subhs \dividend, \dividend, \divisor, lsr #3 + orrhs \result, \result, \curbit, lsr #3 + cmp \dividend, #0 @ Early termination? +- do_it hs, t ++ do_it ne, t + movnes \curbit, \curbit, lsr #4 @ No, any more bits to do? + movne \divisor, \divisor, lsr #4 + bne 1b |