aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2021-10-05 19:54:30 +0100
committerIain Sandoe <iain@sandoe.co.uk>2021-10-05 20:54:51 +0100
commite24760533b62bb7068e63eb8da49dbca2837d38d (patch)
treee36cd784ed1235ad6cccc7d5ffea4ab44763a387 /gcc
parentd4c470c376b4cb82c9a0b7e8a4b88c44d5e4289d (diff)
downloadgcc-e24760533b62bb7068e63eb8da49dbca2837d38d.zip
gcc-e24760533b62bb7068e63eb8da49dbca2837d38d.tar.gz
gcc-e24760533b62bb7068e63eb8da49dbca2837d38d.tar.bz2
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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/d/d-spec.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/d/d-spec.cc b/gcc/d/d-spec.cc
index 5adc662..b12d28f 100644
--- a/gcc/d/d-spec.cc
+++ b/gcc/d/d-spec.cc
@@ -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;