Page MenuHomeFreeBSD

makesyscalls.sh: generate boilerplate for standard COMPAT* options
AbandonedPublic

Authored by kevans on Sep 19 2019, 3:11 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mar 9 2024, 3:34 AM
Unknown Object (File)
Dec 24 2023, 3:01 PM
Unknown Object (File)
Dec 22 2023, 10:31 PM
Unknown Object (File)
Nov 16 2023, 2:55 PM
Unknown Object (File)
Nov 4 2023, 5:32 PM
Unknown Object (File)
Aug 28 2023, 9:06 PM
Unknown Object (File)
Jul 21 2023, 2:26 PM
Unknown Object (File)
Jun 26 2023, 7:39 AM
Subscribers
None

Details

Summary

My awk chops aren't great -- how about this approach?

Leave COMPAT_43 out as it's the odd man out, as far as naming convention goes. Group all of the compat options thereafter in a stdcompat variable, then generate the awk we use for each section.

This has the disadvantage of having to go back to the top when you're trying to grok the script, but I'm not convinced this is highly important given the rate of change.

Test Plan
  • Ran make sysent, no diff
  • Added FREEBSD12, results look OK

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 26572

Event Timeline

This is rather clever, but I don't like this direction. I'd like to remove the embedding of awk in sh that currently exists and this makes it much harder.

I'm also having difficulty getting an internal change to work in this model (I'm sure it's possible, but i've spend 30 minutes so far without luck) that allows sys/compat layers to list the minimum COMPAT version they support which allows me to avoid implementing FreeBSD 4 compat in CheriABI and our compat/freebsd64 layer.

This is rather clever, but I don't like this direction. I'd like to remove the embedding of awk in sh that currently exists and this makes it much harder.

I'm also having difficulty getting an internal change to work in this model (I'm sure it's possible, but i've spend 30 minutes so far without luck) that allows sys/compat layers to list the minimum COMPAT version they support which allows me to avoid implementing FreeBSD 4 compat in CheriABI and our compat/freebsd64 layer.

Back to the drawing board. =)

Which direction are you thinking of heading in- pure awk, or stepping away from awk to... something else?

Your mincompat stuff would look something like this in this model: https://people.freebsd.org/~kevans/mincompat.diff

Let's make lua a build-tool :)