Index: build/tcc-patches/0.9.26/tcc-0.9.26-win32useopenlibs.diff ================================================================== --- build/tcc-patches/0.9.26/tcc-0.9.26-win32useopenlibs.diff +++ build/tcc-patches/0.9.26/tcc-0.9.26-win32useopenlibs.diff @@ -1,8 +1,8 @@ diff -uNr tcc-0.9.26.orig/tccpe.c tcc-0.9.26-1win32useopenlibs/tccpe.c --- tcc-0.9.26.orig/tccpe.c 2013-02-15 08:24:00.000000000 -0600 -+++ tcc-0.9.26-1win32useopenlibs/tccpe.c 2014-05-04 02:00:45.195490003 -0500 ++++ tcc-0.9.26-1win32useopenlibs/tccpe.c 2014-05-04 02:16:34.590555001 -0500 @@ -38,6 +38,9 @@ # define ADDR3264 DWORD #endif +#ifdef TCC_IS_NATIVE @@ -9,11 +9,11 @@ +#include +#endif #ifdef _WIN32 void dbg_printf (const char *fmt, ...) { -@@ -831,7 +834,26 @@ +@@ -831,7 +834,27 @@ if (dllref) { if ( !dllref->handle ) dllref->handle = LoadLibrary(dllref->name); - v = (ADDR3264)GetProcAddress(dllref->handle, name); + if (dllref->handle) { @@ -34,14 +34,15 @@ + if (v) { + break; + } + } + } ++ tcc_free(modules); } if (!v) tcc_error_noabort("undefined symbol '%s'", name); -@@ -1209,9 +1231,34 @@ +@@ -1209,9 +1232,34 @@ const char *name = symtab_section->link->data + sym->st_name; unsigned type = ELFW(ST_TYPE)(sym->st_info); - int imp_sym = pe_find_import(pe->s1, sym); + int imp_sym;