This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]