Rewrite brk() and sbrk()

This change reduces the .bss memory requirement for all executables by
O(64kb). The brk system calls are now fully tested and figured out and
might be useful for tiny programs that only target System Five.
This commit is contained in:
Justine Tunney 2022-10-01 23:11:56 -07:00
parent bc8532688b
commit 5005f2e446
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
23 changed files with 643 additions and 294 deletions

View file

@ -1,18 +1,19 @@
#ifndef COSMOPOLITAN_LIBC_NT_ENUM_MEMFLAGS_H_
#define COSMOPOLITAN_LIBC_NT_ENUM_MEMFLAGS_H_
#define kNtMemCommit 0x1000 /* perform physical memory reservation step */
#define kNtMemReserve 0x2000 /* perform virtual memory reservation step */
#define kNtMemDecommit 0x4000
#define kNtMemRelease 0x8000
#define kNtMemFree 0x10000
#define kNtMemPrivate 0x20000
#define kNtMemMapped 0x40000
#define kNtMemReset 0x80000
#define kNtMemTopDown 0x100000
#define kNtMemCommit 0x1000 /* perform physical memory reservation step */
#define kNtMemReserve 0x2000 /* perform virtual memory reservation step */
#define kNtMemDecommit 0x4000
#define kNtMemRelease 0x8000
#define kNtMemFree 0x10000
#define kNtMemPrivate 0x20000
#define kNtMemMapped 0x40000
#define kNtMemReset 0x80000
#define kNtMemTopDown 0x100000
#define kNtMemWriteWatch 0x200000
#define kNtMemPhysical 0x400000
#define kNtMemPhysical 0x400000
#define kNtMemImage 0x1000000
#define kNtMemLargePages 0x20000000
#define kNtMem4mbPages 0x80000000
#define kNtMem4mbPages 0x80000000
#endif /* COSMOPOLITAN_LIBC_NT_ENUM_MEMFLAGS_H_ */