On 22 Apr 2024, at 14:30, Ivan Zhakov <i...@apache.org> wrote:

> Can you confirm why xlate/iconv cannot be moved to a module? (No expectation 
> for you to do such a move, just want to understand what makes it impossible).
>> 
> I think it can be done in theory, but I see potential problem: API should be 
> changed or some kind of implicit initialization should be implemented.
> 
> The same situation with xml API.

My understanding from working on this over the years is that there are layers 
of archeology. The very first external libraries as I recall were libxml2/expat 
and iconv, and these were tightly bound. Then modular DSO became a thing, and 
so DBD/DBM/etc came along with various levels of sophistication.

In theory, making libxml2/expat modular should be straightforward, it involves 
going back and making the old work like the new.

> Another benefit of modular approach is that if you link to apr-xlate-2 or to 
> apr-xml-2 you do not need to handle dynamic DSO load failures.

You would still need to handle failure in the choice of ibxml2 or expat.

>> If you've disabled modular DSO, you've disabled the split of dependent 
>> libraries into separate modules. If this is a problem, re-enable modular DSO?
> There are two things: APR modular DSO support and support for DSO itself. 
> Modular DSO can be disabled while keeping support for dynamic build. APR 
> modular support is configured at compile time and can be disabled by the 
> distribution maintainer. 

It can be disabled by a distribution maintainer, why would they do so though?

In light of what happened with xz, having the ability to harden a library at 
runtime by not-loading-unless-necessary is a very good thing, and you'd need a 
very good reason to turn that off.

Regards,
Graham
--

Reply via email to