diff options
author | Tejas Belagod <tejas.belagod@arm.com> | 2015-02-02 15:54:59 +0000 |
---|---|---|
committer | Tejas Belagod <belagod@gcc.gnu.org> | 2015-02-02 15:54:59 +0000 |
commit | 3ff5d1f09913bc231911524049b8714fe2a37843 (patch) | |
tree | 9a3b4394fb61188925287dee386f1e9c284382e4 | |
parent | 16a71c501a1fb3b3f97c6870a39fce2f67f5974b (diff) | |
download | gcc-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/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 4 |
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; |