aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2019-10-15 20:15:38 +0000
committerIain Sandoe <iains@gcc.gnu.org>2019-10-15 20:15:38 +0000
commit6eee515142568bf25e0d99882bdf3cf5f49e97ec (patch)
treec5181ab9317038e609f53230e1f52ebd7c1c07e7 /gcc
parent863950d280dd0bc02edce2e88484735cea5bd1c7 (diff)
downloadgcc-6eee515142568bf25e0d99882bdf3cf5f49e97ec.zip
gcc-6eee515142568bf25e0d99882bdf3cf5f49e97ec.tar.gz
gcc-6eee515142568bf25e0d99882bdf3cf5f49e97ec.tar.bz2
[Darwin] Update darwin_binds_local_p.
The use of default_binds_local_p had got out of sync with the varasm changes, this restores the call to be direct. In practice, we add some further tests to determine local binding - but this callback is used for the initial assessments made by default_encode_section_info(). gcc/ChangeLog: 2019-10-15 Iain Sandoe <iain@sandoe.co.uk> * config/darwin.c (darwin_binds_local_p): Update to call default_binds_local_p_3 () directly. amend comments. From-SVN: r277009
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/darwin.c10
2 files changed, 13 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 023b8f2..6a9c2e0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2019-10-15 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/darwin.c (darwin_binds_local_p): Update to call
+ default_binds_local_p_3 () directly. amend comments.
+
2019-10-15 Richard Biener <rguenther@suse.de>
* lto-streamer-out.c (lto_variably_modified_type_p): New.
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index 1d386e0..d34b003 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -3049,8 +3049,14 @@ darwin_file_end (void)
bool
darwin_binds_local_p (const_tree decl)
{
- return default_binds_local_p_1 (decl,
- TARGET_KEXTABI && DARWIN_VTABLE_P (decl));
+ /* We use the "shlib" input to indicate that a symbol should be
+ considered overridable; only relevant for vtables in kernel modules
+ on earlier system versions, and with a TODO to complete. */
+ bool force_overridable = TARGET_KEXTABI && DARWIN_VTABLE_P (decl);
+ return default_binds_local_p_3 (decl, force_overridable /* shlib */,
+ false /* weak dominate */,
+ false /* extern_protected_data */,
+ false /* common_local_p */);
}
/* The Darwin's implementation of TARGET_ASM_OUTPUT_ANCHOR. Define the