I believe that it is needed because of the way __builtin_return_address (in Zig @returnAddress) is implemented in Emscripten. In Zig this builtin is used in several core places such as the std.mem.Allocator interface. See my post here. If you build with unsafe release modes and don’t explicitly use @returnAddress then you shouldn’t need -s USE_OFFSET_CONVERTER.