Branch
Hash :
b1fcec6d
Author :
Date :
2025-09-10T23:22:53
Remove support for IRIX. * 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
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