On 07/17/2018 04:08 PM, Kamil Dudka wrote:
On Tuesday, July 17, 2018 2:24:04 PM CEST Matus Honek wrote:
Florian is right, the idea is to make changes to the source code
(probably a downstream patch will be needed) such that the threaded
library will be built twice, once with libldap soname and once with
libldap_r soname, and the non-threaded libldap won't be shipped at
all.
The non-threaded version basically provides a subset of capabilities of
the threaded version, which are additionally thread safe
(i.e. mutexes). There shouldn't be really any noticeable change.
Does this make sense?
So can it happen that both the libraries will be loaded at the same time
by a single process (one of them for example through libcurl)?
Will everything work as expected in this case?
It's certainly quite risky, and many things can go wrong (dlopen of the
dormant copy of the library, ELF constructors running twice).
Matus, have you considered turning libldap.so into a linker script
(referencing libdap_r.so) and libldap-2.4.so.2 into a stub which only
depends on libldap_r-2.4.so.2? The dynamic linker will then search
libldap_r if the application links against libldap.
Thanks,
Florian
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/message/2Z2R7J5IMEAY3O75V7H5P65FYNMS3Q7Y/