summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD12
-rw-r--r--fix-insn-delay_cycles_32x.patch21
3 files changed, 34 insertions, 5 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e7c0e55e94b7..3086a16624fd 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Sat Aug 27 22:12:45 UTC 2016
+# Mon Sep 12 21:01:35 UTC 2016
pkgbase = msp430-elf-gcc-stage1
pkgdesc = The GNU Compiler Collection bootstrap for the msp430-elf target.
pkgver = 6.2.0
- pkgrel = 1
+ pkgrel = 2
url = http://gcc.gnu.org
arch = i686
arch = x86_64
@@ -21,8 +21,10 @@ pkgbase = msp430-elf-gcc-stage1
options = !strip
source = ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.2.0/gcc-6.2.0.tar.bz2
source = http://isl.gforge.inria.fr/isl-0.17.tar.bz2
+ source = fix-insn-delay_cycles_32x.patch
sha256sums = 9944589fc722d3e66308c0ce5257788ebd7872982a718aa2516123940671b7c5
sha256sums = 439b322f313aef562302ac162caccb0b90daedf88d49d62e00a5db6b9d83d6bb
+ sha256sums = 0cd87771d1fd8ec5d0c413ae8c18b9b2599f2c66a0fa8b5fd4aa2f01ac1b5f86
pkgname = msp430-elf-gcc-stage1
diff --git a/PKGBUILD b/PKGBUILD
index 99590d94d782..3658022777c8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@ _target="msp430-elf"
pkgname=${_target}-gcc-stage1
pkgver=6.2.0
_islver=0.17
-pkgrel=1
+pkgrel=2
pkgdesc="The GNU Compiler Collection bootstrap for the ${_target} target."
arch=(i686 x86_64)
license=('GPL' 'LGPL')
@@ -12,9 +12,11 @@ url="http://gcc.gnu.org"
depends=("${_target}-binutils>=2.25" 'libmpc' 'elfutils')
options=('staticlibs' '!buildflags' '!libtool' '!emptydirs' 'zipman' 'docs' '!strip')
source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
- http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2)
+ http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
+ fix-insn-delay_cycles_32x.patch)
sha256sums=('9944589fc722d3e66308c0ce5257788ebd7872982a718aa2516123940671b7c5'
- '439b322f313aef562302ac162caccb0b90daedf88d49d62e00a5db6b9d83d6bb')
+ '439b322f313aef562302ac162caccb0b90daedf88d49d62e00a5db6b9d83d6bb'
+ '0cd87771d1fd8ec5d0c413ae8c18b9b2599f2c66a0fa8b5fd4aa2f01ac1b5f86')
prepare() {
# add isl into tree
@@ -22,6 +24,10 @@ prepare() {
[[ -L isl ]] && rm -f isl
ln -s ../isl-${_islver} isl
+ # fix for:
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77570
+ patch -p1 < ../fix-insn-delay_cycles_32x.patch
+
# clean build directory
[[ -d gcc-build ]] && rm -rf gcc-build
mkdir gcc-build
diff --git a/fix-insn-delay_cycles_32x.patch b/fix-insn-delay_cycles_32x.patch
new file mode 100644
index 000000000000..4da202bc57ed
--- /dev/null
+++ b/fix-insn-delay_cycles_32x.patch
@@ -0,0 +1,21 @@
+diff -rupN gcc-6.2.0-pristine/gcc/config/msp430/msp430.md gcc-6.2.0-changed/gcc/config/msp430/msp430.md
+--- gcc-6.2.0-pristine/gcc/config/msp430/msp430.md 2016-02-11 18:53:54.000000000 -0500
++++ gcc-6.2.0-changed/gcc/config/msp430/msp430.md 2016-09-12 16:42:58.843149306 -0400
+@@ -1442,7 +1442,7 @@
+ (match_operand 1 "immediate_operand" "i")
+ ] UNS_DELAY_32X)]
+ ""
+- "PUSHM.A #2,r13
++ "PUSHM.A #2,r14
+ MOV.W %A0, r13
+ MOV.W %B0, r14
+ 1: SUB.W #1, r13
+@@ -1450,7 +1450,7 @@
+ JNE 1b
+ TST.W r13
+ JNE 1b
+- POPM.A #2,r13"
++ POPM.A #2,r14"
+ )
+
+ (define_insn "delay_cycles_16"