Skip site navigation (1)Skip section navigation (2)
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 Gapon


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7c4e1682-d797-493c-8326-08d51dde3359>