Page MenuHomeFreeBSD

libc: INTERPOS_SYS macro for interposed syscalls
ClosedPublic

Authored by brooks on Mar 15 2024, 10:49 PM.
Tags
None
Referenced Files
F167193542: D44389.id135916.diff
Wed, Aug 19, 7:50 PM
F167122608: D44389.diff
Wed, Aug 19, 7:11 AM
Unknown Object (File)
Fri, Aug 14, 9:59 PM
Unknown Object (File)
Fri, Aug 14, 11:17 AM
Unknown Object (File)
Sat, Aug 8, 5:40 PM
Unknown Object (File)
Thu, Aug 6, 1:19 AM
Unknown Object (File)
Wed, Aug 5, 6:58 AM
Unknown Object (File)
Wed, Aug 5, 6:14 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 Not Applicable
Unit
Tests Not Applicable

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