From 2455187847ceec2036b02a9814e0eadff2461a35 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Sun, 16 Oct 2022 01:49:46 -0700 Subject: [PATCH] windows...? --- jsrc/m.c | 19 +++++++++++++-- makemsvc/jdll/makefile | 2 +- makemsvc/jdll/makefile.win | 2 +- .../jdll/template/jdll_vs2019_clang.vcxproj | 24 +++++++++---------- 4 files changed, 31 insertions(+), 16 deletions(-) diff --git a/jsrc/m.c b/jsrc/m.c index c5b59d7c3..68187fe80 100644 --- a/jsrc/m.c +++ b/jsrc/m.c @@ -104,6 +104,21 @@ void *jmalloca(I n,I a){ //jmalloc, but result is a multiple of 1< +typedef PVOID (FVA2)(HANDLE, PVOID, SIZE_T, ULONG, ULONG, MEM_EXTENDED_PARAMETER*, ULONG); +static FVA2 og_va2; +static FVA2 *virtualAlloc2=og_va2; +static PVOID og_va2(HANDLE h, PVOID p, SIZE_T n, ULONG t, ULONG prot, MEM_EXTENDED_PARAMETER *ext, ULONG next) { + HINSTANCE dll=LoadLibrary("kernelbase.dll"); + if(!dll)goto fail; + FVA2 *f=(FVA2*)GetProcAddress(dll,"VirtualAlloc2"); + if(!f)goto fail; + FreeLibrary(dll); + virtualAlloc2=f; + R f(h,p,n,t,prot,ext,next); +fail: + puts("no VirtualAlloc2"); + __builtin_trap();} void *jmreserve(I n){ R VirtualAlloc(0,n,MEM_RESERVE,0); } B jmcommit(void *p,I n){ R p==VirtualAlloc(p,n,MEM_COMMIT,PAGE_READWRITE); } //is this the right way to do error checking? void *jmalloc(I n){ R VirtualAlloc(0,n,MEM_RESERVE|MEM_COMMIT,PAGE_READWRITE); } @@ -112,11 +127,11 @@ void jmrelease(void *p,I n){ VirtualFree(p,0,MEM_RELEASE); } void *jmreservea(I n,I a){ MEM_ADDRESS_REQUIREMENTS req = {.Alignment=1< /machine:AMD64 %(AdditionalOptions) - ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;synchronization.lib;%(AdditionalDependencies) + ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;onecore.lib;synchronization.lib;%(AdditionalDependencies) .\Release64\j.dll true ..\..\dllsrc\jdll.def @@ -275,7 +275,7 @@ /machine:AMD64 %(AdditionalOptions) - ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;synchronization.lib;%(AdditionalDependencies) + ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;onecore.lib;synchronization.lib;%(AdditionalDependencies) .\Release64\j.dll true ..\..\dllsrc\jdll.def @@ -328,7 +328,7 @@ 0x0409 - ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;synchronization.lib;%(AdditionalDependencies) + ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;onecore.lib;synchronization.lib;%(AdditionalDependencies) .\Release64\j.dll true ..\..\dllsrc\jdll.def @@ -380,7 +380,7 @@ /machine:AMD64 %(AdditionalOptions) - ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;synchronization.lib;%(AdditionalDependencies) + ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;onecore.lib;synchronization.lib;%(AdditionalDependencies) .\Release64\j.dll true ..\..\dllsrc\jdll.def @@ -433,7 +433,7 @@ 0x0409 - ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;synchronization.lib;%(AdditionalDependencies) + ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;onecore.lib;synchronization.lib;%(AdditionalDependencies) .\Release64\j.dll true ..\..\dllsrc\jdll.def @@ -488,7 +488,7 @@ 0x0409 - ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;synchronization.lib;..\..\pthreads4w\lib\pthreadVC3.lib;synchronization.lib;%(AdditionalDependencies) + ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;onecore.lib;synchronization.lib;..\..\pthreads4w\lib\pthreadVC3.lib;synchronization.lib;%(AdditionalDependencies) true ..\..\dllsrc\jdll.def $(outdir)\j.pdb @@ -546,7 +546,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\j.dll 0x0409 - ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;synchronization.lib;%(AdditionalDependencies) + ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;onecore.lib;synchronization.lib;%(AdditionalDependencies) true ..\..\dllsrc\jdll.def $(outdir)\j.pdb @@ -605,7 +605,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\javx.dll 0x0409 - ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;synchronization.lib;%(AdditionalDependencies) + ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;onecore.lib;synchronization.lib;%(AdditionalDependencies) true ..\..\dllsrc\jdll.def $(outdir)\j.pdb @@ -663,7 +663,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\javx2.dll 0x0409 - ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;synchronization.lib;%(AdditionalDependencies) + ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;onecore.lib;synchronization.lib;%(AdditionalDependencies) true ..\..\dllsrc\jdll.def $(outdir)\j.pdb @@ -721,7 +721,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\javx2.dll 0x0409 - ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;synchronization.lib;%(AdditionalDependencies) + ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;onecore.lib;synchronization.lib;%(AdditionalDependencies) true ..\..\dllsrc\jdll.def $(outdir)\j.pdb @@ -773,7 +773,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\javx2.dll /machine:AMD64 %(AdditionalOptions) - ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;synchronization.lib;%(AdditionalDependencies) + ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;onecore.lib;synchronization.lib;%(AdditionalDependencies) .\Debug64\j.dll true ..\..\dllsrc\jdll.def @@ -831,7 +831,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\javx2.dll 0x0409 - ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;synchronization.lib;%(AdditionalDependencies) + ..\..\openssl-asm\md5-x86_64-nasm.o;..\..\openssl-asm\keccak1600-x86_64-nasm.o;..\..\openssl-asm\sha1-x86_64-nasm.o;..\..\openssl-asm\sha256-x86_64-nasm.o;..\..\openssl-asm\sha512-x86_64-nasm.o;..\..\pthreads4w\lib\pthreadVC3.lib;onecore.lib;synchronization.lib;%(AdditionalDependencies) true ..\..\dllsrc\jdll.def true