Upgrade to the latest versions of gimli, addr2line, object (#2901)
* Upgrade to the latest versions of gimli, addr2line, object And adapt to API changes. New gimli supports wasm dwarf, resulting in some simplifications in the debug crate. * upgrade gimli usage in linux-specific profiling too * Add "continue" statement after interpreting a wasm local dwarf opcode
This commit is contained in:
@@ -33,10 +33,10 @@ more-asserts = "0.2.1"
|
||||
anyhow = "1.0"
|
||||
cfg-if = "1.0"
|
||||
log = "0.4"
|
||||
gimli = { version = "0.23.0", default-features = false, features = ["write"] }
|
||||
object = { version = "0.23.0", default-features = false, features = ["write"] }
|
||||
gimli = { version = "0.24.0", default-features = false, features = ["write"] }
|
||||
object = { version = "0.24.0", default-features = false, features = ["write"] }
|
||||
serde = { version = "1.0.94", features = ["derive"] }
|
||||
addr2line = { version = "0.14", default-features = false }
|
||||
addr2line = { version = "0.15", default-features = false }
|
||||
|
||||
[target.'cfg(target_os = "windows")'.dependencies]
|
||||
winapi = { version = "0.3.8", features = ["winnt", "impl-default"] }
|
||||
|
||||
@@ -83,6 +83,7 @@ struct DebugInfo {
|
||||
code_section_offset: u64,
|
||||
debug_abbrev: Range<usize>,
|
||||
debug_addr: Range<usize>,
|
||||
debug_aranges: Range<usize>,
|
||||
debug_info: Range<usize>,
|
||||
debug_line: Range<usize>,
|
||||
debug_line_str: Range<usize>,
|
||||
@@ -400,6 +401,7 @@ impl CompiledModule {
|
||||
let cx = addr2line::Context::from_sections(
|
||||
EndianSlice::new(&data[info.debug_abbrev.clone()], endian).into(),
|
||||
EndianSlice::new(&data[info.debug_addr.clone()], endian).into(),
|
||||
EndianSlice::new(&data[info.debug_aranges.clone()], endian).into(),
|
||||
EndianSlice::new(&data[info.debug_info.clone()], endian).into(),
|
||||
EndianSlice::new(&data[info.debug_line.clone()], endian).into(),
|
||||
EndianSlice::new(&data[info.debug_line_str.clone()], endian).into(),
|
||||
@@ -546,6 +548,7 @@ impl From<DebugInfoData<'_>> for DebugInfo {
|
||||
};
|
||||
let debug_abbrev = push(raw.dwarf.debug_abbrev.reader().slice());
|
||||
let debug_addr = push(raw.dwarf.debug_addr.reader().slice());
|
||||
let debug_aranges = push(raw.dwarf.debug_aranges.reader().slice());
|
||||
let debug_info = push(raw.dwarf.debug_info.reader().slice());
|
||||
let debug_line = push(raw.dwarf.debug_line.reader().slice());
|
||||
let debug_line_str = push(raw.dwarf.debug_line_str.reader().slice());
|
||||
@@ -557,6 +560,7 @@ impl From<DebugInfoData<'_>> for DebugInfo {
|
||||
data: data.into(),
|
||||
debug_abbrev,
|
||||
debug_addr,
|
||||
debug_aranges,
|
||||
debug_info,
|
||||
debug_line,
|
||||
debug_line_str,
|
||||
|
||||
Reference in New Issue
Block a user