Add a compilation section to disable address maps (#3598)
* Add a compilation section to disable address maps This commit adds a new `Config::generate_address_map` compilation setting which is used to disable emission of the `.wasmtime.addrmap` section of compiled artifacts. This section is currently around the size of the entire `.text` section itself unfortunately and for size reasons may wish to be omitted. Functionality-wise all that is lost is knowing the precise wasm module offset address of a faulting instruction or in a backtrace of instructions. This also means that if the module has DWARF debugging information available with it Wasmtime isn't able to produce a filename and line number in the backtrace. This option remains enabled by default. This option may not be needed in the future with #3547 perhaps, but in the meantime it seems reasonable enough to support a configuration mode where the section is entirely omitted if the smallest module possible is desired. * Fix some CI issues * Update tests/all/traps.rs Co-authored-by: Nick Fitzgerald <fitzgen@gmail.com> * Do less work in compilation for address maps But only when disabled Co-authored-by: Nick Fitzgerald <fitzgen@gmail.com>
This commit is contained in:
@@ -42,6 +42,10 @@ pub struct Tunables {
|
||||
/// Whether or not linear memory allocations will have a guard region at the
|
||||
/// beginning of the allocation in addition to the end.
|
||||
pub guard_before_linear_memory: bool,
|
||||
|
||||
/// Indicates whether an address map from compiled native code back to wasm
|
||||
/// offsets in the original file is generated.
|
||||
pub generate_address_map: bool,
|
||||
}
|
||||
|
||||
impl Default for Tunables {
|
||||
@@ -86,6 +90,7 @@ impl Default for Tunables {
|
||||
consume_fuel: false,
|
||||
static_memory_bound_is_maximum: false,
|
||||
guard_before_linear_memory: true,
|
||||
generate_address_map: true,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user