Page MenuHomeFreeBSD

sysent: move away from allowing all compat options by default
ClosedPublic

Authored by kevans on Dec 9 2021, 4:47 AM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 3 2024, 8:19 AM
Unknown Object (File)
Nov 28 2024, 5:57 PM
Unknown Object (File)
Nov 5 2024, 6:36 PM
Unknown Object (File)
Nov 5 2024, 6:36 PM
Unknown Object (File)
Nov 5 2024, 6:36 PM
Unknown Object (File)
Nov 5 2024, 6:24 PM
Unknown Object (File)
Sep 19 2024, 10:07 AM
Unknown Object (File)
Sep 19 2024, 5:03 AM
Subscribers

Details

Summary

Notably, the current compat_options only makes sense for native and
freebsd32 ABIs. For the others, it just adds cruft. Switch to having
sets of compat options, and use the native set for the places where it
currently makes sense; other ABIs will need to deliberately opt-in.

This removes some redundant COMPAT_FREEBSD* stuff from Linuxolator bits.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kevans requested review of this revision.Dec 9 2021, 4:47 AM

The practical effect that wasn't included in this diff can be seen here: https://people.freebsd.org/~kevans/compat.diff

I am fine with whatever changes there.

BTW, my current highest priority feature request there, if we are at the shop of funny things for syscall generation, is the ability to force-rebuild everything generated. Right now I do it by touching syscalls.master file and rerunning 'make sysent'. It would be very useful to have a target like sysent-force that rebuilds unconditionally. Problem is that rebases have quite strange effects on the files mtimes.

sys/kern/syscalls.conf
1 ↗(On Diff #99758)

Do you think this is a good idea? Wouldn't it be better to pass some parameter?

This revision is now accepted and ready to land.Dec 9 2021, 4:57 AM
sys/kern/syscalls.conf
1 ↗(On Diff #99758)

Hmm... we could probably add a -v option=foo option to makesyscalls.lua; we'd probably just snatch the commonly used lua argparse library (it's MITL, so no problem) and start using that here. It'd certainly be less annoying.

I'd somewhat like to migrate the config file to being specified via, e.g., -c/-C instead of an optional argument if we go that route.

This seems fine as is or could adjust per on the conversion on adding syncalls.conf for the default ABI.

sys/kern/syscalls.conf
1 ↗(On Diff #99758)

It seems like making native the default would be fine in practice and follow existing practice of imposing config burdens on non-default ABIs. I'm not sure I see an immediate reason not to do that though it does require more files to be edited.

sure, I'll flip it to default-native precommit and punt on argparse