summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorvonPalitroque2016-09-12 17:01:46 -0400
committervonPalitroque2016-09-12 17:01:46 -0400
commit55a3152e7dd4a7870bfce8b8fe2603fa5ca5d9f1 (patch)
treedee55c0f7ae9ef3b13d52e49fba7b45d7fb95aa7 /PKGBUILD
parent144cc2564b8843269482131d129e4b22f47defcb (diff)
downloadaur-55a3152e7dd4a7870bfce8b8fe2603fa5ca5d9f1.tar.gz
Fixed bug in delay_cycles_32x insn.
There is a bug in the insn that generates the delay loop for the instrinsic __delay_cycles() function. This bug is noticeable under some circumstances, where the target is an MSP430X core and the cycle count is representable as a 32 bit number. This bug results in the corruption of r14 in a function that utilizes the instrinsic under the above conditions. A bug report has been filed at [1] with a patch submitted. The same patch is applied here. Although it is improbable that this instrinsic is used in newlib, it is suggested to recompile it just in case. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77570
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD12
1 files changed, 9 insertions, 3 deletions
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