[m-rev.] for review: Delete use of signal handlers taking sigcontext arguments.

Julien Fischer jfischer at opturion.com
Tue Oct 13 16:10:37 AEDT 2020


On Mon, 12 Oct 2020, Peter Wang wrote:

> The configure checks for sigcontext (aka sigcontext_struct) have failed
> for a long time without anyone noticing. The MR_GET_FAULT_ADDR macro
> that is also needed for the sigcontext code paths was only ever defined
> for __i386__ and __mc68000__.
>
> According to the sigaction(2) man page, the struct sigcontext
> argument was obsoleted by the introduction of the SA_SIGINFO flag
> (which we also have code for, though also not working either).
>
> configure.ac:
>    Delete checks related to struct sigcontext.
>
>    Delete check for asm/sigcontext.h
>
> runtime/mercury_conf.h.in:
>    Delete macros that are no longer defined.
>
> runtime/mercury_memory_handlers.c:
> runtime/mercury_signal.c:
> runtime/mercury_signal.h:
>    Delete code for using signal handlers that take a sigcontext argument.
>
>    Add XXX where native GC casts a context parameter to
>    struct sigcontext * when it should be a ucontext_t *.
>    Possibly never tested.
>
> runtime/mercury_faultaddr.h:
>    Delete this file containing only the MR_GET_FAULT_ADDR macro which is
>    no longer used.
>
> runtime/RESERVED_MACRO_NAMES:
> ssdb/RESERVED_MACRO_NAMES:
> trace/RESERVED_MACRO_NAMES:
>    Delete macros that are no longer defined.
>
> tools/configure_mingw_cross:
>    Don't need to set variables mercury_cv_sigcontext_struct_2arg and
>    mercury_cv_sigcontext_struct_3arg any more.

That's fine.

Julien.


More information about the reviews mailing list