Skip to content

Commit b0d5e67

Browse files
committed
windows...?
1 parent ac5eaf3 commit b0d5e67

File tree

4 files changed

+31
-16
lines changed

4 files changed

+31
-16
lines changed

jsrc/m.c

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,21 @@ void *jmalloca(I n,I a){ //jmalloc, but result is a multiple of 1<<a
104104
if(!jmcommit(r,n)){jmrelease(r,n);R 0;}
105105
R r;}
106106
#else //windows
107+
#include<stdio.h>
108+
typedef PVOID (FVA2)(HANDLE, PVOID, SIZE_T, ULONG, ULONG, MEM_EXTENDED_PARAMETER*, ULONG);
109+
static FVA2 og_va2;
110+
static FVA2 *virtualAlloc2=og_va2;
111+
static PVOID og_va2(HANDLE h, PVOID p, SIZE_T n, ULONG t, ULONG prot, MEM_EXTENDED_PARAMETER *ext, ULONG next) {
112+
HINSTANCE dll=LoadLibrary("kernelbase.dll");
113+
if(!dll)goto fail;
114+
FVA2 *f=GetProcAddress(dll,"VirtualAlloc2");
115+
if(!f)goto fail;
116+
FreeLibrary(dll);
117+
virtualAlloc2=f;
118+
R f(h,p,n,t,prot,ext,next);
119+
fail:
120+
puts("no VirtualAlloc2");
121+
__builtin_trap();}
107122
void *jmreserve(I n){ R VirtualAlloc(0,n,MEM_RESERVE,0); }
108123
B jmcommit(void *p,I n){ R p==VirtualAlloc(p,n,MEM_COMMIT,PAGE_READWRITE); } //is this the right way to do error checking?
109124
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); }
112127
void *jmreservea(I n,I a){
113128
MEM_ADDRESS_REQUIREMENTS req = {.Alignment=1<<a};
114129
MEM_EXTENDED_PARAMETER opt = {.Type=MemExtendedParameterAddressRequirements, .Pointer=&req};
115-
R VirtualAlloc2(0,0,n,MEM_RESERVE,0,&opt,1);}
130+
R virtualAlloc2(0,0,n,MEM_RESERVE,0,&opt,1);}
116131
void *jmalloca(I n,I a){
117132
MEM_ADDRESS_REQUIREMENTS req = {.Alignment=1<<a};
118133
MEM_EXTENDED_PARAMETER opt = {.Type=MemExtendedParameterAddressRequirements, .Pointer=&req};
119-
R VirtualAlloc2(0,0,n,MEM_RESERVE|MEM_COMMIT,PAGE_READWRITE,&opt,1);}
134+
R virtualAlloc2(0,0,n,MEM_RESERVE|MEM_COMMIT,PAGE_READWRITE,&opt,1);}
120135
#endif
121136

122137
#if LEAKSNIFF

makemsvc/jdll/makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ SYNCLIB= synchronization.lib
306306
endif
307307

308308
$(TARGET) : $(OBJS) $(SRC_ASM) $(OBJS_ASM) $(OBJS_SLEEF) $(OBJS_OPENMP) $(ASM) $(PTHREADLIB) jdll.res
309-
$(LD) /NOLOGO /DEF:$(DEF) $(FLAGS) /out:$@ $(OBJS) $(SRC_ASM) $(OBJS_ASM) $(OBJS_SLEEF) $(OBJS_OPENMP) $(ASM) $(PTHREADLIB) jdll.res ole32.lib advapi32.lib oleaut32.lib $(SYNCLIB)
309+
$(LD) /NOLOGO /DEF:$(DEF) $(FLAGS) /out:$@ $(OBJS) $(SRC_ASM) $(OBJS_ASM) $(OBJS_SLEEF) $(OBJS_OPENMP) $(ASM) $(PTHREADLIB) jdll.res ole32.lib advapi32.lib oleaut32.lib onecore.lib $(SYNCLIB)
310310

311311
jdll.res : $(RCS)
312312
$(RC) /L 0x409 /D_USING_V110_SDK71_ -R -FO$@ $(RCS)

makemsvc/jdll/makefile.win

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ SYNCLIB= synchronization.lib
306306
!endif
307307

308308
$(TARGET) : $(OBJS) $(SRC_ASM) $(OBJS_ASM) $(OBJS_SLEEF) $(OBJS_OPENMP) $(ASM) $(PTHREADLIB) jdll.res
309-
$(LD) /NOLOGO /DEF:$(DEF) $(FLAGS) /out:$@ $(OBJS) $(SRC_ASM) $(OBJS_ASM) $(OBJS_SLEEF) $(OBJS_OPENMP) $(ASM) $(PTHREADLIB) jdll.res ole32.lib advapi32.lib oleaut32.lib $(SYNCLIB)
309+
$(LD) /NOLOGO /DEF:$(DEF) $(FLAGS) /out:$@ $(OBJS) $(SRC_ASM) $(OBJS_ASM) $(OBJS_SLEEF) $(OBJS_OPENMP) $(ASM) $(PTHREADLIB) jdll.res ole32.lib advapi32.lib oleaut32.lib onecore.lib $(SYNCLIB)
310310

311311
jdll.res : $(RCS)
312312
$(RC) /L 0x409 /D_USING_V110_SDK71_ -R -FO$@ $(RCS)

makevs/jdll/template/jdll_vs2019_clang.vcxproj

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@
223223
</ResourceCompile>
224224
<Link>
225225
<AdditionalOptions>/machine:AMD64 %(AdditionalOptions)</AdditionalOptions>
226-
<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;synchronization.lib;%(AdditionalDependencies)</AdditionalDependencies>
226+
<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)</AdditionalDependencies>
227227
<OutputFile>.\Release64\j.dll</OutputFile>
228228
<SuppressStartupBanner>true</SuppressStartupBanner>
229229
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
@@ -275,7 +275,7 @@
275275
</ResourceCompile>
276276
<Link>
277277
<AdditionalOptions>/machine:AMD64 %(AdditionalOptions)</AdditionalOptions>
278-
<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;synchronization.lib;%(AdditionalDependencies)</AdditionalDependencies>
278+
<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)</AdditionalDependencies>
279279
<OutputFile>.\Release64\j.dll</OutputFile>
280280
<SuppressStartupBanner>true</SuppressStartupBanner>
281281
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
@@ -328,7 +328,7 @@
328328
<Culture>0x0409</Culture>
329329
</ResourceCompile>
330330
<Link>
331-
<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;synchronization.lib;%(AdditionalDependencies)</AdditionalDependencies>
331+
<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)</AdditionalDependencies>
332332
<OutputFile>.\Release64\j.dll</OutputFile>
333333
<SuppressStartupBanner>true</SuppressStartupBanner>
334334
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
@@ -380,7 +380,7 @@
380380
</ResourceCompile>
381381
<Link>
382382
<AdditionalOptions>/machine:AMD64 %(AdditionalOptions)</AdditionalOptions>
383-
<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;synchronization.lib;%(AdditionalDependencies)</AdditionalDependencies>
383+
<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)</AdditionalDependencies>
384384
<OutputFile>.\Release64\j.dll</OutputFile>
385385
<SuppressStartupBanner>true</SuppressStartupBanner>
386386
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
@@ -433,7 +433,7 @@
433433
<Culture>0x0409</Culture>
434434
</ResourceCompile>
435435
<Link>
436-
<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;synchronization.lib;%(AdditionalDependencies)</AdditionalDependencies>
436+
<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)</AdditionalDependencies>
437437
<OutputFile>.\Release64\j.dll</OutputFile>
438438
<SuppressStartupBanner>true</SuppressStartupBanner>
439439
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
@@ -488,7 +488,7 @@
488488
<Culture>0x0409</Culture>
489489
</ResourceCompile>
490490
<Link>
491-
<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;synchronization.lib;..\..\pthreads4w\lib\pthreadVC3.lib;synchronization.lib;%(AdditionalDependencies)</AdditionalDependencies>
491+
<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)</AdditionalDependencies>
492492
<SuppressStartupBanner>true</SuppressStartupBanner>
493493
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
494494
<ProgramDatabaseFile>$(outdir)\j.pdb</ProgramDatabaseFile>
@@ -546,7 +546,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\j.dll</Command>
546546
<Culture>0x0409</Culture>
547547
</ResourceCompile>
548548
<Link>
549-
<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;synchronization.lib;%(AdditionalDependencies)</AdditionalDependencies>
549+
<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)</AdditionalDependencies>
550550
<SuppressStartupBanner>true</SuppressStartupBanner>
551551
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
552552
<ProgramDatabaseFile>$(outdir)\j.pdb</ProgramDatabaseFile>
@@ -605,7 +605,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\javx.dll</Command>
605605
<Culture>0x0409</Culture>
606606
</ResourceCompile>
607607
<Link>
608-
<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;synchronization.lib;%(AdditionalDependencies)</AdditionalDependencies>
608+
<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)</AdditionalDependencies>
609609
<SuppressStartupBanner>true</SuppressStartupBanner>
610610
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
611611
<ProgramDatabaseFile>$(outdir)\j.pdb</ProgramDatabaseFile>
@@ -663,7 +663,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\javx2.dll</Command>
663663
<Culture>0x0409</Culture>
664664
</ResourceCompile>
665665
<Link>
666-
<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;synchronization.lib;%(AdditionalDependencies)</AdditionalDependencies>
666+
<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)</AdditionalDependencies>
667667
<SuppressStartupBanner>true</SuppressStartupBanner>
668668
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
669669
<ProgramDatabaseFile>$(outdir)\j.pdb</ProgramDatabaseFile>
@@ -721,7 +721,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\javx2.dll</Command>
721721
<Culture>0x0409</Culture>
722722
</ResourceCompile>
723723
<Link>
724-
<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;synchronization.lib;%(AdditionalDependencies)</AdditionalDependencies>
724+
<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)</AdditionalDependencies>
725725
<SuppressStartupBanner>true</SuppressStartupBanner>
726726
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
727727
<ProgramDatabaseFile>$(outdir)\j.pdb</ProgramDatabaseFile>
@@ -773,7 +773,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\javx2.dll</Command>
773773
</ResourceCompile>
774774
<Link>
775775
<AdditionalOptions>/machine:AMD64 %(AdditionalOptions)</AdditionalOptions>
776-
<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;synchronization.lib;%(AdditionalDependencies)</AdditionalDependencies>
776+
<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)</AdditionalDependencies>
777777
<OutputFile>.\Debug64\j.dll</OutputFile>
778778
<SuppressStartupBanner>true</SuppressStartupBanner>
779779
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
@@ -831,7 +831,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\javx2.dll</Command>
831831
<Culture>0x0409</Culture>
832832
</ResourceCompile>
833833
<Link>
834-
<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;synchronization.lib;%(AdditionalDependencies)</AdditionalDependencies>
834+
<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)</AdditionalDependencies>
835835
<SuppressStartupBanner>true</SuppressStartupBanner>
836836
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
837837
<GenerateDebugInformation>true</GenerateDebugInformation>

0 commit comments

Comments
 (0)