| Thread overview | ||||||
|---|---|---|---|---|---|---|
|
July 12, 2020 Choosing a non-default linker for dmd (via dub) | ||||
|---|---|---|---|---|
| ||||
The line
dflags "-linker=gold" platform="linux-ldc" # use GNU gold linker
in dub.sdl
enables me to change linker for LDC.
Is it possible to choose a specific linker for DMD aswell in a similar way?
I only find the flag `-L` that sets flags but no linker executable.
One way is to link
/usr/bin/ld
to either
/usr/bin/ld.gold
or
/usr/bin/ld.lld
but it would be nice to be able to do this from the dub.sdl or the command-line call to dub.
| ||||
July 13, 2020 Re: Choosing a non-default linker for dmd (via dub) | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Per Nordlöw | On Sunday, 12 July 2020 at 16:36:09 UTC, Per Nordlöw wrote: > The line > > dflags "-linker=gold" platform="linux-ldc" # use GNU gold linker > > in dub.sdl > > enables me to change linker for LDC. > > Is it possible to choose a specific linker for DMD aswell in a similar way? > > I only find the flag `-L` that sets flags but no linker executable. > > One way is to link > > /usr/bin/ld > > to either > > /usr/bin/ld.gold > > or > > /usr/bin/ld.lld > > but it would be nice to be able to do this from the dub.sdl or the command-line call to dub. dub links using the compiler, so it basically just runs `dmd [flags] [files-to-link]` In the DMD documentation you can see that it just runs gcc: https://dlang.org/dmd-linux.html#linking Personally I always `ln -s /usr/bin/ld.gold /usr/local/bin/ld` to make ld.gold the default. | |||
July 15, 2020 Re: Choosing a non-default linker for dmd (via dub) | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Per Nordlöw | On 2020-07-12 18:36, Per Nordlöw wrote: > The line > > dflags "-linker=gold" platform="linux-ldc" # use GNU gold linker > > in dub.sdl > > enables me to change linker for LDC. > > Is it possible to choose a specific linker for DMD aswell in a similar way? > > I only find the flag `-L` that sets flags but no linker executable. > > One way is to link > > /usr/bin/ld > > to either > > /usr/bin/ld.gold > > or > > /usr/bin/ld.lld > > but it would be nice to be able to do this from the dub.sdl or the command-line call to dub. There's an environment variable "CC" that can be used to select which C compiler is used. Is there any equivalence for selecting the linker, "LD" perhaps? -- /Jacob Carlborg | |||
July 15, 2020 Re: Choosing a non-default linker for dmd (via dub) | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | On Wednesday, 15 July 2020 at 11:38:47 UTC, Jacob Carlborg wrote:
> There's an environment variable "CC" that can be used to select which C compiler is used. Is there any equivalence for selecting the linker, "LD" perhaps?
You normally just add -fuse-ld=gold to the C compiler cmdline, e.g., via -Xcc=-fuse-ld=gold in the DMD cmdline.
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply