Skip to content

Commit

Permalink
windows...?
Browse files Browse the repository at this point in the history
  • Loading branch information
moon-chilled committed Oct 17, 2022
1 parent ac5eaf3 commit b0d5e67
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 16 deletions.
19 changes: 17 additions & 2 deletions jsrc/m.c
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,21 @@ void *jmalloca(I n,I a){ //jmalloc, but result is a multiple of 1<<a
if(!jmcommit(r,n)){jmrelease(r,n);R 0;}
R r;}
#else //windows
#include<stdio.h>
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=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); }
Expand All @@ -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<<a};
MEM_EXTENDED_PARAMETER opt = {.Type=MemExtendedParameterAddressRequirements, .Pointer=&req};
R VirtualAlloc2(0,0,n,MEM_RESERVE,0,&opt,1);}
R virtualAlloc2(0,0,n,MEM_RESERVE,0,&opt,1);}
void *jmalloca(I n,I a){
MEM_ADDRESS_REQUIREMENTS req = {.Alignment=1<<a};
MEM_EXTENDED_PARAMETER opt = {.Type=MemExtendedParameterAddressRequirements, .Pointer=&req};
R VirtualAlloc2(0,0,n,MEM_RESERVE|MEM_COMMIT,PAGE_READWRITE,&opt,1);}
R virtualAlloc2(0,0,n,MEM_RESERVE|MEM_COMMIT,PAGE_READWRITE,&opt,1);}
#endif

#if LEAKSNIFF
Expand Down
2 changes: 1 addition & 1 deletion makemsvc/jdll/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ SYNCLIB= synchronization.lib
endif

$(TARGET) : $(OBJS) $(SRC_ASM) $(OBJS_ASM) $(OBJS_SLEEF) $(OBJS_OPENMP) $(ASM) $(PTHREADLIB) jdll.res
$(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)
$(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)

jdll.res : $(RCS)
$(RC) /L 0x409 /D_USING_V110_SDK71_ -R -FO$@ $(RCS)
Expand Down
2 changes: 1 addition & 1 deletion makemsvc/jdll/makefile.win
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ SYNCLIB= synchronization.lib
!endif

$(TARGET) : $(OBJS) $(SRC_ASM) $(OBJS_ASM) $(OBJS_SLEEF) $(OBJS_OPENMP) $(ASM) $(PTHREADLIB) jdll.res
$(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)
$(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)

jdll.res : $(RCS)
$(RC) /L 0x409 /D_USING_V110_SDK71_ -R -FO$@ $(RCS)
Expand Down
24 changes: 12 additions & 12 deletions makevs/jdll/template/jdll_vs2019_clang.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@
</ResourceCompile>
<Link>
<AdditionalOptions>/machine:AMD64 %(AdditionalOptions)</AdditionalOptions>
<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>
<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>
<OutputFile>.\Release64\j.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
Expand Down Expand Up @@ -275,7 +275,7 @@
</ResourceCompile>
<Link>
<AdditionalOptions>/machine:AMD64 %(AdditionalOptions)</AdditionalOptions>
<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>
<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>
<OutputFile>.\Release64\j.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
Expand Down Expand Up @@ -328,7 +328,7 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<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>
<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>
<OutputFile>.\Release64\j.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
Expand Down Expand Up @@ -380,7 +380,7 @@
</ResourceCompile>
<Link>
<AdditionalOptions>/machine:AMD64 %(AdditionalOptions)</AdditionalOptions>
<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>
<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>
<OutputFile>.\Release64\j.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
Expand Down Expand Up @@ -433,7 +433,7 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<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>
<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>
<OutputFile>.\Release64\j.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
Expand Down Expand Up @@ -488,7 +488,7 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<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>
<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>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
<ProgramDatabaseFile>$(outdir)\j.pdb</ProgramDatabaseFile>
Expand Down Expand Up @@ -546,7 +546,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\j.dll</Command>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<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>
<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>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
<ProgramDatabaseFile>$(outdir)\j.pdb</ProgramDatabaseFile>
Expand Down Expand Up @@ -605,7 +605,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\javx.dll</Command>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<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>
<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>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
<ProgramDatabaseFile>$(outdir)\j.pdb</ProgramDatabaseFile>
Expand Down Expand Up @@ -663,7 +663,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\javx2.dll</Command>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<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>
<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>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
<ProgramDatabaseFile>$(outdir)\j.pdb</ProgramDatabaseFile>
Expand Down Expand Up @@ -721,7 +721,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\javx2.dll</Command>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<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>
<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>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
<ProgramDatabaseFile>$(outdir)\j.pdb</ProgramDatabaseFile>
Expand Down Expand Up @@ -773,7 +773,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\javx2.dll</Command>
</ResourceCompile>
<Link>
<AdditionalOptions>/machine:AMD64 %(AdditionalOptions)</AdditionalOptions>
<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>
<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>
<OutputFile>.\Debug64\j.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
Expand Down Expand Up @@ -831,7 +831,7 @@ copy $(outdir)$(targetname).dll $(userprofile)\jbld\j64\bin\javx2.dll</Command>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<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>
<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>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ModuleDefinitionFile>..\..\dllsrc\jdll.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
Expand Down

0 comments on commit b0d5e67

Please sign in to comment.