discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: plmerge core dumps...


From: David Chisnall
Subject: Re: plmerge core dumps...
Date: Thu, 13 Feb 2020 14:47:56 +0000
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Thunderbird/68.4.2

-fuse-ld=gold (or -fuse-ld=lld for lld).

LLD is the system linker on most *NIX platforms (Android, *BSD). On platforms where BFD is the default, gold has been part of the binutils package that installs BFD for quite a long time and so the -fuse-ld= flag will instruct gcc or clang to select it.

David

On 13/02/2020 14:31, Gregory Casamento wrote:
An observation.  I only see this on subsequent installs.  The first always goes ok.

Another question.  How do i switch to ld.gold?

On Thu, Feb 13, 2020, 9:16 AM David Chisnall <gnustep@theravensnest.org <mailto:gnustep@theravensnest.org>> wrote:

    On 13/02/2020 10:35, Richard Frith-Macdonald wrote:
     > Is it a bug in the linker?

    It is, but it is a bug that shows up *only* with ld -r.  LLD did not
    support ld -r for a long time and that made no difference to over
    90% of
    the things in the FreeBSD ports collection.  It is a very rarely used
    corner case for the linker and so likely to be very poorly tested (it
    also has quite poorly defined semantics, which is part of the problem).

    GNUstep Make uses this for 'subprojects'.  We hit this early because
    -base Additions is a subproject.  These are compiled as .o files and
    then linked to form a single .o file using ld -r.  Most modern build
    systems would typically just pass the list of .o files to the parent
    project to link, but GNUstep Make tries to create a single subproject.o.

    It is good that -base tests this corner case of -make, because it would
    otherwise hit external users, but I am not convinced by the value of
    this option in GNUstep Make overall (though, as I have said before,
    I am
    also not convinced of the value of investing time and engineering
    resources in maintaining a custom build system that does not compose
    well with any other project's build system).

    David




reply via email to

[Prev in Thread] Current Thread [Next in Thread]