From 4a985a3778e38b8a9fc169f238069303a047c236 Mon Sep 17 00:00:00 2001 From: Marcus Shawcroft Date: Thu, 6 Feb 2014 10:17:18 +0000 Subject: [PATCH] [AArch64] Fix SYMBOL_REF symbol classification. The symbol classification logic in correctly classifies all SYMBOL_REF's as SYMBOL_FORCE_TO_MEM, the intention of the code is to catch only the large memory model case. From-SVN: r207544 --- gcc/ChangeLog | 5 +++++ gcc/config/aarch64/aarch64.c | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a947212f7d1..078192de17a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-02-06 Marcus Shawcroft + + * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic + for SYMBOL_REF in large memory model. + 2014-02-06 Kyrylo Tkachov * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32 diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index d3c5cbc7ace..16c51a8994e 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -5400,9 +5400,8 @@ aarch64_classify_symbol (rtx x, if (GET_CODE (x) == SYMBOL_REF) { - if (aarch64_cmodel == AARCH64_CMODEL_LARGE - || CONSTANT_POOL_ADDRESS_P (x)) - return SYMBOL_FORCE_TO_MEM; + if (aarch64_cmodel == AARCH64_CMODEL_LARGE) + return SYMBOL_FORCE_TO_MEM; if (aarch64_tls_symbol_p (x)) return aarch64_classify_tls_symbol (x); -- 2.30.2