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)
Mon, May 13, 9:12 PM
Unknown Object (File)
Fri, May 10, 1:30 AM
Unknown Object (File)
Mon, May 6, 11:19 PM
Unknown Object (File)
Mon, May 6, 10:46 AM
Unknown Object (File)
Sat, May 4, 1:23 PM
Unknown Object (File)
Fri, Apr 26, 6:12 AM
Unknown Object (File)
Fri, Apr 26, 4:17 AM
Unknown Object (File)
Thu, Apr 25, 7:25 PM
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 56685
Build 53573: 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