Page MenuHomeFreeBSD

libc: INTERPOS_SYS macro for interposed syscalls
ClosedPublic

Authored by brooks on Mar 15 2024, 10:49 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Jan 2, 5:23 PM
Unknown Object (File)
Mon, Dec 30, 5:19 AM
Unknown Object (File)
Fri, Dec 20, 2:21 PM
Unknown Object (File)
Nov 18 2024, 11:03 PM
Unknown Object (File)
Oct 22 2024, 6:13 AM
Unknown Object (File)
Oct 22 2024, 6:13 AM
Unknown Object (File)
Oct 22 2024, 6:13 AM
Unknown Object (File)
Oct 22 2024, 6:13 AM
Subscribers

Details

Summary

This macro makes uses the __sys_<foo>_t typedefs from libsys.h to
greatly simplify calling functions in the interposing table.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 56684
Build 53572: arc lint + arc unit

Event Timeline

lib/libc/include/libc_private.h
256
257

Did you considered adding vararg args to the INTERPOS_SYS() so that it provides complete syntax for the call, instead of requiring (args) after as independent tokens?

brooks marked 2 inline comments as done.EditedMar 18 2024, 7:42 PM

Technically the var args change requires C23/C++20 for __VA_OPT__, but all the compiler we care about support it regardless of compilation mode (gcc 8+ and clang 12+).

This revision is now accepted and ready to land.Mar 18 2024, 7:54 PM