OsdepDynload - larcenists/larceny GitHub Wiki

Here are some notes on how different Operating Systems behave with respect to osdep_dlopen and osdep_dlsym.

PnkFelix is curious about getting pointers to functions that are linked into the executable. For example, just grabbing malloc or free, which is easy on Linux and Mac OS X, but may be harder on Solaris and Win32.

Back in 10/23/06, Jesse and PnkFelix did some experiments on this (changeset:3694).

  • Felix's notes from that time period indicate that Solaris does not support dlsym(0, ---), but Solaris can express what we want via dlopen( 0, LDFLAGS ) which returns an appropriate handle.

On Win32, there is call GetModuleHandle(NULL) that retrieves a reference to the current module, which may be passed to GetProcAddress.