]> git.ipfire.org Git - thirdparty/gcc.git/commit
[Darwin, specs] Tidy some more linker options.
authoriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Jun 2019 19:16:17 +0000 (19:16 +0000)
committeriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Jun 2019 19:16:17 +0000 (19:16 +0000)
commitb147864fb2c846b05d18f179fe4fdf3387e5ceef
treeaa29742fa4479eaecbd666edafdd6baf3885d499
parentcc90adc200d93167d8b9a90b2053abd0b2481347
[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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272484 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/darwin.h
gcc/config/darwin10.h
gcc/config/darwin9.h