[Darwin, specs] Tidy some more linker options.
authorIain Sandoe <iain@sandoe.co.uk>
Wed, 19 Jun 2019 19:16:17 +0000 (19:16 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Wed, 19 Jun 2019 19:16:17 +0000 (19:16 +0000)
commit14fef000947916e55e5aa1bdd6d78a04ed78dde4
treeaa29742fa4479eaecbd666edafdd6baf3885d499
parenta04c0734e366a167a55f635b7d09de09b5013051
[Darwin, specs] Tidy some more linker options.

pie, no-pie and rdynamic are driver options, we can process them in the
relevant place and drop them once dealt with.  There's no need to generate
a new header to process the "no_compact_unwind" which is applied on the
basis of the target system.

Support for the -pie, -no_pie and -no_compact_unwind options should ideally
be checked at configure time, however the status quo is to assert that linkers
capable of targeting the relevant systems support these options (i.e. we trust
that the user doesn't attempt to configure inappropriately).

TODO: check the availability of the linker opts in configure rather than
trusting to the user.

This will fix the fail of pie-7.c, which is a result of failing to handle the
no-pie driver option.

2019-06-19  Iain Sandoe  <iain@sandoe.co.uk>

* config/darwin.h (DRIVER_SELF_SPECS): Add RDYNAMIC, DARWIN_PIE_SPEC
and DARWIN_NOPIE_SPEC.
(RDYNAMIC): New, modified from DARWIN_EXPORT_DYNAMIC.
(DARWIN_PIE_SPEC): Collate from darwin.h and darwin9.h.
(DARWIN_NOPIE_SPEC): Collate from darwin10.h.
(DARWIN_NOCOMPACT_UNWIND): New from darwin10.h
(DARWIN_EXPORT_DYNAMIC): Delete.
* config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move no_compact_unwind
and pie options processing to  darwin.h.
* config/darwin9.h (DARWIN_PIE_SPEC): Move pie processing to darwin.h

From-SVN: r272484
gcc/ChangeLog
gcc/config/darwin.h
gcc/config/darwin10.h
gcc/config/darwin9.h