# 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 <link.h>
 
+/* @@@ 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;