[Buildroot] [PATCH 1/1] package/libressl: needs MMU

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Tue Jul 25 07:32:30 UTC 2017


Hello,

On Mon, 24 Jul 2017 23:07:03 +0200, Waldemar Brodkorb wrote:

> > On this one, I'd like to have the feedback from Waldemar. Indeed,
> > libressl is not using fork(), but __register_atfork(), which uClibc
> > does not implement, and I've not found why it doesn't exist for noMMU
> > platforms.  
> 
> From the comment in the header:
> "Register handlers to execute before and after `fork'"
> 
> As this is a feature only available when fork() is there, this isn't
> available for noMMU platforms.

Well, there could have been a dummy __register_atfork(), which does
nothing on noMMU. Indeed, you can imagine a library registering a
callback using __register_atfork(), but not using itself the fork()
system call. Such a library would be OK for a noMMU platform.

> It was added in this commit:
> https://github.com/libressl-portable/portable/commit/32d9eeeecf4e951e1566d5f4a42b36ea37b60f35
> 
> But I think the commit log isn't correct, as pthread_atfork can be
> used for glibc, musl and uClibc-ng. (for glibc -lpthread must be
> added)
> 
> One possible solution might be, to check for __register_atfork, if
> it does not exist, fallback to pthread_atfork, if it does not exist
> provide a pthread_atfork dummy (noMMU case).

This should be doable without too much effort I believe.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com



More information about the buildroot mailing list