Megaton performs a check step after linking the module into an ELF and before converting it to a .nso file. This check allows Megaton to blacklist certain symbols and instructions, preventing an unstable binary from being created to catch bugs earlier.
The root of a particular project is the directory that contains the config (Megaton.toml). For all values that determine a path, unless otherwise specified, the path is relative to the project root.
For each key, if a default value/behavior is not specified, it is required in the config. Otherwise it is optional.
This section can be extended with profiles.
Key: check.ignore (array of strings)
A list of symbols that the checker will ignore when checking the built binary.
Inheritance: Override
Default: ["<default>"]
Key: check.symbols (array of strings)
Type: string[] (array of strings)
Paths to symbol files generated by objdump -T.
Inheritance: Append
Default: []
Key: check.disallowed-instructions
Type: string[] (array of strings)
Instructions that are disallowed in the final binary. Place instructions that are known to crash here. (Mostly needed for Megaton library development).
Inheritance: Override
Default: ["<default>"]