Fixing compile errors on Windows
parent
786b9096e2
commit
6e26c7b554
|
@ -6,5 +6,5 @@ EXE_EXTENSION=.exe
|
|||
CONSOLE_EXTENSION=.com
|
||||
DLL_EXTENSION=.dll
|
||||
SHARED_DLL_EXTENSION=.dll
|
||||
LINKER = $(CC) -shared -mno-cygwin -o
|
||||
LINKER = $(CPP) -shared -mno-cygwin -o
|
||||
LINK_WITH_ENGINE = -l$(DLL_PREFIX)factor$(DLL_SUFFIX)
|
||||
|
|
|
@ -128,7 +128,7 @@ PRIMITIVE(dlsym)
|
|||
gc_root<byte_array> name(dpop());
|
||||
name.untag_check();
|
||||
|
||||
vm_char *sym = (vm_char *)(name.untagged() + 1);
|
||||
symbol_char *sym = name->data<symbol_char>();
|
||||
|
||||
if(library.value() == F)
|
||||
box_alien(ffi_dlsym(NULL,sym));
|
||||
|
|
|
@ -17,7 +17,7 @@ long exception_handler(PEXCEPTION_POINTERS pe)
|
|||
CONTEXT *c = (CONTEXT*)pe->ContextRecord;
|
||||
|
||||
if(in_code_heap_p(c->EIP))
|
||||
signal_callstack_top = (void *)c->ESP;
|
||||
signal_callstack_top = (stack_frame *)c->ESP;
|
||||
else
|
||||
signal_callstack_top = NULL;
|
||||
|
||||
|
@ -43,7 +43,7 @@ long exception_handler(PEXCEPTION_POINTERS pe)
|
|||
|
||||
void c_to_factor_toplevel(cell quot)
|
||||
{
|
||||
if(!AddVectoredExceptionHandler(0, (void*)exception_handler))
|
||||
if(!AddVectoredExceptionHandler(0, exception_handler))
|
||||
fatal_error("AddVectoredExceptionHandler failed", 0);
|
||||
c_to_factor(quot);
|
||||
RemoveVectoredExceptionHandler((void*)exception_handler);
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
#define UNICODE
|
||||
#endif
|
||||
|
||||
#include <shellapi.h>
|
||||
#include <windows.h>
|
||||
#include <shellapi.h>
|
||||
|
||||
namespace factor
|
||||
{
|
||||
|
|
|
@ -14,12 +14,12 @@ void init_ffi(void)
|
|||
|
||||
void ffi_dlopen(dll *dll)
|
||||
{
|
||||
dll->dll = LoadLibraryEx(alien_offset(dll->path), NULL, 0);
|
||||
dll->dll = LoadLibraryEx((WCHAR *)alien_offset(dll->path), NULL, 0);
|
||||
}
|
||||
|
||||
void *ffi_dlsym(dll *dll, symbol_char *symbol)
|
||||
{
|
||||
return GetProcAddress(dll ? (HMODULE)dll->dll : hFactorDll, symbol);
|
||||
return (void *)GetProcAddress(dll ? (HMODULE)dll->dll : hFactorDll, symbol);
|
||||
}
|
||||
|
||||
void ffi_dlclose(dll *dll)
|
||||
|
@ -93,7 +93,8 @@ const vm_char *vm_executable_path(void)
|
|||
|
||||
PRIMITIVE(existsp)
|
||||
{
|
||||
vm_char *path = (vm_char *)(untag_check<byte_array>(dpop()) + 1);
|
||||
vm_char *path = untag_check<byte_array>(dpop())->data<vm_char>();
|
||||
wprintf(L"existsp: path is %s\n",path);
|
||||
box_boolean(windows_stat(path));
|
||||
}
|
||||
|
||||
|
@ -113,7 +114,7 @@ segment *alloc_segment(cell size)
|
|||
getpagesize(), PAGE_NOACCESS, &ignore))
|
||||
fatal_error("Cannot allocate high guard page", (cell)mem);
|
||||
|
||||
segment *block = safe_malloc(sizeof(segment));
|
||||
segment *block = (segment *)safe_malloc(sizeof(segment));
|
||||
|
||||
block->start = (cell)mem + getpagesize();
|
||||
block->size = size;
|
||||
|
|
Loading…
Reference in New Issue