From 3ff5d1f09913bc231911524049b8714fe2a37843 Mon Sep 17 00:00:00 2001 From: Tejas Belagod Date: Mon, 2 Feb 2015 15:54:59 +0000 Subject: [PATCH] re PR target/64231 (SIGSEGV building glibc on aarch64-linux-gnu from r217852) 2015-02-02 Tejas Belagod Andrew Pinski Jakub Jelinek 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 Co-Authored-By: Jakub Jelinek From-SVN: r220348 --- gcc/ChangeLog | 8 ++++++++ gcc/config/aarch64/aarch64.c | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fc4ecb38e2e..4436e3f5a18 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2015-02-02 Tejas Belagod + Andrew Pinski + Jakub Jelinek + + 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 * 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 b923fdb08a8..3296abb9516 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; -- 2.30.2