[PATCH] Makerules: Generate shlib.lds with -fuse-ld=bfd
Florian Weimer
fweimer@redhat.com
Mon Nov 7 08:31:04 GMT 2022
* Fangrui Song:
> lld does not dump a linker script with --verbose (it does not use a
> linker script driven design and lots of linker processing is not
> serializable as a linker script anyway). With the default
> --with-default-link=no build, $@T is empty and makes `test -s $@T` fail.
>
> Just dump the linker script with -fuse-ld=bfd. lld since 15
> (https://reviews.llvm.org/D124656) supports custom RELRO sections in the
> GNU ld dumped linker script.
> ---
> Makerules | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Makerules b/Makerules
> index 09c0cf8357..2edc6ee4e1 100644
> --- a/Makerules
> +++ b/Makerules
> @@ -553,7 +553,7 @@ else
> # not for shared objects
> $(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
> $(LINK.o) -shared -Wl,-O1 \
> - -nostdlib -nostartfiles \
> + -nostdlib -nostartfiles -fuse-ld=bfd \
> $(sysdep-LDFLAGS) $(rtld-LDFLAGS) $(LDFLAGS.so) \
> -Wl,--verbose 2>/dev/null | \
> sed > $@T \
Would you please add the comment?
I'm not sure if a configure check is required. We have a path towards
removal of the custom linker script; the vfprintf refactor I posted is a
first step.
Thanks,
Florian
More information about the Libc-alpha
mailing list