Commit db67ea0f by Iain Sandoe Committed by Iain Sandoe

[Darwin] More specs TLC.

This strips out a few driver specs that are only specifying a default state.
Also warn on an option now ignored, and add some comments to the driver specs
section.

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

	* config/darwin.h (DRIVER_SELF_SPECS): Ignore X and Mach specs which
	refer to default conditions.  Warn for the 'y' spec which is ignored
	by current linkers.

From-SVN: r273608
parent 1acf0246
2019-07-19 Iain Sandoe <iain@sandoe.co.uk>
* config/darwin.h (DRIVER_SELF_SPECS): Ignore X and Mach specs which
refer to default conditions. Warn for the 'y' spec which is ignored
by current linkers.
2019-07-19 Bill Seurer <seurer@linux.vnet.ibm.com> 2019-07-19 Bill Seurer <seurer@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (builtin_description, cpu_is_info, * config/rs6000/rs6000.c (builtin_description, cpu_is_info,
......
...@@ -118,13 +118,23 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -118,13 +118,23 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* True if pragma ms_struct is in effect. */ /* True if pragma ms_struct is in effect. */
extern GTY(()) int darwin_ms_struct; extern GTY(()) int darwin_ms_struct;
#define DRIVER_SELF_SPECS \ /* The majority of Darwin's special driver opts are direct access to ld flags
"%{gfull:-g -fno-eliminate-unused-debug-symbols} %<gfull", \ (to save the user typing -Wl,xxxxx or Xlinker xxxxx) but we can't process
"%{gused:-g -feliminate-unused-debug-symbols} %<gused", \ them here, since doing so will make it appear that there are linker infiles
"%{fapple-kext|mkernel:-static}", \ and the linker will invoked even when it is not necessary.
"%{shared:-Zdynamiclib} %<shared", \
"%{gsplit-dwarf:%ngsplit-dwarf is not supported on this platform} \ However, a few can be handled and we can elide options that are silently-
%<gsplit-dwarf" ignored defaults, plus warn on obsolete ones that no longer function. */
#define DRIVER_SELF_SPECS \
"%{fapple-kext|mkernel:-static}", \
"%{gfull:-g -fno-eliminate-unused-debug-symbols} %<gfull", \
"%{gsplit-dwarf:%ngsplit-dwarf is not supported on this platform} \
%<gsplit-dwarf", \
"%{gused:-g -feliminate-unused-debug-symbols} %<gused", \
"%{shared:-Zdynamiclib} %<shared", \
"%{static:%{Zdynamic:%e conflicting code gen style switches are used}}",\
"%{y*:%nthe y option is obsolete and ignored} %<y*", \
"%<Mach %<X"
#if LD64_HAS_EXPORT_DYNAMIC #if LD64_HAS_EXPORT_DYNAMIC
#define DARWIN_RDYNAMIC "%{rdynamic:-export_dynamic}" #define DARWIN_RDYNAMIC "%{rdynamic:-export_dynamic}"
...@@ -342,13 +352,11 @@ extern GTY(()) int darwin_ms_struct; ...@@ -342,13 +352,11 @@ extern GTY(()) int darwin_ms_struct;
%{Zunexported_symbols_list*:-unexported_symbols_list %*} \ %{Zunexported_symbols_list*:-unexported_symbols_list %*} \
%{Zweak_reference_mismatches*:-weak_reference_mismatches %*} \ %{Zweak_reference_mismatches*:-weak_reference_mismatches %*} \
%{!Zweak_reference_mismatches*:-weak_reference_mismatches non-weak} \ %{!Zweak_reference_mismatches*:-weak_reference_mismatches non-weak} \
%{X} \
%{y*} \
%{w} \ %{w} \
%{pagezero_size*} %{segs_read_*} %{seglinkedit} %{noseglinkedit} \ %{pagezero_size*} %{segs_read_*} %{seglinkedit} %{noseglinkedit} \
%{sectalign*} %{sectobjectsymbols*} %{segcreate*} %{whyload} \ %{sectalign*} %{sectobjectsymbols*} %{segcreate*} %{whyload} \
%{whatsloaded} %{dylinker_install_name*} \ %{whatsloaded} %{dylinker_install_name*} \
%{dylinker} %{Mach} " %{dylinker} "
/* Machine dependent libraries. */ /* Machine dependent libraries. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment