aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTejas Belagod <tejas.belagod@arm.com>2015-02-02 15:54:59 +0000
committerTejas Belagod <belagod@gcc.gnu.org>2015-02-02 15:54:59 +0000
commit3ff5d1f09913bc231911524049b8714fe2a37843 (patch)
tree9a3b4394fb61188925287dee386f1e9c284382e4
parent16a71c501a1fb3b3f97c6870a39fce2f67f5974b (diff)
downloadgcc-3ff5d1f09913bc231911524049b8714fe2a37843.zip
gcc-3ff5d1f09913bc231911524049b8714fe2a37843.tar.gz
gcc-3ff5d1f09913bc231911524049b8714fe2a37843.tar.bz2
re PR target/64231 (SIGSEGV building glibc on aarch64-linux-gnu from r217852)
2015-02-02 Tejas Belagod <tejas.belagod@arm.com> Andrew Pinski <pinskia@gcc.gnu.org> Jakub Jelinek <jakub@gcc.gnu.org> PR target/64231 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large integer typing for small model. Use IN_RANGE. Co-Authored-By: Andrew Pinski <pinskia@gcc.gnu.org> Co-Authored-By: Jakub Jelinek <jakub@gcc.gnu.org> From-SVN: r220348
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/aarch64/aarch64.c4
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fc4ecb3..4436e3f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
+ Andrew Pinski <pinskia@gcc.gnu.org>
+ Jakub Jelinek <jakub@gcc.gnu.org>
+
+ PR target/64231
+ * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
+ integer typing for small model. Use IN_RANGE.
+
2015-02-02 Richard Biener <rguenther@suse.de>
* tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index b923fdb..3296abb 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -7083,8 +7083,8 @@ aarch64_classify_symbol (rtx x, rtx offset,
/* Same reasoning as the tiny code model, but the offset cap here is
4G. */
if (SYMBOL_REF_WEAK (x)
- || INTVAL (offset) < (HOST_WIDE_INT) -4294967263
- || INTVAL (offset) > (HOST_WIDE_INT) 4294967264)
+ || !IN_RANGE (INTVAL (offset), HOST_WIDE_INT_C (-4294967263),
+ HOST_WIDE_INT_C (4294967264)))
return SYMBOL_FORCE_TO_MEM;
return SYMBOL_SMALL_ABSOLUTE;