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