svn commit: r295561 - in head: include sys/mips/include sys/powerpc/include sys/sparc64/include sys/sys sys/x86/include

Konstantin Belousov kostikbel at gmail.com
Sat Feb 13 17:23:28 UTC 2016


On Sun, Feb 14, 2016 at 04:02:05AM +1100, Bruce Evans wrote:
> The old visibility bugs with mc_* should be fixed someday.  I said that
> uc_* could be used.  _mc_* should have been used originally.  Maybe we
> can just change to either of these, since nothing except libc should
> have used the internals of mcontext_t.

mcontext_t is needed and used by many language runtimes which handle
exceptions for their functionality. It could be gc barriers, hacks with
tagging, and many more. API cannot be broken there by renaming the
structure members.

The only way to hide mc_* is to rename them to __mc_* and provide compat
redefinitions when <machine/ucontext.h> is included directly. This is
extremely cumbersome and I do not see a need in such fix for perceived
use case of pure ANSI C code which, to be broken, must #define mc_XXX
and then include <signal.h>.


More information about the svn-src-head mailing list