# HG changeset patch # User Tassilo Philipp # Date 1586887111 -7200 # Node ID 1d03a3a4220d6a15d9edb7eb2b4bc1b31def17dc # Parent 3bdd326dc269040ae891ce0cdac5bf68cd0561dc - fixing issue after having aliased gnu thiscalls to cdecl with a duped switch label diff -r 3bdd326dc269 -r 1d03a3a4220d doc/manual/manual_dyncall_api.tex --- a/doc/manual/manual_dyncall_api.tex Tue Apr 14 19:35:30 2020 +0200 +++ b/doc/manual/manual_dyncall_api.tex Tue Apr 14 19:58:31 2020 +0200 @@ -162,7 +162,7 @@ \lstinline@DC_CALL_C_X86_WIN32_FAST_MS@ & C x86 Windows Microsoft fast call\\ \lstinline@DC_CALL_C_X86_WIN32_FAST_GNU@ & C x86 Windows GCC fast call\\ \lstinline@DC_CALL_C_X86_WIN32_THIS_MS@ & C x86 Windows Microsoft this call\\ -\lstinline@DC_CALL_C_X86_WIN32_THIS_GNU@ & C x86 Windows GCC this call (identical to CDECL w/ this-ptr as 1st arg)\\ +\lstinline@DC_CALL_C_X86_WIN32_THIS_GNU@ & alias for DC\_CALL\_C\_X86\_CDECL (GNU thiscalls identical to cdecl)\\ \lstinline@DC_CALL_C_X86_PLAN9@ & C x86 Plan9 call\\ \lstinline@DC_CALL_C_X64_WIN64@ & C x64 Windows standard call\\ \lstinline@DC_CALL_C_X64_SYSV@ & C x64 System V standard call\\ diff -r 3bdd326dc269 -r 1d03a3a4220d dyncall/dyncall_callvm_x86.c --- a/dyncall/dyncall_callvm_x86.c Tue Apr 14 19:35:30 2020 +0200 +++ b/dyncall/dyncall_callvm_x86.c Tue Apr 14 19:58:31 2020 +0200 @@ -586,12 +586,11 @@ #if defined(DC_PLAN9) case DC_CALL_C_X86_PLAN9: vt = &gVT_x86_plan9; break; #else - case DC_CALL_C_X86_CDECL: vt = &gVT_x86_cdecl; break; + case DC_CALL_C_X86_CDECL: vt = &gVT_x86_cdecl; break; // also handles DC_CALL_C_X86_WIN32_THIS_GNU case DC_CALL_C_X86_WIN32_STD: vt = &gVT_x86_win32_std; break; case DC_CALL_C_X86_WIN32_FAST_MS: vt = &gVT_x86_win32_fast_ms; break; case DC_CALL_C_X86_WIN32_THIS_MS: vt = &gVT_x86_win32_this_ms; break; case DC_CALL_C_X86_WIN32_FAST_GNU: vt = &gVT_x86_win32_fast_gnu; break; - case DC_CALL_C_X86_WIN32_THIS_GNU: vt = &gVT_x86_cdecl; break; case DC_CALL_SYS_DEFAULT: # if defined DC_UNIX # if defined DC__OS_Linux diff -r 3bdd326dc269 -r 1d03a3a4220d dynload/dynload_unix.c --- a/dynload/dynload_unix.c Tue Apr 14 19:35:30 2020 +0200 +++ b/dynload/dynload_unix.c Tue Apr 14 19:58:31 2020 +0200 @@ -105,6 +105,7 @@ #include +/* @@@ if called from within a .so, passing NULL will return .so name, whereas passing result of dlLoadLibrary(NULL) returns process' name */ int dlGetLibraryPath(DLLib* pLib, char* sOut, int bufSize) { struct link_map* p = NULL;