From c8de93bb108822f9904abb0ead023fd25cd075e7 Mon Sep 17 00:00:00 2001 From: Douglas Whittingham Date: Tue, 4 Aug 2026 09:39:18 -1000 Subject: [PATCH] module-template: export ppc_set_mem_write_journal The lockstep verifier resolves this symbol by name to install the module's RAM write journal. The version script hid it, so StaticRecompLockstepVerifier::Init printed "module lacks ppc_set_mem_write_journal export" and disabled itself -- a clean lockstep run then proved nothing at all. macOS was unaffected: GXRuntime already marks the function visibility("default"). Only this linker version script hid it, so the failure was Linux-only and silent. --- module-template/module.exports | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/module-template/module.exports b/module-template/module.exports index 622194cb07..6a4e9cad05 100644 --- a/module-template/module.exports +++ b/module-template/module.exports @@ -1,6 +1,13 @@ { global: staticrecomp_get_module; + /* The lockstep verifier dlsym's this to install the module's RAM write + journal. Without it StaticRecompLockstepVerifier::Init() prints + "module lacks ppc_set_mem_write_journal export" and silently disables + itself -- a clean lockstep run then proves nothing. macOS exported it + already (GXRuntime marks it visibility("default")); only this version + script was hiding it on Linux. */ + ppc_set_mem_write_journal; local: *; };