mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2025-08-08 17:22:05 +03:00
* modules/stdint-h: Renamed from modules/stdint. * modules/stdint-h-tests: Renamed from modules/stdint-tests. * modules/stdint-h-c++-tests: Renamed from modules/stdint-c++-tests. * tests/test-stdint-h.c: Renamed from tests/test-stdint.c. * tests/test-stdint-h-c++.cc: Renamed from tests/test-stdint-c++.cc. * tests/test-stdint-h-c++2.cc: Renamed from tests/test-stdint-c++2.cc. * doc/posix-headers/stdint.texi: Update. * doc/gnulib-readme.texi: Update. * doc/gnulib.texi: Update. * modules/* (Depends-on): Update. * modules/stdint: New file.
101 lines
2.6 KiB
Plaintext
101 lines
2.6 KiB
Plaintext
Description:
|
|
A simplified variant of GNU libsigsegv.
|
|
It implements the most important features of GNU libsigsegv: catching SIGSEGV
|
|
and catching stack overflow. It does *not* implement the 'sigsegv_dispatcher'
|
|
type (which is not multithread-safe).
|
|
It supports all modern Unix-like platforms: Linux, Hurd, FreeBSD, NetBSD,
|
|
OpenBSD, macOS, AIX, Solaris, Cygwin, Haiku, even IRIX. It does *not* support
|
|
HP-UX, Minix, native Windows; on these platforms the module compiles and
|
|
provides a <sigsegv.h> header file, but it does not define HAVE_SIGSEGV_RECOVERY
|
|
and HAVE_STACK_OVERFLOW_RECOVERY.
|
|
Unlike GNU libsigsegv, which consists of many .h and .c files, this module
|
|
compiles to just two object files, rather than a library.
|
|
|
|
Files:
|
|
lib/sigsegv.in.h
|
|
lib/sigsegv.c
|
|
lib/stackvma.h
|
|
lib/stackvma.c
|
|
m4/mmap-anon.m4
|
|
m4/musl.m4
|
|
m4/sigaltstack.m4
|
|
m4/stack-direction.m4
|
|
m4/libsigsegv.m4
|
|
m4/sigsegv.m4
|
|
|
|
Depends-on:
|
|
gen-header
|
|
havelib
|
|
host-cpu-c-abi
|
|
stdint-h
|
|
getpagesize
|
|
|
|
configure.ac:
|
|
AC_REQUIRE([gl_SIGSEGV])
|
|
if test $gl_sigsegv_uses_libsigsegv = yes; then
|
|
GL_GENERATE_SIGSEGV_H=false
|
|
else
|
|
GL_GENERATE_SIGSEGV_H=true
|
|
fi
|
|
gl_CONDITIONAL_HEADER([sigsegv.h])
|
|
AC_PROG_MKDIR_P
|
|
if $GL_GENERATE_SIGSEGV_H; then
|
|
dnl Persuade glibc <sys/ucontext.h> to declare macros designating register
|
|
dnl indices: REG_RSP on x86_64, REG_ESP on i386.
|
|
dnl Persuade Solaris OpenIndiana <ucontext.h> to include <sys/regset.h>,
|
|
dnl which declares macros designating register indices, such as ESP on i386.
|
|
dnl Persuade Solaris OpenIndiana <unistd.h> to declare mincore().
|
|
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
|
|
|
|
gl_MUSL_LIBC
|
|
|
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
|
case "$host_os" in
|
|
solaris2.11)
|
|
AC_DEFINE([SOLARIS11], [1], [Define on Solaris 11 and its derivates.])
|
|
;;
|
|
esac
|
|
|
|
gl_FUNC_MMAP_ANON
|
|
|
|
dnl Stack direction.
|
|
SV_STACK_DIRECTION
|
|
|
|
dnl Catching stack overflow requires an alternate signal stack.
|
|
dnl The old "install a guard page" trick would be unreliable, because
|
|
dnl we don't know where exactly to place the guard page.
|
|
SV_SIGALTSTACK
|
|
|
|
AC_CHECK_FUNCS_ONCE([getrlimit])
|
|
fi
|
|
|
|
Makefile.am:
|
|
BUILT_SOURCES += $(SIGSEGV_H)
|
|
|
|
if GL_GENERATE_SIGSEGV_H
|
|
sigsegv.h: sigsegv.in.h $(top_builddir)/config.status
|
|
@NMD@ $(AM_V_GEN)$(MKDIR_P) '%reldir%'
|
|
$(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/sigsegv.in.h
|
|
$(AM_V_at)mv $@-t $@
|
|
else
|
|
sigsegv.h: $(top_builddir)/config.status
|
|
rm -f $@
|
|
endif
|
|
MOSTLYCLEANFILES += sigsegv.h sigsegv.h-t
|
|
|
|
if GL_GENERATE_SIGSEGV_H
|
|
lib_SOURCES += sigsegv.c stackvma.c
|
|
endif
|
|
|
|
Include:
|
|
<sigsegv.h>
|
|
|
|
Link:
|
|
$(LTLIBSIGSEGV) when linking with libtool, $(LIBSIGSEGV) otherwise
|
|
|
|
License:
|
|
GPLv2+
|
|
|
|
Maintainer:
|
|
Bruno Haible
|