diff --git a/core/wasm_shims/dlfcn.cc b/core/wasm_shims/dlfcn.cc index d9fbf25..037c1c8 100644 --- a/core/wasm_shims/dlfcn.cc +++ b/core/wasm_shims/dlfcn.cc @@ -2,6 +2,8 @@ #include +// LinuxCNC source basis: src/emc/rs274ngc/interp_base.cc uses dlopen(), +// dlsym(), dlerror(), RTLD_GLOBAL, and RTLD_NOW for native interpreter loading. namespace { thread_local char last_error[128] = "dynamic loading is unavailable in wasm-safe probe"; @@ -27,4 +29,3 @@ int dlclose(void *) { } } // extern "C" - diff --git a/core/wasm_shims/dlfcn.h b/core/wasm_shims/dlfcn.h index 99185ed..da9740a 100644 --- a/core/wasm_shims/dlfcn.h +++ b/core/wasm_shims/dlfcn.h @@ -4,6 +4,7 @@ extern "C" { #endif +/* LinuxCNC source basis: src/emc/rs274ngc/interp_base.cc native loader flags. */ #define RTLD_GLOBAL 0x00100 #define RTLD_NOW 0x00002 @@ -15,4 +16,3 @@ int dlclose(void *handle); #ifdef __cplusplus } #endif - diff --git a/test-linuxcnc-wasm-cmake-safe-probe.sh b/test-linuxcnc-wasm-cmake-safe-probe.sh index 61fb757..79784df 100755 --- a/test-linuxcnc-wasm-cmake-safe-probe.sh +++ b/test-linuxcnc-wasm-cmake-safe-probe.sh @@ -1409,6 +1409,8 @@ grep -F 'noncopyable(const noncopyable &) = delete;' core/wasm_shims/boost/nonco test -f core/wasm_shims/libgen.h grep -F 'inline char *basename(const char *path)' core/wasm_shims/libgen.h >/dev/null grep -F 'return basename(const_cast(path));' core/wasm_shims/libgen.h >/dev/null +grep -F 'LinuxCNC source basis: src/emc/rs274ngc/interp_base.cc uses dlopen(),' core/wasm_shims/dlfcn.cc >/dev/null +grep -F 'LinuxCNC source basis: src/emc/rs274ngc/interp_base.cc native loader flags.' core/wasm_shims/dlfcn.h >/dev/null grep -F 'extern "C" int wordexp(const char *words, wordexp_t *pwordexp, int)' core/wasm_shims/linuxcnc_runtime_shim.cc >/dev/null grep -F 'extern "C" void wordfree(wordexp_t *pwordexp)' core/wasm_shims/linuxcnc_runtime_shim.cc >/dev/null grep -F 'EMC_STAT *emcStatus = new EMC_STAT;' core/wasm_shims/emc_status_shim.cc >/dev/null