diff --git a/core/wasm_shims/interp_base_probe_main.cc b/core/wasm_shims/interp_base_probe_main.cc index 876f77f..9c02a82 100644 --- a/core/wasm_shims/interp_base_probe_main.cc +++ b/core/wasm_shims/interp_base_probe_main.cc @@ -24,6 +24,15 @@ int main() { return 6; } - InterpBase *interp = interp_from_shlib("nonexistent-interpreter.so"); - return interp == nullptr ? 0 : 1; + // LinuxCNC src/emc/rs274ngc/interp_base.cc uses absolute interpreter + // paths directly before calling dlopen(). + if (interp_from_shlib("/tmp/cnc_sim_missing_absolute_interpreter.so") != nullptr) { + return 7; + } + // Relative interpreter names are resolved through EMC2_HOME/lib/linuxcnc + // before the same unavailable dynamic-loading edge is reached. + if (interp_from_shlib("nonexistent-interpreter.so") != nullptr) { + return 8; + } + return 0; }