Re: [PATCH] ld.so.8: Correct linker option name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jul 15, 2023 at 5:46 PM Alejandro Colomar <alx@xxxxxxxxxx> wrote:
>
> Hi,
>
> On 2023-07-15 20:19, Fangrui Song wrote:
> > On Sat, Jul 15, 2023 at 9:42 AM Alejandro Colomar <alx@xxxxxxxxxx> wrote:
> >>
> >> Hi Fangrui,
> >>
> >> On 2023-07-14 09:00, Fangrui Song wrote:
> >>> The linker option that sets the DF_1_NODEFLIB flag is -z nodefaultlib
> >>> instead of -z nodeflib.
> >>
> >> Does -z nodeflib exist?  Please mention that in your commit message.
> >>
> >> Thanks,
> >> Alex
> >
> > Hi Alex, -z nodeflib is not defined.
> >
> > % ld.bfd -m elf_x86_64 -e 0 /dev/null -z nodeflib
> > ld.bfd: warning: -z nodeflib ignored
> > % ld.lld -m elf_x86_64 -e 0 /dev/null -z nodeflib
> > ld.lld: warning: unknown -z value: nodeflib
> >
> > I have double checked that my commit message is accurate.
>
> I say it because it is a bit ambiguous, in the sense that it's not clear
> if nodeflib is a valid flag but which is not the one we're interested in,
> or if it's just an invalid flag.
>
> It's not a problem for those who know, but it reduces the work for those
> who don't know.  Anyway, that was my guess, but I was only 90% certain
> without checking.  I suggest appending this at the end of your commit
> message:
>
> ```
> -z nodeflib is not defined.
>
> % ld.bfd -m elf_x86_64 -e 0 /dev/null -z nodeflib
> ld.bfd: warning: -z nodeflib ignored
> % ld.lld -m elf_x86_64 -e 0 /dev/null -z nodeflib
> ld.lld: warning: unknown -z value: nodeflib
> ```
>
> What do you think?
>
> Thanks,
> Alex

Thank you for the suggestion! I agree that adding the commands clarifies things.
Sent v2: https://lore.kernel.org/linux-man/20230716182227.2226356-1-maskray@xxxxxxxxxx/T/#u

> >
> >>>
> >>> Signed-off-by: Fangrui Song <maskray@xxxxxxxxxx>
> >>> ---
> >>>  man8/ld.so.8 | 4 ++--
> >>>  1 file changed, 2 insertions(+), 2 deletions(-)
> >>>
> >>> diff --git a/man8/ld.so.8 b/man8/ld.so.8
> >>> index 1c9a13f56..351913bd8 100644
> >>> --- a/man8/ld.so.8
> >>> +++ b/man8/ld.so.8
> >>> @@ -83,7 +83,7 @@ From the cache file
> >>>  which contains a compiled list of candidate shared objects previously found
> >>>  in the augmented library path.
> >>>  If, however, the binary was linked with the
> >>> -.B \-z nodeflib
> >>> +.B \-z nodefaultlib
> >>>  linker option, shared objects in the default paths are skipped.
> >>>  Shared objects installed in hardware capability directories (see below)
> >>>  are preferred to other shared objects.
> >>> @@ -97,7 +97,7 @@ and then
> >>>  and then
> >>>  .IR /usr/lib64 .)
> >>>  If the binary was linked with the
> >>> -.B \-z nodeflib
> >>> +.B \-z nodefaultlib
> >>>  linker option, this step is skipped.
> >>>  .\"
> >>>  .SS Dynamic string tokens
> >>
> >> --
> >> <http://www.alejandro-colomar.es/>
> >> GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5
> >>
> >
> >
>
> --
> <http://www.alejandro-colomar.es/>
> GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5
>


-- 
宋方睿




[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux