HomeFreeBSD

loader: provide a features table for binary compatibility advertisement

Description

loader: provide a features table for binary compatibility advertisement

liblua now provides a loader.has_feature() function to probe the loader
binary for features advertised. name => desc mappings are provided in
loader.features to get a list of all of the features loader *can*
support. core.hasFeature is provided as a shim to loader.has_feature
so that individual consumers don't need to think about the logic of the
loader module not providing has_feature; we know that means the feature
isn't enabled.

The first consumer of this will be EARLY_ACPI to advertise that the
loader binary probes for ACPI presence before the interpreter has
started, so that we know whether we can trust the presence of acpi.rsdp
as relatively authoritative. In general, it's intended to be used to
avoid breaking new scripts on older loaders within reason.

This will be used in lua as core.hasFeature("EARLY_ACPI"), while the
C bits of loader will feature_enable(FEATURE_EARLY_ACPI).

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D42695

Details

Provenance
kevansAuthored on Dec 8 2023, 9:36 PM
Reviewer
imp
Differential Revision
D42695: loader: provide a features table for binary compatibilty advertisement
Parents
rGf959fcafb506: ObsoleteFiles.inc: remove old libufs.so.7 after bump
Branches
Unknown
Tags
Unknown