Darwin, D: Fix bootstrap when target does not support -Bstatic/dynamic.

This fixes a bootstrap fail because saw_static_libcxx was unused for
targets without support for -Bstatic/dynamic.

The fix applied pushes the -static-libstdc++ back onto the command
line, which allows a target to substitute a static version of the
c++ standard library using specs.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>

gcc/d/ChangeLog:

	* d-spec.cc (lang_specific_driver): Push the -static-libstdc++
	option back onto the command line for targets without support
	for -Bstatic/dynamic.
This commit is contained in:
Iain Sandoe 2021-10-05 19:54:30 +01:00
parent d4c470c376
commit e24760533b

View File

@ -468,6 +468,12 @@ lang_specific_driver (cl_decoded_option **in_decoded_options,
generate_option (OPT_Wl_, LD_STATIC_OPTION, 1, CL_DRIVER,
&new_decoded_options[j++]);
}
#else
/* Push the -static-libstdc++ option back onto the command so that
a target without LD_STATIC_DYNAMIC can use outfile substitution. */
if (saw_static_libcxx && !static_link)
generate_option (OPT_static_libstdc__, NULL, 1, CL_DRIVER,
&new_decoded_options[j++]);
#endif
if (saw_libcxx)
new_decoded_options[j++] = *saw_libcxx;