Page MenuHomeFreeBSD

Fix freebsd32 mknod(at).
ClosedPublic

Authored by brooks on Nov 9 2018, 6:29 PM.
Tags
None
Referenced Files
F166517504: D17928.diff
Thu, Aug 13, 10:48 PM
F166482755: D17928.id50230.diff
Thu, Aug 13, 7:42 PM
F166482474: D17928.id50223.diff
Thu, Aug 13, 7:41 PM
Unknown Object (File)
Wed, Aug 12, 1:03 PM
Unknown Object (File)
Tue, Aug 11, 11:32 PM
Unknown Object (File)
Tue, Aug 11, 11:04 PM
Unknown Object (File)
Tue, Aug 11, 1:49 PM
Unknown Object (File)
Tue, Aug 11, 12:51 AM
Subscribers

Details

Summary

As dev_t is now a 64-bit integer, it requires special handling as a
system call argument. 64-bit arguments are split between two 64-bit
integers due to the way arguments are promoted to allow reuse of most
system call implementations. They must be reassembled before use.
Further, 64-bit arguments at an odd offset (counting from zero) are
padded and slid to the next slot on powerpc and mips. Fix the
non-COMPAT11 system call by adding a freebsd32_mknodat() and
appropriately padded declerations.

The COMPAT11 system calls are fully compatible with the 64-bit
implementations so remove the freebsd32_ versions.

Use uint32_t consistantly as the type of the old dev_t matching the old
definition.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 20725
Build 20135: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Nov 9 2018, 7:19 PM
This revision was automatically updated to reflect the committed changes.