The follows the pattern used in C++ and D drivers to pass -static-libstdc++ onto the target driver to allow spec substitution of static libraries.
NOTE: The general handling of Bstatic/dynamic and the possible use of static libgm2 libraries is unimplemented in this driver so far. It seems likely that the driver construction could be greatly simplified if the modula-2 runtimes were combined into fewer (hopefully, one) libraries. Signed-off-by: Iain Sandoe <i...@sandoe.co.uk> gcc/m2/ChangeLog: * gm2spec.cc (lang_specific_driver): Pass -static-libstdc++ on to the target driver if the linker does not support Bstatic/dynamic. --- gcc/m2/gm2spec.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/m2/gm2spec.cc b/gcc/m2/gm2spec.cc index 680dd3602ef..b9a5c4e79bb 100644 --- a/gcc/m2/gm2spec.cc +++ b/gcc/m2/gm2spec.cc @@ -767,7 +767,12 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options, case OPT_static_libstdc__: library = library >= 0 ? 2 : library; +#ifdef HAVE_LD_STATIC_DYNAMIC + /* Remove -static-libstdc++ from the command only if target supports + LD_STATIC_DYNAMIC. When not supported, it is left in so that a + back-end target can use outfile substitution. */ args[i] |= SKIPOPT; +#endif break; case OPT_stdlib_: -- 2.37.1 (Apple Git-137.1)