Subject: [bug#53327] [PATCH] gnu: Add mold.

From: Ludovic Courtès <[email-masked]>
Date: Mon, 07 Mar 2022 21:53:52 +0100

Hi Andreas,

Long time no see!  ;-)

Did you have a chance to look into Maxime’s suggestions?

  https://issues.guix.gnu.org/53327

(I have nothing to add to what Maxime wrote.)

TIA,
Ludo’.

Maxime Devos <[email-masked]> skribis:

> Hi,
>
> (*partial* review)
>
> There's a directory 'third_party' with bundled code, can it be removed
> (in an origin snippet)?
>
> Andreas Rottmann schreef op ma 17-01-2022 om 20:56 [+0100]:
>> +     `(#:tests? #f ; TODO: Tests require clang and hardcode `cc`
>
> 'clang'  can be added to native-inputs and hardcoded ‘cc’ can be
> replaced with 'clang' or 'gcc' with 'substitute*'.
>
>> +       #:make-flags (list (string-append "CC=" ,(cc-for-target))
>> +                          (string-append "CXX=" ,(cxx-for-target))
>> +                          (string-append "PREFIX=" %output))
>
> %output is being phased out, instead use #$output (make sure to add ,#~
> before (list ...)).
>
>> +    (inputs (list openssl zlib xxhash))
>
> Why does mold need openssl here?  I don't see the relation between
> linking and TLS.
>
>> +    (synopsis "Modern Linker")
>
> Why is ‘Linker’ capitalised?  Also, as I understand it, the point
> of mold is not chasing whatever is considered ‘modern’, but rather
> being fast and requiring little memory, albeit at the cost of
> supporting less (less targets, no linker scripts, ...).
>
>> +    (description "mold is a faster drop-in replacement for existing
> Unix linkers.")
>
> It's a bit short, maybe you could write a bit about memory usage,
> limitations
>
> Since 'mold' is said to be very efficient, it might be interesting to
> determine if Guix could use 'mold' instead of the linker from
> 'binutils' by default (with some exceptions like GRUB and Linux which
> might actually need GNU ld linker scripts) ... that's more something
> for guix-devel and future patches though.
>
> Greetings,
> Maxime.