On 10/3/22 8:03 PM, Ravi Pokala wrote:
-----Original Message-----
From: <owner-src-committ...@freebsd.org> on behalf of John Baldwin 
<j...@freebsd.org>
Date: 2022-10-03, Monday at 16:11
To: <src-committ...@freebsd.org>, <dev-commits-src-all@FreeBSD.org>, 
<dev-commits-src-m...@freebsd.org>
Subject: git: 5e4854cbf8d8 - main - rescue: Link libzutil after libzfs.

     The branch main has been updated by jhb:

     URL: 
https://cgit.FreeBSD.org/src/commit/?id=5e4854cbf8d8a9b056472967d15e1021d36fcae1

     commit 5e4854cbf8d8a9b056472967d15e1021d36fcae1
     Author:     John Baldwin <j...@freebsd.org>
     AuthorDate: 2022-10-03 23:10:42 +0000
     Commit:     John Baldwin <j...@freebsd.org>
     CommitDate: 2022-10-03 23:10:42 +0000

         rescue: Link libzutil after libzfs.

         libzfs depends on symbols defined in libzutil.  For static linking
         ld.bfd is less forgiving than lld, so rescue was failing to link when
         using ld.bfd due to unresolved symbols from libzutil used by libzfs.

You're solving an issue of unresolved symbols by putting the library where 
they're defined *after* the library where they're used?

-Ravi (rpokala@)

Yes, that's normally how that works (you link libc last, not first).  lld is 
just
a bit different as it will look in earlier libraries to resolve symbols 
(backwards
references) not just forward references.  ld.bfd only does forward references by
default.

--
John Baldwin

Reply via email to