/* Stack overflow handling.
- Copyright (C) 2002, 2004, 2006, 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2006, 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
appears to have been a stack overflow, or with a core dump
otherwise. This function is async-signal-safe. */
-static void die (int) __attribute__ ((noreturn));
-static void
+static _Noreturn void
die (int signo)
{
char const *message;
/* Handle a segmentation violation that is likely to be a stack
overflow and exit. This function is async-signal-safe. */
-static void overflow_handler (int, stackoverflow_context_t)
- __attribute__ ((noreturn));
-static void
+static _Noreturn void
overflow_handler (int emergency,
stackoverflow_context_t context __attribute__ ((unused)))
{
/* Handle a segmentation violation and exit. This function is
async-signal-safe. */
-static void segv_handler (int, siginfo_t *, void *) __attribute__((noreturn));
-static void
+static _Noreturn void
segv_handler (int signo, siginfo_t *info,
void *context __attribute__ ((unused)))
{
Note that although both Linux and Solaris provide
sigaltstack, SA_ONSTACK, and SA_SIGINFO, currently only
- Solaris satisfies the XSI heueristic. This is because
+ Solaris satisfies the XSI heuristic. This is because
Solaris populates uc_stack with the details of the
interrupted stack, while Linux populates it with the details
of the current stack. */