On 2016-07-05 14:42, Philip Guenther wrote:
On Mon, Jul 4, 2016 at 11:00 PM, Tinker <ti...@openmailbox.org> wrote:
...
That thread touched on a secondary question which is if there is any
particular requirement on HOW/WHEN to load libpthread :
A) Must libpthread be [dynamic object dependency] linked to the
executable
file directly, or is it OK that a shared library that the executable
has a
[dynamic object dependency] link to, links to libpthread [by the means
of a
dynamic object dependency]?
That should have always worked, yes.
B) Can libpthread be loaded at first at dlopen() time in OpenBSD?
In -current, and therefore in 6.0 when it is released, yes, libpthread
can be loaded for the first time via dlopen().
In 5.9-stable and previous releases, libpthread can only be loaded at
executable startup and was marked as "noopen".
Thank you very much Philip.
Aha so in 5.9 and before, the executable itself, or any library in its
tree of dynamic object dependencies, must have been compiled with
"-lpthread", for libpthread to function. And in 6.0 and on just
anywhere, i.e. also via dlopen(), works. Noted.
I guess it's not practically relevant but one last question, what did
you mean by "noopen marking" in this context? (Can't find any
documentation mentioning this. Just want to understand what you meant.)