https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87864
--- Comment #10 from Rainer Orth <ro at gcc dot gnu.org> --- Author: ro Date: Thu Feb 14 17:47:49 2019 New Revision: 268886 URL: https://gcc.gnu.org/viewcvs?rev=268886&root=gcc&view=rev Log: Provide __start_minfo/__stop_minfo for linkers that don't (PR d/87864) libphobos: PR d/87864 * configure.ac (DRTSTUFF_SPEC): New variable. Substitute it. * libdruntime/m4/druntime/os.m4 (DRUNTIME_OS_MINFO_BRACKETING): New automake conditional. * configure: Regenerate. * libdruntime/gcc/drtstuff.c: New file. * libdruntime/Makefile.am [!DRUNTIME_OS_MINFO_BRACKETING] (DRTSTUFF, toolexeclib_DATA): New variables. (gcc/drtbegin.lo, gcc/drtend.lo): New rules. (libgdruntime_la_LDFLAGS): Use -Wc instead of -Xcompiler. Add -dstartfiles -B../src -Bgcc. (libgdruntime_la_DEPENDENCIES): New variable. (unittest_static_LDFLAGS): Use -Wc instead of -Xcompiler. (libgdruntime_t_la_LDFLAGS): Likewise. (unittest_LDFLAGS): Likewise. * src/Makefile.am (libgphobos_la_LDFLAGS): Use -Wc instead of -Xcompiler. Add -dstartfiles -B../libdruntime/gcc. (unittest_static_LDFLAGS): Use -Wc instead of -Xcompiler. (libgphobos_t_la_LDFLAGS): Likewise. (unittest_LDFLAGS): Likewise. * libdruntime/Makefile.in, src/Makefile.in: Regenerate. * Makefile.in, testsuite/Makefile.in: Regenerate. * libdruntime/rt/sections_elf_shared.d (Minfo_Bracketing): Don't assert. * libdruntime/gcc/config.d.in (Minfo_Bracketing): Remove. * src/drtstuff.spec: New file. * src/libgphobos.spec.in (DRTSTUFF_SPEC): Substitute. (*lib): Only pass SPEC_PHOBOS_DEPS without -debuglib, -defaultlib, -nophoboslib. * testsuite/testsuite_flags.in <--gdcldflags> (GDCLDFLAGS): Add -B${BUILD_DIR}/libdruntime/gcc. gcc/d: PR d/87864 * lang.opt (dstartfiles): New option. * d-spec.cc (need_spec): New variable. (lang_specific_driver) <OPT_dstartfiles>: Enable need_spec. (lang_specific_pre_link): Also load libgphobos.spec if need_spec. gcc/testsuite: PR d/87864 * lib/gdc.exp (gdc_link_flags): Add path to drtbegin.o/drtend.o if present. Added: trunk/libphobos/libdruntime/gcc/drtstuff.c trunk/libphobos/src/drtstuff.spec Modified: trunk/gcc/d/ChangeLog trunk/gcc/d/d-spec.cc trunk/gcc/d/lang.opt trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/lib/gdc.exp trunk/libphobos/ChangeLog trunk/libphobos/configure (contents, props changed) trunk/libphobos/configure.ac trunk/libphobos/libdruntime/Makefile.am trunk/libphobos/libdruntime/Makefile.in trunk/libphobos/libdruntime/gcc/config.d.in trunk/libphobos/libdruntime/rt/sections_elf_shared.d trunk/libphobos/m4/druntime/os.m4 trunk/libphobos/src/Makefile.am trunk/libphobos/src/Makefile.in trunk/libphobos/src/libgphobos.spec.in trunk/libphobos/testsuite/testsuite_flags.in (contents, props changed)