Date: Sat, 19 Apr 2025 13:25:28 +0300 From: Andriy Gapon <avg@FreeBSD.org> To: Konstantin Belousov <kostikbel@gmail.com> Cc: FreeBSD Current <current@freebsd.org> Subject: Re: RTLD_DEEPBIND question Message-ID: <7c4e1682-d797-493c-8326-08d51dde3359@FreeBSD.org> In-Reply-To: <fd12cce4-7e6b-4ab6-bced-b36e98c995ba@FreeBSD.org> References: <0b3dda4e-53e4-40e5-9484-8b5ffb84e658@FreeBSD.org> <aALjHwFnFKChuAdR@kib.kiev.ua> <900c8521-559a-47b5-acaa-ae941f6852c4@freebsd.org> <fd12cce4-7e6b-4ab6-bced-b36e98c995ba@FreeBSD.org>
index | next in thread | previous in thread | raw e-mail
On 19/04/2025 12:39, Andriy Gapon wrote: > On 19/04/2025 12:25, Andriy Gapon wrote: >> On 19/04/2025 02:41, Konstantin Belousov wrote: >>> RTLD_DEEPBIND works by first iterating over all (recursive) DT_NEEEDED >>> object for the object where the symbol is resolved, then by looking at >>> the global list of loaded objects. >>> Non-deepbind resolution is performed by looking at the global list. >>> >>> You can see it in the rtld.c:symlook_default(). > > From a quick look at the code, should we try to resolve the symbol in refobj > itself when it's marked with deepbind? Oh, and it looks like objects loaded under the "deepbind" object (e.g., needed objects) may not be aware that they are in the deepbind sub-tree? -- Andriy Gaponhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7c4e1682-d797-493c-8326-08d51dde3359>
