Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Apr 2025 03:13:54 GMT
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 06fa889365b5 - stable/14 - rtld: symbolic and deepbind are equivalent for the refobj
Message-ID:  <202504300313.53U3DsDJ004741@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/14 has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=06fa889365b51b4b06d26bf60f8d5b89f340b8b1

commit 06fa889365b51b4b06d26bf60f8d5b89f340b8b1
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2025-04-19 10:26:58 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2025-04-30 03:13:12 +0000

    rtld: symbolic and deepbind are equivalent for the refobj
    
    (cherry picked from commit d0ab6abbf5318fa09df1b145198d543c60f0685b)
---
 libexec/rtld-elf/rtld.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c
index cc504666c649..6375867d1db1 100644
--- a/libexec/rtld-elf/rtld.c
+++ b/libexec/rtld-elf/rtld.c
@@ -4624,12 +4624,13 @@ symlook_default(SymLook *req, const Obj_Entry *refobj)
      */
     res = symlook_obj(&req1, refobj);
     if (res == 0 && (refobj->symbolic ||
-      ELF_ST_VISIBILITY(req1.sym_out->st_other) == STV_PROTECTED)) {
+      ELF_ST_VISIBILITY(req1.sym_out->st_other) == STV_PROTECTED ||
+      refobj->deepbind)) {
 	req->sym_out = req1.sym_out;
 	req->defobj_out = req1.defobj_out;
 	assert(req->defobj_out != NULL);
     }
-    if (refobj->symbolic || req->defobj_out != NULL)
+    if (refobj->symbolic || req->defobj_out != NULL || refobj->deepbind)
 	donelist_check(&donelist, refobj);
 
     if (!refobj->deepbind)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202504300313.53U3DsDJ004741>