1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 18:57:34 +00:00

LibDebug: Propagate errors throughout DWARF parsing

Splitting this into a separate commit was an afterthought, so this does
not yet feature any fallible operations.
This commit is contained in:
Tim Schumacher 2023-01-22 00:32:08 +01:00 committed by Andreas Kling
parent e235c42e4d
commit e62269650a
17 changed files with 243 additions and 204 deletions

View file

@ -31,22 +31,22 @@ public:
DIE root_die() const;
DIE get_die_at_offset(u32 offset) const;
FlatPtr get_address(size_t index) const;
char const* get_string(size_t index) const;
ErrorOr<FlatPtr> get_address(size_t index) const;
ErrorOr<char const*> get_string(size_t index) const;
u8 dwarf_version() const { return m_header.version(); }
DwarfInfo const& dwarf_info() const { return m_dwarf_info; }
AbbreviationsMap const& abbreviations_map() const { return m_abbreviations; }
LineProgram const& line_program() const;
Optional<FlatPtr> base_address() const;
ErrorOr<Optional<FlatPtr>> base_address() const;
// DW_AT_addr_base
u64 address_table_base() const;
ErrorOr<u64> address_table_base() const;
// DW_AT_str_offsets_base
u64 string_offsets_base() const;
ErrorOr<u64> string_offsets_base() const;
// DW_AT_rnglists_base
u64 range_lists_base() const;
ErrorOr<u64> range_lists_base() const;
private:
DwarfInfo const& m_dwarf_info;