Operating System
What feature would you like to be added?
Support typed RegisterFunc/RegisterLibFunc calls and typed callbacks on Windows/386, instead of limiting official support to SyscallN and NewCallback.
This should include:
- 64-bit integer arguments and
EDX:EAX returns
float32/float64 arguments and x87 returns
- typed callback arguments and results
- stdcall and cdecl stack cleanup
- the full 32 declared argument slots
- by-value structs for direct calls, but not callbacks
- native Windows/386 CI coverage
A draft implementation is available in #478. Direct-call struct support is also related to #474.
Why is this needed?
Windows/386 is a supported Tier 2 target, but its partial typed-call implementation loses the high half of 64-bit values, handles floating-point returns incorrectly, and does not fully support typed callbacks or the declared argument capacity.
Completing the ABI support allows applications to share the same typed PureGo bindings across Windows architectures and gives these paths real 32-bit runtime coverage.
Operating System
What feature would you like to be added?
Support typed
RegisterFunc/RegisterLibFunccalls and typed callbacks on Windows/386, instead of limiting official support toSyscallNandNewCallback.This should include:
EDX:EAXreturnsfloat32/float64arguments and x87 returnsA draft implementation is available in #478. Direct-call struct support is also related to #474.
Why is this needed?
Windows/386 is a supported Tier 2 target, but its partial typed-call implementation loses the high half of 64-bit values, handles floating-point returns incorrectly, and does not fully support typed callbacks or the declared argument capacity.
Completing the ABI support allows applications to share the same typed PureGo bindings across Windows architectures and gives these paths real 32-bit runtime coverage.