aboutsummaryrefslogtreecommitdiff
path: root/lang/gnatdroid-binutils
diff options
context:
space:
mode:
authorJohn Marino <marino@FreeBSD.org>2015-03-03 12:52:25 +0000
committerJohn Marino <marino@FreeBSD.org>2015-03-03 12:52:25 +0000
commit3a336940294ca670bab5c024c8c48847696d358e (patch)
tree65460dfe681cc583b85b73cc4e3742f5206d0975 /lang/gnatdroid-binutils
parentb092a458424b77fcebaa1ada2e93a6ca6ab44b7c (diff)
downloadports-3a336940294ca670bab5c024c8c48847696d358e.tar.gz
ports-3a336940294ca670bab5c024c8c48847696d358e.zip
lang/gnatdroid-binutils: Fix undefined behavior in arm gas
This patch fixes build on clang 3.6 -- all binutils ports need it. PR: 198204 Submitted by: dim@
Notes
Notes: svn path=/head/; revision=380357
Diffstat (limited to 'lang/gnatdroid-binutils')
-rw-r--r--lang/gnatdroid-binutils/Makefile2
-rw-r--r--lang/gnatdroid-binutils/files/patch-gas__config__tc-arm.c17
2 files changed, 18 insertions, 1 deletions
diff --git a/lang/gnatdroid-binutils/Makefile b/lang/gnatdroid-binutils/Makefile
index bee8c95d7908..3a35aa73e3b7 100644
--- a/lang/gnatdroid-binutils/Makefile
+++ b/lang/gnatdroid-binutils/Makefile
@@ -3,7 +3,7 @@
PORTNAME= binutils
PORTVERSION= 2.24
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_SOURCEWARE}
MASTER_SITE_SUBDIR= binutils/releases
diff --git a/lang/gnatdroid-binutils/files/patch-gas__config__tc-arm.c b/lang/gnatdroid-binutils/files/patch-gas__config__tc-arm.c
new file mode 100644
index 000000000000..1c599ef88d54
--- /dev/null
+++ b/lang/gnatdroid-binutils/files/patch-gas__config__tc-arm.c
@@ -0,0 +1,17 @@
+From d840c081f8082e8b9e63fead5306643975a97bb3 Mon Sep 17 00:00:00 2001
+From: Richard Earnshaw <Richard.Earnshaw@arm.com>
+Date: Thu, 20 Nov 2014 17:02:47 +0000
+Subject: [PATCH] * config/tc-arm.c (rotate_left): Avoid undefined behaviour
+ when N = 0.
+
+--- gas/config/tc-arm.c.orig 2014-10-14 09:32:03.000000000 +0200
++++ gas/config/tc-arm.c 2015-02-18 21:13:40.720573000 +0100
+@@ -7251,7 +7251,7 @@
+
+ /* Functions for operand encoding. ARM, then Thumb. */
+
+-#define rotate_left(v, n) (v << n | v >> (32 - n))
++#define rotate_left(v, n) (v << (n & 31) | v >> ((32 - n) & 31))
+
+ /* If VAL can be encoded in the immediate field of an ARM instruction,
+ return the encoded form. Otherwise, return FAIL. */