incompatible pointee types in c-scape signatures
nivkner opened this issue · comments
nivkner commented
as mentioned in #94, the following types and their libc counterparts do not match in layout in some architectures, and so should not used as is in pointers passed by the caller:
rustix::fs::Stat
: mismatch withlibc::stat
in i686SocketAddrStorage
: mismatch withlibc::sockaddr
in i686PthreadAttrT
: mismatch withlibc::pthread_attr_t
in aarch64PthreadMutexT
: mismatch withlibc::pthread_mutex_t
in aarch64PthreadMutexattrT
: mismatch withlibc::pthread_mutexattr_t
in aarch64
Dan Gohman commented
#120 fixes the pthread and sockaddr issues. That still leaves timespec/timeval and stat/stat64 on 32-bit platforms.
Dan Gohman commented
And the stat types were fixed in #104.