[Bug d/87864] libdruntime doesn't link with /bin/ld before Solaris 11.4

ro at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Feb 14 17:49:00 GMT 2019


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)


More information about the Gcc-bugs mailing list