Pull request: Raise SIGFPE instead of abort in __gmp_exception`

Vincent Lefevre vincent at vinc17.net
Tue Jan 12 00:26:00 UTC 2016


On 2016-01-07 21:45:44 +0100, Niels Möller wrote:
> That said, it sounds reasonable to me to replace abort by raise(SIGFPE).
> A configure check may be needed; I think both abort and raise are ANSI
> C, but I suspect SIGFPE isn't.

SIGFPE is at least in ISO C99. I don't know when it was introduced,
but the C rationale says:

  7.14 Signal handling <signal.h>

  This facility was retained from /usr/group since the C89 Committee
  felt it important to provide some standard mechanism for dealing
  with exceptional program conditions. Thus a subset of the signals
  defined in UNIX were retained in the Standard, along with the basic
  mechanisms of declaring signal handlers and, with adaptations,
  raising signals (see §7.14.2.1). For a discussion of the problems
  created by including signals, see §5.2.3.

  The signal machinery contains many misnomers: SIGFPE, SIGILL, and
  SIGSEGV have their roots in PDP-11 hardware terminology, but the
  names are too entrenched to change. The occurrence of SIGFPE, for
  instance, does not necessarily indicate a floating-point error. A
  conforming implementation is not required to field any hardware
  interrupts.

  The C89 Committee has reserved the space of names beginning with
  SIG to permit implementations to add local names to <signal.h>.
  This implies that such names should not be otherwise used in a C
  source file which includes <signal.h>.

-- 
Vincent Lefèvre <vincent at vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)


More information about the gmp-devel mailing list