ELFCTL(1)

NAME
elfctl - change an ELF binary's feature control note

SYNOPSIS
elfctl [-h | --help] [-i] [-l] [-e featurelist] file ...

DESCRIPTION
The elfctl utility modifies feature flags in the feature control note in an ELF binary.

The options are as follows:

-h | --help
    Print a usage message and exit.

-i  Ignore unknown feature flags in featurelist.

-l  List known ELF feature flags.

-e featurelist
    Edit features from the given comma separated list featurelist. featurelist starts with one of the three operations: “+” to turn on the features, “-” to turn off the features, “=” to only turn on the given features. A comma separated list of feature names or numeric values follows the operation.

If -e is not specified elfctl displays the status of each feature in the ELF note in each file ....

EXIT STATUS
Exit status is 0 on success, and 1 if the command fails if a file does not exist, is too short, or fails to find or edit features note.

EXAMPLES
The following is an example of a typical usage of the elfctl command:

    elfctl file
    elfctl -e +noaslr file

Features may be specified as numerical values:

    elfctl -e =0x0001,0x0004 file

Features may also be specified as a single combined value:

    elfctl -e =0x5 file

NOTES
On amd64, on a machine with LA57 (5-level paging) mode supported and enabled, if both la57 and la48 feature flags are specified, the la57 feature has priority over la48. The vm.pmap.prefer_uva_la48 sysctl MIB defines the default user address space size for binaries which do not set either of these flags.

SEE ALSO
mitigations(7)

HISTORY
elfctl first appeared in FreeBSD 12.2.

AUTHORS
elfctl was written by Bora Ozarslan borako.ozarslan@gmail.com under sponsorship from the FreeBSD Foundation.