Support architectures where pointers are bigger than long
On CHERI-enabled architectures (e.g. Arm's Morello), pointers are twice the size of addresses (i.e. 128 bits for Morello, 64 bits for 32-bit RISC-V). Additionally pointers carry a validity bit, bounds information and permissions so cannot be used interchangeably with integers.
I have added detailed commit messages to all 5 commits to explain why the change is required.
These 5 commits and !46 (merged) are sufficient to run xeyes
via ssh -X
on a CHERI-RISC-V CheriBSD system, so it would be great if this could be merged.