re PR target/64231 (SIGSEGV building glibc on aarch64-linux-gnu from r217852)
authorTejas Belagod <tejas.belagod@arm.com>
Mon, 2 Feb 2015 15:54:59 +0000 (15:54 +0000)
committerTejas Belagod <belagod@gcc.gnu.org>
Mon, 2 Feb 2015 15:54:59 +0000 (15:54 +0000)
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

gcc/ChangeLog
gcc/config/aarch64/aarch64.c

index fc4ecb38e2eecf90c0601185a9ab178807462757..4436e3f5a18662bce3abc36324579e4a1f54d06e 100644 (file)
@@ -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.
index b923fdb08a8e653570e51cf516dc551955961704..3296abb951601fbb2215153c585c4a8c021c1c41 100644 (file)
@@ -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;