<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/alpha/include/ucontext.h, branch releng/6.3</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=releng%2F6.3</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=releng%2F6.3'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2003-07-24T07:34:31Z</updated>
<entry>
<title>Use a spare for the thread pointer (mc_thrptr). The thread pointer</title>
<updated>2003-07-24T07:34:31Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2003-07-24T07:34:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=286cc4901448f19261ed2a665200899106cf29f6'/>
<id>urn:sha1:286cc4901448f19261ed2a665200899106cf29f6</id>
<content type='text'>
is only read and written by set_mcontext() and get_mcontext() for
use by threading libraries.
</content>
</entry>
<entry>
<title>Add getcontext, setcontext, and swapcontext as system calls.</title>
<updated>2002-11-16T06:35:53Z</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2002-11-16T06:35:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=2be05b70c9be806a2e5edf3fda36628a81ed3595'/>
<id>urn:sha1:2be05b70c9be806a2e5edf3fda36628a81ed3595</id>
<content type='text'>
Previously these were libc functions but were requested to
be made into system calls for atomicity and to coalesce what
might be two entrances into the kernel (signal mask setting
and floating point trap) into one.

A few style nits and comments from bde are also included.

Tested on alpha by: gallatin
</content>
</entry>
<entry>
<title>Split 4.x and 5.x signal handling so that we can keep 4.x signal</title>
<updated>2002-10-25T19:10:58Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2002-10-25T19:10:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=23eeeff7bee66bd81fa2d7ec9d648339bd0d041f'/>
<id>urn:sha1:23eeeff7bee66bd81fa2d7ec9d648339bd0d041f</id>
<content type='text'>
handling clean and functional as 5.x evolves.  This allows some of the
nasty bandaids in the 5.x codepaths to be unwound.

Encapsulate 4.x signal handling under COMPAT_FREEBSD4 (there is an
anti-foot-shooting measure in place, 5.x folks need this for a while) and
finish encapsulating the older stuff under COMPAT_43.  Since the ancient
stuff is required on alpha (longjmp(3) passes a 'struct osigcontext *'
to the current sigreturn(2), instead of the 'ucontext_t *' that sigreturn
is supposed to take), add a compile time check to prevent foot shooting
there too.  Add uniform COMPAT_43 stubs for ia64/sparc64/powerpc.

Tested on: i386, alpha, ia64.  Compiled on sparc64 (a few days ago).
Approved by: re
</content>
</entry>
<entry>
<title>Use a spare slot in the machine context to identify the context format</title>
<updated>2002-01-10T02:36:30Z</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2002-01-10T02:36:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=8ec12ea9ce96e6395207d6d3334a7ed7d76749cf'/>
<id>urn:sha1:8ec12ea9ce96e6395207d6d3334a7ed7d76749cf</id>
<content type='text'>
and to inherently verify its validity.  Alpha signal frames and trap
frames are different; this field identifies which format the context
is

Set the machine context format (signal frame) before copying it out
when sending a signal.

Approved by:	-arch
</content>
</entry>
<entry>
<title>Don't include &lt;machine/frame.h&gt;.</title>
<updated>1999-10-08T09:09:13Z</updated>
<author>
<name>Doug Rabson</name>
<email>dfr@FreeBSD.org</email>
</author>
<published>1999-10-08T09:09:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=648f4ed3ded97cb43ec575ba53cddff3025997de'/>
<id>urn:sha1:648f4ed3ded97cb43ec575ba53cddff3025997de</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Re-introduction of sigcontext.</title>
<updated>1999-10-04T19:33:58Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>1999-10-04T19:33:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=c5c6b7b38e4bca2844dc9f7e10f5791100c72b4c'/>
<id>urn:sha1:c5c6b7b38e4bca2844dc9f7e10f5791100c72b4c</id>
<content type='text'>
struct sigcontext and ucontext_t/mcontext_t are defined in such
a way that both (ie struct sigcontext and ucontext_t) can be
passed on to sigreturn. The signal handler is still given a
ucontext_t for maximum flexibility.

For backward compatibility sigreturn restores the state for the
alternate signal stack from sigcontext.sc_onstack and not from
ucontext_t.uc_stack. A good way to determine which value the
application has set and thus which value to use, is still open
for discussion.

NOTE: This change should only affect those binaries that use
      sigcontext and/or ucontext_t. In the source tree itself
      this is only doscmd. Recompilation is required for those
      applications.

This commit also fixes a lot of style bugs without hopefully
adding new ones.

NOTE: struct sigaltstack.ss_size now has type size_t again. For
      some reason I changed that into unsigned int.

Parts submitted by: bde
sigaltstack bug found by: bde
</content>
</entry>
<entry>
<title>sigset_t change (part 3 of 5)</title>
<updated>1999-09-29T15:06:27Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>1999-09-29T15:06:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=91078fca0cb2bb1d02316eeb7d2dd5ab422f00e4'/>
<id>urn:sha1:91078fca0cb2bb1d02316eeb7d2dd5ab422f00e4</id>
<content type='text'>
-----------------------------

By introducing a new sigframe so that the signal handler operates
on the new siginfo_t and on ucontext_t instead of sigcontext, we
now need two version of sendsig and sigreturn.

A flag in struct proc determines whether the process expects an
old sigframe or a new sigframe. The signal trampoline handles
which sigreturn to call. It does this by testing for a magic
cookie in the frame.

The alpha uses osigreturn to implement longjmp. This means that
osigreturn is not only used for compatibility with existing
binaries. To handle the new sigset_t, setjmp saves it in
sc_reserved (see NOTE).

the struct sigframe has been moved from frame.h to sigframe.h
to handle the complex header dependencies that was caused by
the new sigframe.

NOTE: For the i386, the size of jmp_buf has been increased to hold
      the new sigset_t. On the alpha this has been prevented by
      using sc_reserved in sigcontext.
</content>
</entry>
</feed>
