HomeFreeBSD

makesyscalls: handle longs in ABI compat

Description

makesyscalls: handle longs in ABI compat

Replace long-derived types with their abi equivalent where
required by the target ABI. There are two cases:

  • All pointers to types that go from 64-bit to 32-bit between the default ABI and the target ABI.
  • Signed arguments that go from 64-bit to 32-bit (these require sign-extension before passing to general kernel ABIs).

This adds four new config variables: abi_long, semid_t, abi_size_t,
and abi_u_long which default to long, size_t, and u_long respectively.

Reviewed by: kevans

Details

Provenance
brooksAuthored on Nov 22 2021, 10:36 PM
Parents
rGb85fb3904712: makesyscalls.lua: Allow translation of intptr_t arguments
Branches
Unknown
Tags
Unknown