As I have begun working on the gcc backend, and am getting ready to finalize many of the details, I'd like to seek formal input/approval from T-lang on whether rust can formally support the proposed abi, and any target using such an abi (though I do not intend at this current time to propose any targets at any tier, though I intend to do so after the gcc backend is complete and work on porting rustc has begun). Is this something that can be done at this time, and, if so, through what process would that be (MCP, RFC, otherwise)?
Specific questions that I would like addressed within reasonable time, as they affect details of the C compiler as well as rust:
- Incompatibility between
usize
andsize_t
, wrt. to FFI and the issues presented here related to that. - Preliminary issues related to
extern"w65-interrupt"
- Currently, raw pointers and
usize
differ in their alignment requirement, withusize
having alignment requirement 2, and pointers having alignment requirement 4. Is this an issue for rust?
Other questions that would eventually need to be addressed, but are not as immediate (as they solely impact rust and would not impact work on the C compiler or adjacent support libraries):
- Does rust permit atomic types that are defined as "non lock-free" but do not use a global mutex/spinlock? In particular, can certain atomic types be defined to be "non lock-free" in order to restrict their use from certain interrupt handlers, while being implemented in a way that allows being defined in rust (for example, by using a cpu flag to lock interrupt handlers)