Date: Monday, May 9, 2016 @ 23:09:40 Author: anatolik Revision: 174469
upgpkg: avr-gcc 6.1.1-1 Modified: avr-gcc/trunk/PKGBUILD Deleted: avr-gcc/trunk/fix_instructions_out_of_range.patch -------------------------------------+ PKGBUILD | 19 ++------ fix_instructions_out_of_range.patch | 80 ---------------------------------- 2 files changed, 6 insertions(+), 93 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2016-05-09 21:00:36 UTC (rev 174468) +++ PKGBUILD 2016-05-09 21:09:40 UTC (rev 174469) @@ -7,10 +7,10 @@ # Build order: avr-binutils -> avr-gcc -> avr-libc pkgname=avr-gcc -pkgver=5.3.0 -pkgrel=2 -_snapshot=5-20160223 -_islver=0.15 +pkgver=6.1.1 +pkgrel=1 +_snapshot=6-20160505 +_islver=0.17.1 pkgdesc='The GNU AVR Compiler Collection' arch=(i686 x86_64) license=(GPL LGPL FDL custom) @@ -21,11 +21,9 @@ source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2 ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2 http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2 - fix_instructions_out_of_range.patch ) -sha1sums=('13b7c4de9da654ef968e658c77e32b265aa4eb5b' - '1e30e09a5fc2c9e1aa4bdb8c9c21fdff20a7cd12' - 'e1f8295d2c0507cf798a641877fdce7a69681739') +sha1sums=('273b4e880fa5b38cceabab5ace00125ca502bf25' + '10332b7f9bcbf3277f1013b2734e3bfbd5890e64') if [ -n "${_snapshot}" ]; then _basedir=gcc-${_snapshot} @@ -33,11 +31,6 @@ _basedir=gcc-${pkgver} fi -prepare() { - cd $_basedir - patch -p1 < ../fix_instructions_out_of_range.patch -} - build() { cd ${srcdir}/${_basedir} Deleted: fix_instructions_out_of_range.patch =================================================================== --- fix_instructions_out_of_range.patch 2016-05-09 21:00:36 UTC (rev 174468) +++ fix_instructions_out_of_range.patch 2016-05-09 21:09:40 UTC (rev 174469) @@ -1,80 +0,0 @@ -commit 8c1cab24c7ef8ec53c374bcfe2286250155f1db3 -Author: denisc <denisc@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Wed Oct 28 17:35:27 2015 +0000 - - gcc/ChangeLog - - PR target/67839 - * config/avr/predicates.md (low_io_address_operand): Don't - consider MODE when computing upper bound. - (io_address_operand): Likewise. - - gcc/testsuite/ChangeLog - - PR target/67839 - * gcc.target/avr/pr67839.c: New test. - - - - git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229495 138bc75d-0d04-0410-961f-82ee72b054a4 - - 2015-10-28 Jan Hubicka <[email protected]> - - * fold-const.c (operand_equal_p): Do not verify that types are -diff --git a/gcc/config/avr/predicates.md b/gcc/config/avr/predicates.md -index 2d12bc6..622bc0b 100644 ---- a/gcc/config/avr/predicates.md -+++ b/gcc/config/avr/predicates.md -@@ -46,7 +46,7 @@ - (define_special_predicate "low_io_address_operand" - (ior (and (match_code "const_int") - (match_test "IN_RANGE (INTVAL (op) - avr_arch->sfr_offset, -- 0, 0x20 - GET_MODE_SIZE (mode))")) -+ 0, 0x1F)")) - (and (match_code "symbol_ref") - (match_test "SYMBOL_REF_FLAGS (op) & SYMBOL_FLAG_IO_LOW")))) - -@@ -60,7 +60,7 @@ - (define_special_predicate "io_address_operand" - (ior (and (match_code "const_int") - (match_test "IN_RANGE (INTVAL (op) - avr_arch->sfr_offset, -- 0, 0x40 - GET_MODE_SIZE (mode))")) -+ 0, 0x3F)")) - (and (match_code "symbol_ref") - (match_test "SYMBOL_REF_FLAGS (op) & SYMBOL_FLAG_IO")))) - -diff --git a/gcc/testsuite/gcc.target/avr/pr67839.c b/gcc/testsuite/gcc.target/avr/pr67839.c -new file mode 100644 -index 0000000..604ab4b ---- /dev/null -+++ b/gcc/testsuite/gcc.target/avr/pr67839.c -@@ -0,0 +1,29 @@ -+/* { dg-do compile } */ -+/* { dg-options "-Os" } */ -+/* { dg-final { scan-assembler "sbi 0x1f,0" } } */ -+/* { dg-final { scan-assembler "cbi 0x1f,0" } } */ -+/* { dg-final { scan-assembler-not "sbi 0x20,0" } } */ -+/* { dg-final { scan-assembler-not "cbi 0x20,0" } } */ -+/* { dg-final { scan-assembler "in r\\d+,__SREG__" } } */ -+/* { dg-final { scan-assembler "out __SREG__,r\\d+" } } */ -+/* { dg-final { scan-assembler-not "in r\\d+,0x40" } } */ -+/* { dg-final { scan-assembler-not "out 0x40, r\\d+" } } */ -+ -+/* This testcase verifies that SBI/CBI/SBIS/SBIC -+ and IN/OUT instructions are not generated for -+ an IO addresses outside the valid range. -+*/ -+#define IO_ADDR(x) (*((volatile char *)x + __AVR_SFR_OFFSET__)) -+int main () -+{ -+ IO_ADDR(0x1f) |= 1; -+ IO_ADDR(0x1f) &= 0xFE; -+ -+ IO_ADDR(0x20) |= 1; -+ IO_ADDR(0x20) &= 0xFE; -+ -+ IO_ADDR(0x3f) = IO_ADDR(0x3f); -+ -+ IO_ADDR(0x40) = IO_ADDR(0x40); -+ return 0; -+}
