mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-27 23:08:31 +00:00
Fix some behavioral issues on Windows
This commit is contained in:
parent
41396ff48a
commit
42ba9901e4
11 changed files with 44 additions and 7 deletions
|
@ -22,15 +22,18 @@
|
|||
#include "libc/calls/calls.h"
|
||||
#include "libc/calls/struct/ucontext-netbsd.internal.h"
|
||||
#include "libc/calls/syscall-sysv.internal.h"
|
||||
#include "libc/calls/wincrash.internal.h"
|
||||
#include "libc/dce.h"
|
||||
#include "libc/errno.h"
|
||||
#include "libc/intrin/asan.internal.h"
|
||||
#include "libc/intrin/atomic.h"
|
||||
#include "libc/intrin/describeflags.internal.h"
|
||||
#include "libc/intrin/strace.internal.h"
|
||||
#include "libc/intrin/weaken.h"
|
||||
#include "libc/limits.h"
|
||||
#include "libc/macros.internal.h"
|
||||
#include "libc/nt/runtime.h"
|
||||
#include "libc/nt/signals.h"
|
||||
#include "libc/nt/synchronization.h"
|
||||
#include "libc/nt/thread.h"
|
||||
#include "libc/nt/thunk/msabi.h"
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include "libc/intrin/strace.internal.h"
|
||||
#include "libc/intrin/weaken.h"
|
||||
#include "libc/macros.internal.h"
|
||||
#include "libc/runtime/internal.h"
|
||||
#include "libc/runtime/runtime.h"
|
||||
#include "third_party/puff/puff.h"
|
||||
#include "third_party/zlib/zlib.h"
|
||||
|
@ -35,7 +36,10 @@
|
|||
int __inflate(void *out, size_t outsize, const void *in, size_t insize) {
|
||||
int rc;
|
||||
z_stream zs;
|
||||
if (_weaken(inflateInit2) && _weaken(inflate) && _weaken(inflateEnd)) {
|
||||
if (_weaken(inflateInit2) && //
|
||||
_weaken(inflate) && //
|
||||
_weaken(inflateEnd) && //
|
||||
__runlevel >= RUNLEVEL_MALLOC) {
|
||||
zs.next_in = in;
|
||||
zs.avail_in = insize;
|
||||
zs.total_in = insize;
|
||||
|
|
|
@ -8,10 +8,13 @@
|
|||
#define STACK_CEIL 0x700000000000ul
|
||||
#define STACK_SIZE FRAMESIZE
|
||||
|
||||
#define RUNLEVEL_MALLOC 1
|
||||
|
||||
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
||||
COSMOPOLITAN_C_START_
|
||||
|
||||
extern int __pid;
|
||||
extern char __runlevel;
|
||||
extern int ftrace_stackdigs;
|
||||
extern uint32_t __ntconsolemode[3];
|
||||
extern const char v_ntsubsystem[] __attribute__((__weak__));
|
||||
|
|
|
@ -130,6 +130,12 @@ o/$(MODE)/libc/runtime/morph_tls.o: private \
|
|||
-ffreestanding \
|
||||
-fno-sanitize=all
|
||||
|
||||
# TODO(jart): We need a way to avoid WinThreadEntry() being hooked.
|
||||
o/$(MODE)/libc/runtime/clone.o: private \
|
||||
COPTS += \
|
||||
-fno-sanitize=all \
|
||||
-fpatchable-function-entry=0,0
|
||||
|
||||
# these assembly files are safe to build on aarch64
|
||||
o/$(MODE)/libc/runtime/init.o: libc/runtime/init.S
|
||||
@$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) -c $<
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue