mirror of
https://https.git.savannah.gnu.org/git/gnulib.git
synced 2026-05-13 07:03:33 +00:00
* all-modules: Update comments. * build-aux/install-reloc: Likewise. * build-aux/reloc-ldflags: Likewise. * gnulib-tool: Likewise. * gnulib-tool.py: Likewise. * gnulib-tool.sh: Likewise. * lib/aligned-malloc.h: Likewise. * lib/boot-time.c: Likewise. * lib/c32is-impl.h: Likewise. * lib/c32srtombs-state.c: Likewise. * lib/c32to-impl.h: Likewise. * lib/c32width.c: Likewise. * lib/errno.in.h: Likewise. * lib/euidaccess.c: Likewise. * lib/fbufmode.c: Likewise. * lib/fenv-except-state-get.c: Likewise. * lib/fenv-except-state-set.c: Likewise. * lib/fenv-except-tracking-clear.c: Likewise. * lib/fenv-except-tracking-set.c: Likewise. * lib/fenv-except-tracking-test.c: Likewise. * lib/fenv-except-trapping.c: Likewise. * lib/fenv-round.c: Likewise. * lib/fflush.c: Likewise. * lib/fileblocks.c: Likewise. * lib/forkpty.c: Likewise. * lib/fpending.c: Likewise. * lib/fpurge.c: Likewise. * lib/freadable.c: Likewise. * lib/freadahead.c: Likewise. * lib/freading.c: Likewise. * lib/freadptr.c: Likewise. * lib/freadseek.c: Likewise. * lib/fseeko.c: Likewise. * lib/fseterr.c: Likewise. * lib/fsusage.c: Likewise. * lib/fwritable.c: Likewise. * lib/fwriting.c: Likewise. * lib/getdomainname.c: Likewise. * lib/idpriv-drop.c: Likewise. * lib/idpriv-droptemp.c: Likewise. * lib/limits.in.h: Likewise. * lib/mbrtoc16.c: Likewise. * lib/mbrtoc32.c: Likewise. * lib/mbsrtoc32s-state.c: Likewise. * lib/mbsrtowcs-state.c: Likewise. * lib/mbtowc-lock.h: Likewise. * lib/minmax.h: Likewise. * lib/netdb.in.h: Likewise. * lib/pipe-filter-ii.c: Likewise. * lib/posix_openpt.c: Likewise. * lib/ptsname_r.c: Likewise. * lib/readutmp.c: Likewise. * lib/readutmp.h: Likewise. * lib/resource-ext.h: Likewise. * lib/safe-read.h: Likewise. * lib/safe-write.h: Likewise. * lib/save-cwd.c: Likewise. * lib/stdbool.in.h: Likewise. * lib/striconv.c: Likewise. * lib/striconveh.c: Likewise. * lib/termcap.h: Likewise. * lib/terminfo.h: Likewise. * lib/unistd.in.h: Likewise. * lib/vasnprintf.c: Likewise. * lib/wcrtomb.c: Likewise. * lib/wcsrtombs-state.c: Likewise. * m4/fenv-environment.m4: Likewise. * m4/fenv-exceptions-state.m4: Likewise. * m4/fenv-exceptions-tracking.m4: Likewise. * m4/fenv-rounding.m4: Likewise. * m4/fmod.m4: Likewise. * m4/getdomainname.m4: Likewise. * m4/getloadavg.m4: Likewise. * m4/getopt.m4: Likewise. * m4/hypot.m4: Likewise. * m4/hypotf.m4: Likewise. * m4/hypotl.m4: Likewise. * m4/iconv.m4: Likewise. * m4/intl-thread-locale.m4: Likewise. * m4/largefile.m4: Likewise. * m4/libdl.m4: Likewise. * m4/locale-ja.m4: Likewise. * m4/locale_h.m4: Likewise. * m4/log.m4: Likewise. * m4/log10.m4: Likewise. * m4/log10f.m4: Likewise. * m4/logf.m4: Likewise. * m4/modf.m4: Likewise. * m4/modff.m4: Likewise. * m4/modfl.m4: Likewise. * m4/pthread-rwlock.m4: Likewise. * m4/semaphore.m4: Likewise. * m4/socklen.m4: Likewise. * m4/stdint.m4: Likewise. * m4/strtod.m4: Likewise. * m4/strtof.m4: Likewise. * m4/strtold.m4: Likewise. * modules/sigsegv: Likewise. * posix-modules: Likewise. * pygnulib/GLImport.py: Likewise. * tests/init.sh: Likewise. * tests/test-echo.sh: Likewise. * tests/test-isatty.c: Likewise. * tests/test-math-h.c: Likewise. * tests/test-nonblocking-pipe.h: Likewise. * tests/test-nonblocking-socket.h: Likewise. * tests/test-strtod.h: Likewise. * tests/test-strtof.h: Likewise. * tests/test-strtold.h: Likewise. * tests/test-vasnprintf.c: Likewise. * tests/test-vasnwprintf.c: Likewise.
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. 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
|