diff options
author | mshawcroft <mshawcroft@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-05-31 15:40:09 +0000 |
---|---|---|
committer | mshawcroft <mshawcroft@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-05-31 15:40:09 +0000 |
commit | 12a60807e1edc88f54ec43088cc666f7e88e317e (patch) | |
tree | 1b0ad790528b925945558ac483547bd2259ab507 | |
parent | 1777a4732532473abd3b67354cd83da95136dbe1 (diff) | |
download | gcc-12a60807e1edc88f54ec43088cc666f7e88e317e.tar.gz |
[AArch64] -mcmodel=tiny -fPIC use tiny absolute for non binds local.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199544 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2e6d853fe4d..d44fcdcc361 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-05-31 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * config/aarch64/aarch64.c (aarch64_classify_symbol): + Use SYMBOL_TINY_ABSOLUTE for AARCH64_CMODEL_TINY_PIC. + 2013-05-31 Tobias Burnus <burnus@net-b.de> PR middle-end/57073 diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 9c77888157d..a6859cc2a9a 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -5068,6 +5068,10 @@ aarch64_classify_symbol (rtx x, return SYMBOL_SMALL_ABSOLUTE; case AARCH64_CMODEL_TINY_PIC: + if (!aarch64_symbol_binds_local_p (x)) + return SYMBOL_SMALL_GOT; + return SYMBOL_TINY_ABSOLUTE; + case AARCH64_CMODEL_SMALL_PIC: if (!aarch64_symbol_binds_local_p (x)) return SYMBOL_SMALL_GOT; |