facf0c92e0
Red Bear OS is a full fork. All sources must be available from git clone with zero network access. Removed gitignore rules that excluded fetched source trees under recipes/*/source/, local/recipes/kde/*/source/, local/recipes/qt/*/source/, and vendor source trees. Build artifacts (target/, build/, source.tar, *.o, *.so) remain excluded. 127291 files added — kernel, relibc, base, bootloader, pkgar, all KDE/Qt frameworks, mesa, wayland, DRM drivers, and every other recipe source.
54 lines
2.3 KiB
Plaintext
54 lines
2.3 KiB
Plaintext
# siginfo.m4 serial 2 (gettext-0.21.1)
|
|
dnl Copyright (C) 2001-2002, 2020 Free Software Foundation, Inc.
|
|
dnl This file is free software; the Free Software Foundation
|
|
dnl gives unlimited permission to copy and/or distribute it,
|
|
dnl with or without modifications, as long as this notice is preserved.
|
|
|
|
# Determine how to determine the precise cause of a signal, for example
|
|
# division by zero.
|
|
# - SUSV2 and POSIX specify the use of sigaction with SA_SIGINFO and a member
|
|
# void (*)(int sig, siginfo_t *info, void *context) sa_sigaction.
|
|
# Linux (2.2.x and newer) and Solaris implement this.
|
|
# Linux (2.4.x and newer) on i386, m68k, sparc, sparc64, ia64 actually
|
|
# deliver FPE_INTDIV.
|
|
# - Without SA_SIGINFO:
|
|
# - Linux on m68k calls the handler as
|
|
# void (*)(int sig, int code, struct sigcontext* scp).
|
|
# For division by zero, code would be VEC_ZERODIV<<2.
|
|
# - Linux on sparc calls the handler either as
|
|
# void (*)(int sig, int code, struct sigcontext* scp),
|
|
# code for division by zero would be SUBSIG_IDIVZERO, or as
|
|
# void (*)(int sig, siginfo_t *info, void *context).
|
|
# Which one depends on a process specific flag in the kernel.
|
|
# - Linux on sparc64 always calls the handler as
|
|
# void (*)(int sig, siginfo_t *info, void *context).
|
|
# - FreeBSD on i386 calls the handler as
|
|
# void (*)(int sig, int code, void* scp, char* addr).
|
|
# For division by zero, code would be FPE_INTDIV.
|
|
# - SunOS 4 calls the handler as
|
|
# void (*)(int sig, int code, void* scp, char* addr).
|
|
# - Solaris?
|
|
# - Irix 5, OSF/1, AIX call the handler as
|
|
# void (*)(int sig, int code, struct sigcontext *scp).
|
|
# These are so many OS and CPU dependencies that we don't bother, and rely
|
|
# only on SA_SIGINFO.
|
|
AC_DEFUN([gt_SIGINFO],
|
|
[
|
|
AC_CACHE_CHECK([for signal handlers with siginfo_t], gt_cv_siginfo_t,
|
|
[AC_COMPILE_IFELSE(
|
|
[AC_LANG_PROGRAM(
|
|
[[#include <signal.h>]],
|
|
[[struct sigaction action;
|
|
siginfo_t info;
|
|
action.sa_flags = SA_SIGINFO;
|
|
action.sa_sigaction = (void *) 0;
|
|
]])],
|
|
[gt_cv_siginfo_t=yes],
|
|
[gt_cv_siginfo_t=no])])
|
|
if test $gt_cv_siginfo_t = yes; then
|
|
AC_DEFINE([HAVE_SIGINFO], [1],
|
|
[Define to 1 if <signal.h> defines the siginfo_t type and
|
|
struct sigaction has the sa_sigaction member and the SA_SIGINFO flag.])
|
|
fi
|
|
])
|