mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-06 03:08:31 +00:00
Fix corner case in Linux stack mappings
We need to make sure no existing mappings exist between the MAP_GROWSDOWN page and the guard page, since otherwise it's not going to be able to grow down thus causing difficult to troubleshoot failures.
This commit is contained in:
parent
6ba3b448f3
commit
3b4fcd8575
9 changed files with 14 additions and 16 deletions
|
@ -579,8 +579,6 @@ syscon sicode SYS_USER_DISPATCH 2 -1 -1 -1 -1 -1 # SIGSYS; syscall
|
|||
# sigaltstack() values
|
||||
#
|
||||
# group name GNU/Systemd XNU's Not UNIX! FreeBSD OpenBSD NetBSD The New Technology Commentary
|
||||
syscon ss SIGSTKSZ 8192 131072 34816 28672 28672 8192 # overlaid with FRAMESIZE; you need to #undef SIGSTKSZ to access this symbol
|
||||
syscon ss MINSIGSTKSZ 2048 32768 2048 12288 8192 2048 # overlaid with 32768; you need to #undef MINSIGSTKSZ to access this symbol
|
||||
syscon ss SS_ONSTACK 1 1 1 1 1 1 # unix consensus
|
||||
syscon ss SS_DISABLE 2 4 4 4 4 2 # bsd consensus
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
.include "o/libc/sysv/consts/syscon.internal.inc"
|
||||
.syscon ss,MINSIGSTKSZ,2048,32768,2048,12288,8192,2048
|
|
@ -1,2 +0,0 @@
|
|||
.include "o/libc/sysv/consts/syscon.internal.inc"
|
||||
.syscon ss,SIGSTKSZ,8192,131072,34816,28672,28672,8192
|
|
@ -3,15 +3,13 @@
|
|||
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
||||
COSMOPOLITAN_C_START_
|
||||
|
||||
extern const size_t SIGSTKSZ;
|
||||
extern const size_t MINSIGSTKSZ;
|
||||
extern const int SS_DISABLE;
|
||||
|
||||
COSMOPOLITAN_C_END_
|
||||
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
||||
|
||||
#define SIGSTKSZ FRAMESIZE
|
||||
#define MINSIGSTKSZ 32768
|
||||
#define SIGSTKSZ 32768
|
||||
#define MINSIGSTKSZ 32768 /* xnu defines the highest minimum */
|
||||
#define SS_ONSTACK 1
|
||||
#define SS_DISABLE SS_DISABLE
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue