Follow-up Comment #7, bug #63070 (project make):
Let me describe differently.
posix_spawn calls either vfork or clone, depending on arguments being passed.
See the man page referenced above.
I observed that when posix_spawn calls vfork, that's is when
POSIX_SPAWN_USEVFORK is set in flags, errno is set to ENOEXEC. This allows the
patch to work.
When posix_spawn calls clone, that is POSIX_SPAWN_USEVFORK is not set in
flags, errno it not set. In this situation the patch does not help.
In other words, make wants to set POSIX_SPAWN_USEVFORK in order to let the
patch work.
The change in configure.ac in case there is such a even older version of glibc
where posix_spawn returns 0 and there is no POSIX_SPAWN_USEVFORK (i am not
sure there is such a version, but if there is, it's definitely not 2.17). In
that case the configure check disables posix_spawn.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?63070>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/