musl/arch/i386/bits
Rich Felker d5a5045382 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.
2015-03-18 00:31:37 -04:00
..
alltypes.h.in make all objects used with atomic operations volatile 2015-03-03 22:50:02 -05:00
endian.h preparing build system to handle ports - step 1 2011-02-15 00:33:23 -05:00
errno.h add missing EHWPOISON to bits/errno.h 2013-01-12 19:42:39 +01:00
fcntl.h add O_TMPFILE flag, new in linux 3.11 2013-11-23 23:47:48 +00:00
fenv.h remove the __mxcsr member from fenv_t on i386 to follow the glibc abi 2013-08-18 16:27:20 +00:00
float.h fix FLT_ROUNDS to reflect the current rounding mode 2015-03-07 12:05:28 -05:00
io.h fix breakage from introducing bits header for sys/io.h 2012-11-18 19:58:15 -05:00
ioctl.h fix ioctl _IOR, _IOW, etc macros to avoid signed overflow (2<<30) 2013-05-26 15:49:08 +00:00
ipc.h fix broken semctl on systems that don't use IPC_64 flag 2012-09-22 08:02:42 -04:00
limits.h fix missing _BSD_SOURCE support in bits/*.h 2012-05-22 22:12:10 -04:00
mman.h move MREMAP_MAYMOVE and MREMAP_FIXED out of bits 2015-01-30 22:02:23 -05:00
msg.h numerous fixes to sysv ipc 2011-04-13 16:45:43 -04:00
poll.h fix POLLWRNORM and POLLWRBAND on mips 2015-03-04 12:09:37 -05:00
posix.h preparing build system to handle ports - step 1 2011-02-15 00:33:23 -05:00
reg.h preparing build system to handle ports - step 1 2011-02-15 00:33:23 -05:00
resource.h fix RLIMIT_ constants for mips 2014-04-15 19:17:52 -04:00
sem.h move struct semid_ds to from shared sys/sem.h to bits 2014-03-11 15:27:13 -04:00
setjmp.h change jmp_buf to share an underlying type and struct tag with sigjmp_buf 2013-07-24 02:17:02 -04:00
shm.h sys/shm.h: move arch specific structs to bits/ 2014-02-23 11:07:18 +01:00
signal.h fix MINSIGSTKSZ values for archs with large signal contexts 2015-03-18 00:31:37 -04:00
socket.h workaround another sendmsg kernel bug on 64-bit machines 2012-07-12 21:37:54 -04:00
stat.h preparing build system to handle ports - step 1 2011-02-15 00:33:23 -05:00
statfs.h fix the definition of struct statvfs to match lsb abi 2011-09-19 23:35:48 -04:00
stdarg.h split off arch-specific stdarg.h stuff 2011-02-15 05:06:15 -05:00
stdint.h refactor headers, especially alltypes.h, and improve C++ ABI compat 2013-07-22 11:22:36 -04:00
syscall.h add syscall numbers for the new execveat syscall 2015-02-09 23:00:56 +01:00
termios.h add IUTF8 to termios.h on archs that were missing it 2014-01-08 19:27:56 -05:00
user.h make sys/procfs.h mostly work on most archs 2012-11-25 22:28:18 -05:00