mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-06 03:08:31 +00:00
Fix breakages in Linux-only build modes
- compile.com now polyfills -march=native which gcc/clang removed - Guarantee zero Windows code is linked into non-Windows binaries - MODE=tinylinux binaries are now back to being as tiny as ~4kb - Improve the runtime's stack allocation / alignment hack - GitHub Actions now tests Linux modes for assurance
This commit is contained in:
parent
0e4c828a8e
commit
3dc86ce154
32 changed files with 283 additions and 104 deletions
|
@ -71,14 +71,15 @@ _start:
|
|||
// align stack to GetStackSize() so GetStackAddr() is fast
|
||||
.weak ape_stack_memsz
|
||||
mov $ape_stack_memsz,%r9d
|
||||
mov $ape_stack_align,%r8d
|
||||
cmp $_HOSTLINUX,%cl
|
||||
cmove %r9d,%r8d
|
||||
mov $16,%r8d
|
||||
test %r9d,%r9d
|
||||
cmovnz %r9,%r8
|
||||
neg %r8
|
||||
and %r8,%rsp
|
||||
xor %ebp,%ebp
|
||||
// bofram 9f
|
||||
|
||||
#if SupportsWindows()
|
||||
// make win32 imps noop
|
||||
.weak ape_idata_iat
|
||||
.weak ape_idata_iatend
|
||||
|
@ -88,6 +89,7 @@ _start:
|
|||
sub %rdi,%rcx
|
||||
shr $3,%ecx
|
||||
rep stosq
|
||||
#endif
|
||||
|
||||
// scan through environment varis
|
||||
// find start of auxiliary values
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue