History log of /seL4-refos-master/libs/libmuslc/arch/powerpc/bits/signal.h
Revision Date Author Comments
# befa5866 03-Jul-2016 Rich Felker <dalias@aerifal.cx>

make brace placement in public header struct definitions consistent

placing the opening brace on the same line as the struct keyword/tag
is the style I prefer and seems to be the prevailing practice in more
recent additions.

these changes were generated by the command:

find include/ arch/*/bits -name '*.h' \
-exec sed -i '/^struct [^;{]*$/{N;s/\n/ /;}' {} +

and subsequently checked by hand to ensure that the regex did not pick
up any false positives.


# d5a50453 17-Mar-2015 Rich Felker <dalias@aerifal.cx>

fix MINSIGSTKSZ values for archs with large signal contexts

the previous values (2k min and 8k default) were too small for some
archs. aarch64 reserves 4k in the signal context for future extensions
and requires about 4.5k total, and powerpc reportedly uses over 2k.
the new minimums are chosen to fit the saved context and also allow a
minimal signal handler to run.

since the default (SIGSTKSZ) has always been 6k larger than the
minimum, it is also increased to maintain the 6k usable by the signal
handler. this happens to be able to store one pathname buffer and
should be sufficient for calling any function in libc that doesn't
involve conversion between floating point and decimal representations.

x86 (both 32-bit and 64-bit variants) may also need a larger minimum
(around 2.5k) in the future to support avx-512, but the values on
these archs are left alone for now pending further analysis.

the value for PTHREAD_STACK_MIN is not increased to match MINSIGSTKSZ
at this time. this is so as not to preclude applications from using
extremely small thread stacks when they know they will not be handling
signals. unfortunately cancellation and multi-threaded set*id() use
signals as an implementation detail and therefore require a stack
large enough for a signal context, so applications which use extremely
small thread stacks may still need to avoid using these features.


# 9505bfbc 18-Mar-2014 Rich Felker <dalias@aerifal.cx>

fix signal.h breakage from moving stack_t to arch-specific bits

in the previous changes, I missed the fact that both the prototype of
the sigaltstack function and the definition of ucontext_t depend on
stack_t.


# bd5f221e 18-Mar-2014 Rich Felker <dalias@aerifal.cx>

move signal.h definition of stack_t to arch-specific bits

it's different at least on mips. mips version will be fixed in a
separate commit to show the change.


# 2d0f495e 23-Mar-2013 Rich Felker <dalias@aerifal.cx>

add deprecated SIGIOT alias for SIGABRT

reportedly some programs (e.g. showkeys in the kbd package) use it.


# a8da6c2f 25-Nov-2012 Rich Felker <dalias@aerifal.cx>

fixup mcontext stuff to expost gregset_t/fpregset_t as appropriate


# 98f56b12 23-Nov-2012 Rich Felker <dalias@aerifal.cx>

fix powerpc ucontext, again..

it should now really match the kernel. some of the removed padding
corresponded to the difference between user and kernel sigset_t. the
space at the end was redundant with the uc_mcontext member and seems
to have been added as a result of misunderstanding glibc's definition
versus the kernel's.


# b0756d88 23-Nov-2012 Rich Felker <dalias@aerifal.cx>

remove stuff that doesn't belong in powerpc 32-bit sigcontext

these fields were wrongly copied from the kernel's ppc64 struct def


# 4860db9f 21-Nov-2012 Rich Felker <dalias@aerifal.cx>

more ppc signal.h typedef order fixes


# 808f225b 21-Nov-2012 Rich Felker <dalias@aerifal.cx>

fix misordered typedefs in ppc signal.h


# 65b98213 21-Nov-2012 Rich Felker <dalias@aerifal.cx>

add back NSIG, removed from powerpc in last commit, but for all archs

unlike the previous definition, NSIG/_NSIG is supposed to be one more
than the highest signal number. adding this will allow simplifying
libc-internal code that makes signal-related syscalls, which can be
done as a later step. some apps might use it too; while this usage is
questionable, it's at least not insane.


# 57a0b824 21-Nov-2012 Rich Felker <dalias@aerifal.cx>

make powerpc signal.h namespace-clean for posix/isoc

also handle the non-GNUC case where alignment attribute is not available
by simply omitting it. this will not cause problems except for
inclusion of mcontex_t/ucontext_t in application-defined structures,
since the natural alignment of the uc_mcontext member relative to the
start of ucontext_t is already correct. and shame on whoever designed
this for making it impossible to satisfy the ABI requirements without
GNUC extensions.


# 2df4f6f1 20-Nov-2012 rofl0r <retnyg@gmx.net>

fix invalid usage of mcontext_t in powerpc signal.h


# 1c8eb8ba 09-Nov-2012 rofl0r <retnyg@gmx.net>

PPC port cleaned up, static linking works well now.