Home | History | Annotate | Download | only in include
History log of /src/sys/arch/mips/include/signal.h
RevisionDateAuthorComments
 1.33  30-Oct-2021  thorpej Adjust the rules for sigcontext visibility on MIPS:
- Define __HAVE_STRUCT_SIGCONTEXT if _KERNEL (because it's needed for
32-bit binary compatibility) or if the O32 ABI is active (because
that's the only ABI that ever used sigcontext for signal delivery).
- For _KERNEL, define a "struct sigcontext" suitable only for 32-bit
compatible signal delivery.
- For userspace, define a "struct sigcontext" appropriate for any ABI
if _LIBC is defined (it's used for setjmp / longjmp) or if O32 is
the active ABI (because it was part of the old BSD signal API).
 1.32  27-Oct-2021  thorpej Define __HAVE_STRUCT_SIGCONTEXT for _KERNEL in addition to _LIBC.
 1.31  26-Oct-2021  christos Merge all MD __sigaction14_sigtramp.c copies into one:
- sparc and sparc64 were not using version 0 sigcontext when there were
no arguments in the signal version. This was probably a bug.
- vax is using +1 the version numbers of the other archs.
- Only hppa was defining __LIBC12_SOURCE__ so it was getting a working
sigcontext before. all the other ports that supported sigcontext had
the compat code disabled.
[pointed out by thorpej, thanks!]
If we want to remove sigcontext support from userland at least now there
is less work to do so.
 1.30  24-Jan-2016  christos use namespace protected types.
 1.29  14-Dec-2009  matt branches: 1.29.22; 1.29.40;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.28  19-Nov-2008  ad Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime
 1.27  11-Dec-2005  christos branches: 1.27.74; 1.27.78; 1.27.84; 1.27.86; 1.27.92;
merge ktrace-lwp.
 1.26  24-Jan-2005  drochner -remove definition of "struct sigframe" -- haven't found a use of it
(should fix build problems w/o COMPAT_16 reported by Markus W Kilbinger
per PR port-mips/29041 and by Havard Eidnes)
-further shuffle COMPAT_* conditionals to allow COMPAT_ULTRIX
w/o COMPAT_16
 1.25  20-Jan-2005  drochner restrict visibility of sigcontext* as much as it appears
sensible for now
XXX there is more cleanup needed to make COMPAT_ULTRIX build
w/o COMPAT_16)
 1.24  10-May-2004  drochner branches: 1.24.4;
SIGTRAMP_VALID() should not pollute the user namespace
 1.23  26-Mar-2004  drochner nothing cares about __HAVE_SIGINFO anymore, so nuke it
 1.22  25-Nov-2003  christos bye, bye _MCONTEXT_TO_SIGCONTEXT and vice versa.
 1.21  29-Oct-2003  christos first pass siginfo for mips
 1.20  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.19  28-Apr-2003  bjh21 branches: 1.19.2;
Add a new feature-test macro, _NETBSD_SOURCE. If this is defined
by the application, all NetBSD interfaces are made visible, even
if some other feature-test macro (like _POSIX_C_SOURCE) is defined.
<sys/featuretest.h> defined _NETBSD_SOURCE if none of _ANSI_SOURCE,
_POSIX_C_SOURCE and _XOPEN_SOURCE is defined, so as to preserve
existing behaviour.

This has two major advantages:
+ Programs that require non-POSIX facilities but define _POSIX_C_SOURCE
can trivially be overruled by putting -D_NETBSD_SOURCE in their CFLAGS.
+ It makes most of the #ifs simpler, in that they're all now ORs of the
various macros, rather than having checks for (!defined(_ANSI_SOURCE) ||
!defined(_POSIX_C_SOURCE) || !defined(_XOPEN_SOURCE)) all over the place.

I've tried not to change the semantics of the headers in any case where
_NETBSD_SOURCE wasn't defined, but there were some places where the
current semantics were clearly mad, and retaining them was harder than
correcting them. In particular, I've mostly normalised things so that
_ANSI_SOURCE gets you the smallest set of stuff, then _POSIX_C_SOURCE,
_XOPEN_SOURCE and _NETBSD_SOURCE in that order.

Tested by building for vax, encouraged by thorpej, and uncontested in
tech-userlevel for a week.
 1.18  20-Jan-2003  thorpej Fix typo in sigcontext conversion macros. From Christopher SEKIYA.
 1.17  18-Jan-2003  tsutsui Add '#define' for _MCONTEXT_TO_SIGCONTEXT().
 1.16  17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.15  05-Mar-2002  simonb Include <machine/cdefs.h> to select 32/64bit APIs.
 1.14  24-Apr-1999  simonb branches: 1.14.16; 1.14.20;
Nuke register and remove trailling white space.
 1.13  31-Jan-1999  castor branches: 1.13.4;
Remove genpubassym.cf stuff. The macro _MIPS_BSD_API allows selection of a
64-bit clean compilation model.
 1.12  14-Jan-1999  castor * Create mips_reg_t data type to allow register size to be
decoupled from long or int or long long. Define macros in asm.h to facilitate
choosing these on a port by port basis.

* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size
to be calculated at system build time.

* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae
for the architecture. For 64-bit oriented systems set the Status Register
to allow 64-bit instructions.

* Remove UADDR related macros because kernel U structure is now mapped
normally.
* Separate cpu.h into cpu.h and cpuarch.h to keep things neat.
* Add support for QED 52xx processors
 1.11  14-Sep-1998  thorpej branches: 1.11.2;
sigset13_t -> int.
 1.10  13-Sep-1998  thorpej Make signal delivery work again.
 1.9  25-May-1998  kleink Protect against multiple inclusions.
 1.8  25-May-1998  kleink If any of _ANSI_SOURCE, _POSIX_C_SOURCE or _XOPEN_SOURCE are defined, don't
provide any identifiers other than sig_atomic_t.
 1.7  19-Mar-1996  jonathan Add eight 32-bit (XXX) words of reserved space to struct sigcontext,
for binary compatibilty with the pica port.
 1.6  18-Jan-1995  mellon break mullo and mulhi out of gp regs in sigcontext
 1.5  10-Jan-1995  jtc Only define sig_atomic_t when _ANSI_SOURCE is defined.
 1.4  26-Oct-1994  cgd new RCS ID format.
 1.3  27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2  27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1  12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1  12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.11.2.1  19-Nov-1998  nisimura - Forgot to commit many files for vm_offset_t purge last Monday.
 1.13.4.1  21-Jun-1999  thorpej Sync w/ -current.
 1.14.20.2  16-Jan-2003  thorpej * Include <sys/sigtypes.h> rather than <sys/signal.h> in <sys/ucontext.h>.
* Define _UCONTEXT_TO_SIGCONTEXT() and _SIGCONTEXT_TO_UCONTEXT()
macros for converting a ucontext -> sigcontext and back again.
These macros in turn use machine-dependent macros _MCONTEXT_TO_SIGCONTEXT()
and _SIGCONTEXT_TO_MCONTEXT() provided by <machine/signal.h>.

The conversion process is not 100% accurate, but should be close enough.

Also note that the mcontext conversion may not be enough for all platforms
(m68k is a good example of this). These macros should be used only if
you really know what you're doing.
 1.14.20.1  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.14.16.1  16-Mar-2002  jdolecek Catch up with -current.
 1.19.2.5  04-Feb-2005  skrll Sync with HEAD.
 1.19.2.4  24-Jan-2005  skrll Sync with HEAD.
 1.19.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.19.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.19.2.1  03-Aug-2004  skrll Sync with HEAD
 1.24.4.1  29-Apr-2005  kent sync with -current
 1.27.92.3  27-Aug-2009  matt For the kernel (since we only use it in compability with O32) define
sigcontext with ints. For libc, define the way we want to use it for
jmpbuf since that will be the only consumer of it.
 1.27.92.2  23-Aug-2009  matt In non-O32 kernels, make these syscalls return ENOSYS or sigexit(l, SIGILL)
when called by non-O32 programs. Marshall the 64bits registers to and from
their 32bit equivs and deal with FP differences.
 1.27.92.1  16-Aug-2009  matt Kill use of _MIPS_BSD_ABI - switch to __mips_<abi>
Use device_t where appropriate.
Remove magic numbers.
 1.27.86.1  19-Jan-2009  skrll Sync with HEAD.
 1.27.84.1  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.27.78.2  11-Mar-2010  yamt sync with head
 1.27.78.1  04-May-2009  yamt sync with head.
 1.27.74.1  17-Jan-2009  mjf Sync with HEAD.
 1.29.40.1  19-Mar-2016  skrll Sync with HEAD
 1.29.22.1  03-Dec-2017  jdolecek update from HEAD

RSS XML Feed