aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-complex.c
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2021-04-24 13:34:49 +0100
committerIain Sandoe <iain@sandoe.co.uk>2021-04-24 13:45:14 +0100
commitb6600392bf71c4a9785f8f49948b611425896830 (patch)
tree3e0f30173cca545dd6da1dc931d66ba0952cbf76 /gcc/tree-complex.c
parentf31ddad8ac8f11b8b11ab0c39f2e0740fd40ba8e (diff)
downloadgcc-b6600392bf71c4a9785f8f49948b611425896830.zip
gcc-b6600392bf71c4a9785f8f49948b611425896830.tar.gz
gcc-b6600392bf71c4a9785f8f49948b611425896830.tar.bz2
Darwin : Adjust darwin_binds_local_p for PIC code [PR100152].
Darwin's dynamic linker supports interposition and lazy symbol binding. If we are generating PIC code and a symbol is public, then it could potentially be indirected via a lazy-resolver stub; we cannot tell at compile-time if this will be done (since the indirection can be the result of adding a -flat-namespace option at link-time). Here we are conservative and assume that any such symbol cannot bind locally. The default implementation for binds_local_p handles undefined, weak and common symbols which are always indirected (for mdynamic-no-pic also). gcc/ChangeLog: PR target/100152 * config/darwin.c (darwin_binds_local_p): Assume that any public symbol might be interposed for PIC code. Update function header comment to reflect current Darwin capability.
Diffstat (limited to 'gcc/tree-complex.c')
0 files changed, 0 insertions, 0 deletions