aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2015-10-20 09:37:27 +0000
committerSzabolcs Nagy <nsz@gcc.gnu.org>2015-10-20 09:37:27 +0000
commit16b340c22400c9a1de543b86d00c97d543374e32 (patch)
treedce6e793bfe1e2e81905f34a709a2c4c92618ce3 /gcc/varasm.c
parent0d8ab59ce04e7df40bf505c7e341599b141e98c4 (diff)
downloadgcc-16b340c22400c9a1de543b86d00c97d543374e32.zip
gcc-16b340c22400c9a1de543b86d00c97d543374e32.tar.gz
gcc-16b340c22400c9a1de543b86d00c97d543374e32.tar.bz2
Fix default_binds_local_p_2 for extern protected data
gcc: PR target/66912 * varasm.c (default_binds_local_p_2): Turn on extern_protected_data. gcc/testsuite: PR target/66912 * gcc.target/aarch64/pr66912.c: New. * gcc.target/arm/pr66912.c: New. From-SVN: r229024
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index f1564bc..ff9d271 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -6898,12 +6898,13 @@ default_binds_local_p (const_tree exp)
return default_binds_local_p_3 (exp, flag_shlib != 0, true, false, false);
}
-/* Similar to default_binds_local_p, but common symbol may be local. */
+/* Similar to default_binds_local_p, but common symbol may be local and
+ extern protected data is non-local. */
bool
default_binds_local_p_2 (const_tree exp)
{
- return default_binds_local_p_3 (exp, flag_shlib != 0, true, false,
+ return default_binds_local_p_3 (exp, flag_shlib != 0, true, true,
!flag_pic);
}