[PATCH] Makerules: Generate shlib.lds with -fuse-ld=bfd

Sam James sam@gentoo.org
Tue Nov 8 00:06:16 GMT 2022



> On 7 Nov 2022, at 08:31, Florian Weimer via Libc-alpha <libc-alpha@sourceware.org> wrote:
> 
> * 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.
> 

That works for me.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 358 bytes
Desc: Message signed with OpenPGP
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20221108/e6d32702/attachment.sig>


More information about the Libc-alpha mailing list