Wrote stack unwinder. NEEDTO: fix NoUnwindInfo

Probably incorrect PC was set.
This commit is contained in:
2025-03-05 22:21:38 +00:00
parent 8ee4af1a48
commit b26dc6de01
15 changed files with 435 additions and 175 deletions
+4 -4
View File
@@ -21,15 +21,15 @@ use crate::{println_log, std::elf::ElfReader};
/// and will later be extended as required.
pub struct EhInfo {
/// A set of base addresses used for relative addressing.
base_addrs: BaseAddresses,
pub base_addrs: BaseAddresses,
/// The parsed `.eh_frame_hdr` section.
hdr: &'static ParsedEhFrameHdr<EndianSlice<'static, LittleEndian>>,
pub hdr: &'static ParsedEhFrameHdr<EndianSlice<'static, LittleEndian>>,
/// The lookup table in the parsed `.eh_frame_hdr` section.
/// This is a binary search table, it is optional but should be present as
/// we are linking with LLD(?) \[needs citation].
hdr_table: EhHdrTable<'static, EndianSlice<'static, LittleEndian>>,
pub hdr_table: EhHdrTable<'static, EndianSlice<'static, LittleEndian>>,
/// The parsed `.eh_frame` containing the CFIs (call frame information).
eh_frame: EhFrame<EndianSlice<'static, LittleEndian>>,
pub eh_frame: EhFrame<EndianSlice<'static, LittleEndian>>,
}
/// Stores the [ElfReader] struct for this ELF file.