This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r277727 - in /branches/gcc-7-branch/gcc: Change...
- From: iains at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Fri, 01 Nov 2019 20:52:21 -0000
- Subject: r277727 - in /branches/gcc-7-branch/gcc: Change...
Author: iains
Date: Fri Nov 1 20:52:21 2019
New Revision: 277727
URL: https://gcc.gnu.org/viewcvs?rev=277727&root=gcc&view=rev
Log:
[Darwin, machopic] Back out part of PR71767 fix.
We applied a conservative, but fairly large, hammer to fix PR71767.
However, ideally, we want minimise the number of symbols visible to
ld64 and to match the cases emitted by clang (since that's what ld64
is expecting). Now we've improved the handling of indirections, we
can make the indirection symbols local when they are in the regular
non-lazy symbol pointers section. We will continue to make any
indirections in the data section visible (since right now we have no
way to track if a given symbol follows a weak global).
This change makes no difference to handling of labels for constants
(to be revised in a future patch).
There's a mechanical change to a number of tests (allowing 'l' or 'L'
as the indirection symbol prefix).
gcc/
2019-11-01 Iain Sandoe <iain@sandoe.co.uk>
Backport from mainline
2019-10-13 Iain Sandoe <iain@sandoe.co.uk>
* config/darwin.c (machopic_indirection_name): Rework the
function to emit linker-visible symbols only for indirections
in the data section. Clean up the code and update comments.
gcc/testsuite/
2019-11-01 Iain Sandoe <iain@sandoe.co.uk>
Backport from mainline.
2019-10-13 Iain Sandoe <iain@sandoe.co.uk>
* gcc.target/i386/indirect-thunk-1.c: Allow 'l' or 'L' in
indirection label prefix, for Darwin.
* gcc.target/i386/indirect-thunk-2.c: Likewise.
* gcc.target/i386/indirect-thunk-3.c: Likewise.
* gcc.target/i386/indirect-thunk-4.c: Likewise.
* gcc.target/i386/indirect-thunk-attr-1.c: Likewise.
* gcc.target/i386/indirect-thunk-attr-2.c: Likewise.
* gcc.target/i386/indirect-thunk-attr-3.c: Likewise.
* gcc.target/i386/indirect-thunk-attr-4.c: Likewise.
* gcc.target/i386/indirect-thunk-attr-5.c: Likewise.
* gcc.target/i386/indirect-thunk-attr-6.c: Likewise.
* gcc.target/i386/indirect-thunk-extern-1.c: Likewise.
* gcc.target/i386/indirect-thunk-extern-2.c: Likewise.
* gcc.target/i386/indirect-thunk-extern-3.c: Likewise.
* gcc.target/i386/indirect-thunk-extern-4.c: Likewise.
* gcc.target/i386/indirect-thunk-inline-1.c: Likewise.
* gcc.target/i386/indirect-thunk-inline-2.c: Likewise.
* gcc.target/i386/indirect-thunk-inline-3.c: Likewise.
* gcc.target/i386/indirect-thunk-inline-4.c: Likewise.
* gcc.target/i386/pr32219-2.c: Likewise.
* gcc.target/i386/pr32219-3.c: Likewise.
* gcc.target/i386/pr32219-4.c: Likewise.
* gcc.target/i386/pr32219-7.c: Likewise.
* gcc.target/i386/pr32219-8.c: Likewise.
* gcc.target/i386/ret-thunk-14.c: Likewise.
* gcc.target/i386/ret-thunk-15.c: Likewise.
* gcc.target/i386/ret-thunk-9.c: Likewise.
Modified:
branches/gcc-7-branch/gcc/ChangeLog
branches/gcc-7-branch/gcc/config/darwin.c
branches/gcc-7-branch/gcc/testsuite/ChangeLog
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-1.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-2.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-3.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-4.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/pr32219-2.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/pr32219-3.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/pr32219-4.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/pr32219-7.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/pr32219-8.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/ret-thunk-14.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/ret-thunk-15.c
branches/gcc-7-branch/gcc/testsuite/gcc.target/i386/ret-thunk-9.c