From c23a457e72abe608715ac76f076f47dc42af07a5 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 30 May 2024 20:31:44 +0200 Subject: Merging upstream version 1.74.1+dfsg1. Signed-off-by: Daniel Baumann --- vendor/gimli-0.27.3/CHANGELOG.md | 943 --------------------------------------- 1 file changed, 943 deletions(-) delete mode 100644 vendor/gimli-0.27.3/CHANGELOG.md (limited to 'vendor/gimli-0.27.3/CHANGELOG.md') diff --git a/vendor/gimli-0.27.3/CHANGELOG.md b/vendor/gimli-0.27.3/CHANGELOG.md deleted file mode 100644 index 579788522..000000000 --- a/vendor/gimli-0.27.3/CHANGELOG.md +++ /dev/null @@ -1,943 +0,0 @@ -# `gimli` Change Log - --------------------------------------------------------------------------------- - -## 0.27.3 - -Released 2023/06/14. - -### Changed - -* Excluded test fixtures from published package. - [#661](https://github.com/gimli-rs/gimli/pull/661) - -### Added - -* Added `FallibleIterator` implementation for `read::OperationIter`. - [#649](https://github.com/gimli-rs/gimli/pull/649) - -* Added `DW_AT_GNU_deleted` constant. - [#658](https://github.com/gimli-rs/gimli/pull/658) - --------------------------------------------------------------------------------- - -## 0.27.2 - -Released 2023/02/15. - -### Added - -* Added support for tombstones in `read::LineRows`. - [#642](https://github.com/gimli-rs/gimli/pull/642) - --------------------------------------------------------------------------------- - -## 0.27.1 - -Released 2023/01/23. - -### Added - -* Added `SectionId::xcoff_name` and `read::Section::xcoff_section_name`. - [#635](https://github.com/gimli-rs/gimli/pull/635) - -* Added `read::Dwarf::make_dwo` and `read::Unit::dwo_name`. - [#637](https://github.com/gimli-rs/gimli/pull/637) - -### Changed - -* Changed `read::DwarfPackage::sections` to handle supplementary files. - [#638](https://github.com/gimli-rs/gimli/pull/638) - --------------------------------------------------------------------------------- - -## 0.27.0 - -Released 2022/11/23. - -### Breaking changes - -* Added `read::Dwarf::abbreviations_cache` to cache abbreviations at offset 0. - Changed `read::Dwarf::abbreviations` to return `Result>`, - and changed `read::Unit::abbreviations` to `Arc`. - [#628](https://github.com/gimli-rs/gimli/pull/628) - -### Added - -* Added LoongArch register definitions. - [#624](https://github.com/gimli-rs/gimli/pull/624) - -* Added support for tombstones in `read::LocListIter` and `read::RngListIter`. - [#631](https://github.com/gimli-rs/gimli/pull/631) - --------------------------------------------------------------------------------- - -## 0.26.2 - -Released 2022/07/16. - -### Changed - -* Fixed CFI personality encoding when writing. - [#609](https://github.com/gimli-rs/gimli/pull/609) - -* Fixed use of raw pointer for mutation, detected by Miri. - [#614](https://github.com/gimli-rs/gimli/pull/614) - -* Fixed `DW_OP_GNU_implicit_pointer` handling for DWARF version 2. - [#618](https://github.com/gimli-rs/gimli/pull/618) - -### Added - -* Added `read::EhHdrTable::iter`. - [#619](https://github.com/gimli-rs/gimli/pull/619) - --------------------------------------------------------------------------------- - -## 0.26.1 - -Released 2021/11/02. - -### Changed - -* Fixed segmentation fault in `ArrayVec>::into_vec`, which may be used by - `read::Evaluation::result`. This regression was introduced in 0.26.0. - [#601](https://github.com/gimli-rs/gimli/pull/601) - --------------------------------------------------------------------------------- - -## 0.26.0 - -Released 2021/10/24. - -### Breaking changes - -* Removed `read::UninitializedUnwindContext`. Use `Box` instead. - [#593](https://github.com/gimli-rs/gimli/pull/593) - -* Renamed `read::Error::CfiStackFull` to `StackFull`. - [#595](https://github.com/gimli-rs/gimli/pull/595) - -* Added `UnwindContextStorage` type parameter to `read::UnwindContext`, `read::UnwindTable`, - `read::UnwindTableRow`, and `read::RegisterRuleMap`. - [#595](https://github.com/gimli-rs/gimli/pull/595) - -* Added `EvaluationStorage` type parameter to `read::Evaluation`. - [#595](https://github.com/gimli-rs/gimli/pull/595) - -* Added `read::SectionId::DebugCuIndex` and `read::SectionId::DebugTuIndex`. - [#588](https://github.com/gimli-rs/gimli/pull/588) - -### Changed - -* Fixed `DW_EH_PE_pcrel` handling in default `write::Writer::write_eh_pointer` implementation. - [#576](https://github.com/gimli-rs/gimli/pull/576) - -* Fixed `read::AttributeSpecification::size` for some forms. - [#597](https://github.com/gimli-rs/gimli/pull/597) - -* Display more unit details in dwarfdump. - [#584](https://github.com/gimli-rs/gimli/pull/584) - -### Added - -* Added `write::DebuggingInformationEntry::delete_child`. - [#570](https://github.com/gimli-rs/gimli/pull/570) - -* Added ARM and AArch64 register definitions. - [#574](https://github.com/gimli-rs/gimli/pull/574) - [#577](https://github.com/gimli-rs/gimli/pull/577) - -* Added RISC-V register definitions. - [#579](https://github.com/gimli-rs/gimli/pull/579) - -* Added `read::DwarfPackage`, `read::DebugCuIndex`, and `read::DebugTuIndex`. - [#588](https://github.com/gimli-rs/gimli/pull/588) - -* Added `read-core` feature to allow building without `liballoc`. - [#596](https://github.com/gimli-rs/gimli/pull/596) - -* Added `read::EntriesRaw::skip_attributes`. - [#597](https://github.com/gimli-rs/gimli/pull/597) - --------------------------------------------------------------------------------- - -## 0.25.0 - -Released 2021/07/26. - -### Breaking changes - -* `read::FrameDescriptionEntry::unwind_info_for_address` now returns a reference - instead of cloning. - [#557](https://github.com/gimli-rs/gimli/pull/557) - -* `read::AttributeValue::RangeListsRef` now contains a `RawRangeListsOffset` - to allow handling of GNU split DWARF extensions. - Use `read::Dwarf::ranges_offset_from_raw` to handle it. - [#568](https://github.com/gimli-rs/gimli/pull/568) - [#569](https://github.com/gimli-rs/gimli/pull/569) - -* Added `read::Unit::dwo_id`. - [#569](https://github.com/gimli-rs/gimli/pull/569) - -### Changed - -* `.debug_aranges` parsing now accepts version 3. - [#560](https://github.com/gimli-rs/gimli/pull/560) - -* `read::Dwarf::attr_ranges_offset` and its callers now handle GNU split DWARF extensions. - [#568](https://github.com/gimli-rs/gimli/pull/568) - [#569](https://github.com/gimli-rs/gimli/pull/569) - -### Added - -* Added `read::DebugLineStr::new`. - [#556](https://github.com/gimli-rs/gimli/pull/556) - -* Added `read::UnwindTable::into_current_row`. - [#557](https://github.com/gimli-rs/gimli/pull/557) - -* Added more `DW_LANG` constants. - [#565](https://github.com/gimli-rs/gimli/pull/565) - -* dwarfdump: added DWO parent support. - [#568](https://github.com/gimli-rs/gimli/pull/568) - -* Added `read::Dwarf` methods: `ranges_offset_from_raw`, `raw_ranges`, and `raw_locations`. - [#568](https://github.com/gimli-rs/gimli/pull/568) - [#569](https://github.com/gimli-rs/gimli/pull/569) - --------------------------------------------------------------------------------- - -## 0.24.0 - -Released 2021/05/01. - -### Breaking changes - -* Minimum Rust version increased to 1.42.0. - -* Added `read::Dwarf::debug_aranges`. - [#539](https://github.com/gimli-rs/gimli/pull/539) - -* Replaced `read::DebugAranges::items` with `read::DebugAranges::headers`. - [#539](https://github.com/gimli-rs/gimli/pull/539) - -* Added `read::Operation::Wasm*`. - [#546](https://github.com/gimli-rs/gimli/pull/546) - -* `read::LineRow::line` now returns `Option`. - The `read::ColumnType::Column` variant now contains a `NonZeroU64`. - [#551](https://github.com/gimli-rs/gimli/pull/551) - -* Replaced `read::Dwarf::debug_str_sup` with `read::Dwarf::sup`. - Deleted `sup` parameter of `read::Dwarf::load`. - Added `read::Dwarf::load_sup`. - [#554](https://github.com/gimli-rs/gimli/pull/554) - -### Added - -* dwarfdump: Supplementary object file support. - [#552](https://github.com/gimli-rs/gimli/pull/552) - -### Changed - -* Support `DW_FORM_addrx*` for `DW_AT_low_pc`/`DW_AT_high_pc` in `read::Dwarf`. - [#541](https://github.com/gimli-rs/gimli/pull/541) - -* Performance improvement in `EndianReader`. - [#549](https://github.com/gimli-rs/gimli/pull/549) - --------------------------------------------------------------------------------- - -## 0.23.0 - -Released 2020/10/27. - -### Breaking changes - -* Added more variants to `read::UnitType`. - Added `read::AttributeValue::DwoId` - [#521](https://github.com/gimli-rs/gimli/pull/521) - -* Replaced `CompilationUnitHeader` and `TypeUnitHeader` with `UnitHeader`. - Replaced `CompilationUnitHeadersIter` with `DebugInfoUnitHeadersIter`. - Replaced `TypeUnitHeadersIter` with `DebugTypesUnitHeadersIter`. - [#523](https://github.com/gimli-rs/gimli/pull/523) - - -### Added - -* Added read support for split DWARF. - [#527](https://github.com/gimli-rs/gimli/pull/527) - [#529](https://github.com/gimli-rs/gimli/pull/529) - -* Added `read::Dwarf::attr_address`. - [#524](https://github.com/gimli-rs/gimli/pull/524) - -* Added read support for `DW_AT_GNU_addr_base` and `DW_AT_GNU_ranges_base`. - [#525](https://github.com/gimli-rs/gimli/pull/525) - -* dwarfdump: Display index values for attributes. - [#526](https://github.com/gimli-rs/gimli/pull/526) - -* Added `name_to_register`. - [#532](https://github.com/gimli-rs/gimli/pull/532) - --------------------------------------------------------------------------------- - -## 0.22.0 - -Released 2020/07/03. - -### Breaking changes - -* Fixed `UnitHeader::size_of_header` for DWARF 5 units. - [#518](https://github.com/gimli-rs/gimli/pull/518) - -### Added - -* Added fuzz targets in CI. - [#512](https://github.com/gimli-rs/gimli/pull/512) - -* Added read support for `DW_OP_GNU_addr_index` and `DW_OP_GNU_const_index`. - [#516](https://github.com/gimli-rs/gimli/pull/516) - -* Added `.dwo` support to dwarfdump. - [#516](https://github.com/gimli-rs/gimli/pull/516) - -* Added `SectionId::dwo_name` and `Section::dwo_section_name`. - [#517](https://github.com/gimli-rs/gimli/pull/517) - -### Fixed - -* Fixed panic when reading `DW_FORM_indirect` combined with `DW_FORM_implicit_const`. - [#502](https://github.com/gimli-rs/gimli/pull/502) - -* Fixed panic for `read::Abbreviations::get(0)`. - [#505](https://github.com/gimli-rs/gimli/pull/505) - -* Fixed arithmetic overflow when reading `.debug_line`. - [#508](https://github.com/gimli-rs/gimli/pull/508) - -* Fixed arithmetic overflow when reading CFI. - [#509](https://github.com/gimli-rs/gimli/pull/509) - -* Fixed arithmetic overflow and division by zero when reading `.debug_aranges`. - [#510](https://github.com/gimli-rs/gimli/pull/510) - -* Don't return error from `read::Unit::new` when `DW_AT_name` or `DW_AT_comp_dir` is missing. - [#515](https://github.com/gimli-rs/gimli/pull/515) - --------------------------------------------------------------------------------- - -## 0.21.0 - -Released 2020/05/12. - -### Breaking changes - -* Minimum Rust version increased to 1.38.0. - -* Replaced `read::Operation::Literal` with `Operation::UnsignedConstant` and `Operation::SignedConstant`. - Changed `read::Operation::Bra` and `read::Operation::Skip` to contain the target offset instead of the bytecode. - [#479](https://github.com/gimli-rs/gimli/pull/479) - -* Changed `write::Expression` to support references. Existing users can convert to use `Expression::raw`. - [#479](https://github.com/gimli-rs/gimli/pull/479) - -* Replaced `write::AttributeValue::AnyUnitEntryRef` with `DebugInfoRef`. - Renamed `write::AttributeValue::ThisUnitEntryRef` to `UnitRef`. - [#479](https://github.com/gimli-rs/gimli/pull/479) - -* Added more optional features: `endian-reader` and `fallible-iterator`. - [#495](https://github.com/gimli-rs/gimli/pull/495) - [#498](https://github.com/gimli-rs/gimli/pull/498) - -### Added - -* Added `read::Expression::operations` - [#479](https://github.com/gimli-rs/gimli/pull/479) - -### Fixed - -* Fixed newlines in `dwarfdump` example. - [#470](https://github.com/gimli-rs/gimli/pull/470) - -* Ignore zero terminators when reading `.debug_frame` sections. - [#486](https://github.com/gimli-rs/gimli/pull/486) - -* Increase the number of CFI register rules supported by `read::UnwindContext`. - [#487](https://github.com/gimli-rs/gimli/pull/487) - -* Fixed version handling and return register encoding when reading `.eh_frame` sections. - [#493](https://github.com/gimli-rs/gimli/pull/493) - -### Changed - -* Added `EhFrame` and `DebugFrame` to `write::Sections`. - [#492](https://github.com/gimli-rs/gimli/pull/492) - -* Improved performance of `write::LineProgram::generate_row`. - [#476](https://github.com/gimli-rs/gimli/pull/476) - -* Removed use of the `byteorder`, `arrayvec` and `smallvec` crates. - [#494](https://github.com/gimli-rs/gimli/pull/494) - [#496](https://github.com/gimli-rs/gimli/pull/496) - [#497](https://github.com/gimli-rs/gimli/pull/497) - --------------------------------------------------------------------------------- - -## 0.20.0 - -Released 2020/01/11. - -### Breaking changes - -* Changed type of `DwTag`, `DwAt`, and `DwForm` constants. - [#451](https://github.com/gimli-rs/gimli/pull/451) - -* Added `read/write::AttributeValue::DebugMacroRef`, and returned where - required in `read::Attribute::value`. Added `SectionId::DebugMacro`. - [#454](https://github.com/gimli-rs/gimli/pull/454) - -* Deleted `alloc` feature, and fixed `no-std` builds with stable rust. - [#459](https://github.com/gimli-rs/gimli/pull/459) - -* Deleted `read::Error::description`, and changed `` - to display what was previously the description. - [#462](https://github.com/gimli-rs/gimli/pull/462) - -### Added - -* Added GNU view constants. - [#434](https://github.com/gimli-rs/gimli/pull/434) - -* Added `read::EntriesRaw` for low level DIE parsing. - [#455](https://github.com/gimli-rs/gimli/pull/455) - -* Added `examples/simple-line.rs`. - [#460](https://github.com/gimli-rs/gimli/pull/460) - -### Fixed - -* Fixed handling of CFI augmentations without data. - [#438](https://github.com/gimli-rs/gimli/pull/438) - -* dwarfdump: fix panic for malformed expressions. - [#447](https://github.com/gimli-rs/gimli/pull/447) - -* dwarfdump: fix handling of Mach-O relocations. - [#449](https://github.com/gimli-rs/gimli/pull/449) - -### Changed - -* Improved abbreviation parsing performance. - [#451](https://github.com/gimli-rs/gimli/pull/451) - --------------------------------------------------------------------------------- - -## 0.19.0 - -Released 2019/07/08. - -### Breaking changes - -* Small API changes related to `.debug_loc` and `.debug_loclists`: - added `read::RawLocListEntry::AddressOrOffsetPair` enum variant, - added `write::Sections::debug_loc/debug_loclists` public members, - and replaced `write::AttributeValue::LocationListsRef` with `LocationListRef`. - [#425](https://github.com/gimli-rs/gimli/pull/425) - -### Added - -* Added `read::Attribute::exprloc_value` and `read::AttributeValue::exprloc_value`. - [#422](https://github.com/gimli-rs/gimli/pull/422) - -* Added support for writing `.debug_loc` and `.debug_loclists` sections. - [#425](https://github.com/gimli-rs/gimli/pull/425) - -* Added `-G` flag to `dwarfdump` example to display global offsets. - [#427](https://github.com/gimli-rs/gimli/pull/427) - -* Added `examples/simple.rs`. - [#429](https://github.com/gimli-rs/gimli/pull/429) - -### Fixed - -* `write::LineProgram::from` no longer requires `DW_AT_name` or `DW_AT_comp_dir` - attributes to be present in the unit DIE. - [#430](https://github.com/gimli-rs/gimli/pull/430) - --------------------------------------------------------------------------------- - -## 0.18.0 - -Released 2019/04/25. - -The focus of this release has been on improving support for reading CFI, -and adding support for writing CFI. - -### Breaking changes - -* For types which have an `Offset` type parameter, the default `Offset` - has changed from `usize` to `R::Offset`. - [#392](https://github.com/gimli-rs/gimli/pull/392) - -* Added an `Offset` type parameter to the `read::Unit` type to allow variance. - [#393](https://github.com/gimli-rs/gimli/pull/393) - -* Changed the `UninitializedUnwindContext::initialize` method to borrow `self`, - and return `&mut UnwindContext`. Deleted the `InitializedUnwindContext` type. - [#395](https://github.com/gimli-rs/gimli/pull/395) - -* Deleted the `UnwindSection` type parameters from the `CommonInformationEntry`, - `FrameDescriptionEntry`, `UninitializedUnwindContext`, - `UnwindContext`, and `UnwindTable` types. - [#399](https://github.com/gimli-rs/gimli/pull/399) - -* Changed the signature of the `get_cie` callback parameter for various functions. - The signature now matches the `UnwindSection::cie_from_offset` method, so - that method can be used as the parameter. - [#400](https://github.com/gimli-rs/gimli/pull/400) - -* Reduced the number of lifetime parameters for the `UnwindTable` type. - [#400](https://github.com/gimli-rs/gimli/pull/400) - -* Updated `fallible-iterator` to version 0.2.0. - [#407](https://github.com/gimli-rs/gimli/pull/407) - -* Added a parameter to the `Error::UnexpectedEof` enum variant. - [#408](https://github.com/gimli-rs/gimli/pull/408) - -### Added - -* Update to 2018 edition. - [#391](https://github.com/gimli-rs/gimli/pull/391) - -* Added the `FrameDescriptionEntry::unwind_info_for_address` method. - [#396](https://github.com/gimli-rs/gimli/pull/396) - -* Added the `FrameDescriptionEntry::rows` method. - [#396](https://github.com/gimli-rs/gimli/pull/396) - -* Added the `EhHdrTable::unwind_info_for_address` method. - [#400](https://github.com/gimli-rs/gimli/pull/400) - -* Added the `EhHdrTable::fde_for_address` method and deprecated the - `EhHdrTable::lookup_and_parse` method. - [#400](https://github.com/gimli-rs/gimli/pull/400) - -* Added the `EhHdrTable::pointer_to_offset` method. - [#400](https://github.com/gimli-rs/gimli/pull/400) - -* Added the `UnwindSection::fde_for_address` method. - [#396](https://github.com/gimli-rs/gimli/pull/396) - -* Added the `UnwindSection::fde_from_offset` method. - [#400](https://github.com/gimli-rs/gimli/pull/400) - -* Added the `UnwindSection::partial_fde_from_offset` method. - [#400](https://github.com/gimli-rs/gimli/pull/400) - -* Added the `Section::id` method. - [#406](https://github.com/gimli-rs/gimli/pull/406) - -* Added the `Dwarf::load` method, and corresponding methods for individual sections. - [#406](https://github.com/gimli-rs/gimli/pull/406) - -* Added the `Dwarf::borrow` method, and corresponding methods for individual sections. - [#406](https://github.com/gimli-rs/gimli/pull/406) - -* Added the `Dwarf::format_error` method. - [#408](https://github.com/gimli-rs/gimli/pull/408) - -* Added the `Dwarf::die_ranges` method. - [#417](https://github.com/gimli-rs/gimli/pull/417) - -* Added the `Dwarf::unit_ranges` method. - [#417](https://github.com/gimli-rs/gimli/pull/417) - -* Added support for writing `.debug_frame` and `.eh_frame` sections. - [#412](https://github.com/gimli-rs/gimli/pull/412) - [#419](https://github.com/gimli-rs/gimli/pull/419) - -### Fixed - -* The `code_alignment_factor` is now used when evaluating CFI instructions - that advance the location. - [#401](https://github.com/gimli-rs/gimli/pull/401) - -* Fixed parsing of pointers encoded with `DW_EH_PE_funcrel`. - [#402](https://github.com/gimli-rs/gimli/pull/402) - -* Use the FDE address encoding from the augmentation when parsing `DW_CFA_set_loc`. - [#403](https://github.com/gimli-rs/gimli/pull/403) - -* Fixed setting of `.eh_frame` base addresses in dwarfdump. - [#410](https://github.com/gimli-rs/gimli/pull/410) - -## 0.17.0 - -Released 2019/02/21. - -The focus of this release has been on improving DWARF 5 support, and -adding support for writing DWARF. - -### Breaking changes - -* Changed register values to a `Register` type instead of `u8`/`u64`. - [#328](https://github.com/gimli-rs/gimli/pull/328) - -* Replaced `BaseAddresses::set_cfi` with `set_eh_frame_hdr` and `set_eh_frame`. - Replaced `BaseAddresses::set_data` with `set_got`. - You should now use the same `BaseAddresses` value for parsing both - `.eh_frame` and `.eh_frame_hdr`. - [#351](https://github.com/gimli-rs/gimli/pull/351) - -* Renamed many types and functions related to `.debug_line`. - Renamed `LineNumberProgram` to `LineProgram`. - Renamed `IncompleteLineNumberProgram` to `IncompleteLineProgram`. - Renamed `CompleteLineNumberProgram` to `CompleteLineProgram`. - Renamed `LineNumberProgramHeader` to `LineProgramHeader`. - Renamed `LineNumberRow` to `LineRow`. - Renamed `StateMachine` to `LineRows`. - Renamed `Opcode` to `LineInstruction`. - Renamed `OpcodesIter` to `LineInstructions`. - Renamed `LineNumberSequence` to `LineSequence`. - [#359](https://github.com/gimli-rs/gimli/pull/359) - -* Added `Offset` type parameter to `AttributeValue`, `LineProgram`, - `IncompleteLineProgram`, `CompleteLineProgram`, `LineRows`, `LineInstruction`, - and `FileEntry`. - [#324](https://github.com/gimli-rs/gimli/pull/324) - -* Changed `FileEntry::path_name`, `FileEntry::directory`, and - `LineProgramHeader::directory` to return an `AttributeValue` instead - of a `Reader`. - [#366](https://github.com/gimli-rs/gimli/pull/366) - -* Renamed `FileEntry::last_modification` to `FileEntry::timestamp` - and renamed `FileEntry::length` to `FileEntry::size`. - [#366](https://github.com/gimli-rs/gimli/pull/366) - -* Added an `Encoding` type. Changed many functions that previously accepted - `Format`, version or address size parameters to accept an `Encoding` - parameter instead. - Notable changes are `LocationLists::locations`, `RangeLists::ranges`, - and `Expression::evaluation`. - [#364](https://github.com/gimli-rs/gimli/pull/364) - -* Changed return type of `LocationLists::new` and `RangeLists::new`. - [#370](https://github.com/gimli-rs/gimli/pull/370) - -* Added parameters to `LocationsLists::locations` and `RangeLists::ranges` - to support `.debug_addr`. - [#358](https://github.com/gimli-rs/gimli/pull/358) - -* Added more `AttributeValue` variants: `DebugAddrBase`, `DebugAddrIndex`, - `DebugLocListsBase`, `DebugLocListsIndex`, `DebugRngListsBase`, `DebugRngListsIndex`, - `DebugStrOffsetsBase`, `DebugStrOffsetsIndex`, `DebugLineStrRef`. - [#358](https://github.com/gimli-rs/gimli/pull/358) - -* Changed `AttributeValue::Data*` attributes to native endian integers instead - of byte arrays. - [#365](https://github.com/gimli-rs/gimli/pull/365) - -* Replaced `EvaluationResult::TextBase` with - `EvaluationResult::RequiresRelocatedAddress`. The handling of `TextBase` - was incorrect. - [#335](https://github.com/gimli-rs/gimli/pull/335) - -* Added `EvaluationResult::IndexedAddress` for operations that require an - address from `.debug_addr`. - [#358](https://github.com/gimli-rs/gimli/pull/358) - -* Added `Reader::read_slice`. Added a default implementation of - `Reader::read_u8_array` which uses this. - [#358](https://github.com/gimli-rs/gimli/pull/358) - -### Added - -* Added initial support for writing DWARF. This is targeted at supporting - line number information only. - [#340](https://github.com/gimli-rs/gimli/pull/340) - [#344](https://github.com/gimli-rs/gimli/pull/344) - [#346](https://github.com/gimli-rs/gimli/pull/346) - [#361](https://github.com/gimli-rs/gimli/pull/361) - [#362](https://github.com/gimli-rs/gimli/pull/362) - [#365](https://github.com/gimli-rs/gimli/pull/365) - [#368](https://github.com/gimli-rs/gimli/pull/368) - [#382](https://github.com/gimli-rs/gimli/pull/382) - -* Added `read` and `write` Cargo features. Both are enabled by default. - [#343](https://github.com/gimli-rs/gimli/pull/343) - -* Added support for reading DWARF 5 `.debug_line` and `.debug_line_str` sections. - [#366](https://github.com/gimli-rs/gimli/pull/366) - -* Added support for reading DWARF 5 `.debug_str_offsets` sections, including - parsing `DW_FORM_strx*` attributes. - [#358](https://github.com/gimli-rs/gimli/pull/358) - -* Added support for reading DWARF 5 `.debug_addr` sections, including parsing - `DW_FORM_addrx*` attributes and evaluating `DW_OP_addrx` and `DW_OP_constx` - operations. - [#358](https://github.com/gimli-rs/gimli/pull/358) - -* Added support for reading DWARF 5 indexed addresses and offsets in - `.debug_loclists` and `.debug_rnglists`, including parsing `DW_FORM_rnglistx` - and `DW_FORM_loclistx` attributes. - [#358](https://github.com/gimli-rs/gimli/pull/358) - -* Added high level `Dwarf` and `Unit` types. Existing code does not need to - switch to using these types, but doing so will make DWARF 5 support simpler. - [#352](https://github.com/gimli-rs/gimli/pull/352) - [#380](https://github.com/gimli-rs/gimli/pull/380) - [#381](https://github.com/gimli-rs/gimli/pull/381) - -* Added `EhFrame::set_address_size` and `DebugFrame::set_address_size` methods - to allow parsing non-native CFI sections. The default address size is still - the native size. - [#325](https://github.com/gimli-rs/gimli/pull/325) - -* Added architecture specific definitions for `Register` values and names. - Changed dwarfdump to print them. - [#328](https://github.com/gimli-rs/gimli/pull/328) - -* Added support for reading relocatable DWARF sections. - [#337](https://github.com/gimli-rs/gimli/pull/337) - -* Added parsing of `DW_FORM_data16`. - [#366](https://github.com/gimli-rs/gimli/pull/366) - -### Fixed - -* Fixed parsing DWARF 5 ranges with `start == end == 0`. - [#323](https://github.com/gimli-rs/gimli/pull/323) - -* Changed `LineRows` to be covariant in its `Reader` type parameter. - [#324](https://github.com/gimli-rs/gimli/pull/324) - -* Fixed handling of empty units in dwarfdump. - [#330](https://github.com/gimli-rs/gimli/pull/330) - -* Fixed `UnitHeader::length_including_self` for `Dwarf64`. - [#342](https://github.com/gimli-rs/gimli/pull/342) - -* Fixed parsing of `DW_CFA_set_loc`. - [#355](https://github.com/gimli-rs/gimli/pull/355) - -* Fixed handling of multiple headers in `.debug_loclists` and `.debug_rnglists`. - [#370](https://github.com/gimli-rs/gimli/pull/370) - --------------------------------------------------------------------------------- - -## 0.16.1 - -Released 2018/08/28. - -### Added - -* Added `EhFrameHdr::lookup_and_parse`. [#316][] -* Added support for `DW_CFA_GNU_args_size`. [#319][] - -### Fixed - -* Implement `Send`/`Sync` for `SubRange`. [#305][] -* Fixed `alloc` support on nightly. [#306][] [#310][] - -[#305]: https://github.com/gimli-rs/gimli/pull/305 -[#306]: https://github.com/gimli-rs/gimli/pull/306 -[#310]: https://github.com/gimli-rs/gimli/pull/310 -[#316]: https://github.com/gimli-rs/gimli/pull/316 -[#319]: https://github.com/gimli-rs/gimli/pull/319 - --------------------------------------------------------------------------------- - -## 0.16.0 - -Released 2018/06/01. - -### Added - -* Added support for building in `#![no_std]` environments, when the `alloc` - crate is available. Disable the "std" feature and enable the "alloc" - feature. [#138][] [#271][] - -* Added support for DWARF 5 `.debug_rnglists` and `.debug_loclists` - sections. [#272][] - -* Added support for DWARF 5 `DW_FORM_ref_sup` and `DW_FORM_strp_sup` attribute - forms. [#288][] - -* Added support for DWARF 5 operations on typed values. [#293][] - -* A `dwarf-validate` example program that checks the integrity of the given - DWARF and its references between sections. [#290][] - -* Added the `EndianReader` type, an easy way to define a custom `Reader` - implementation with a reference to a generic buffer of bytes and an associated - endianity. [#298][] [#302][] - -### Changed - -* Various speed improvements for evaluating `.debug_line` line number - programs. [#276][] - -* The example `dwarfdump` clone is a [whole lot faster - now][dwarfdump-faster]. [#282][] [#284][] [#285][] - -### Deprecated - -* `EndianBuf` has been renamed to `EndianSlice`, use that name instead. [#295][] - -### Fixed - -* Evaluating the `DW_CFA_restore_state` opcode properly maintains the current - location. Previously it would incorrectly restore the old location when - popping from evaluation stack. [#274][] - -[#271]: https://github.com/gimli-rs/gimli/issues/271 -[#138]: https://github.com/gimli-rs/gimli/issues/138 -[#274]: https://github.com/gimli-rs/gimli/issues/274 -[#272]: https://github.com/gimli-rs/gimli/issues/272 -[#276]: https://github.com/gimli-rs/gimli/issues/276 -[#282]: https://github.com/gimli-rs/gimli/issues/282 -[#285]: https://github.com/gimli-rs/gimli/issues/285 -[#284]: https://github.com/gimli-rs/gimli/issues/284 -[#288]: https://github.com/gimli-rs/gimli/issues/288 -[#290]: https://github.com/gimli-rs/gimli/issues/290 -[#293]: https://github.com/gimli-rs/gimli/issues/293 -[#295]: https://github.com/gimli-rs/gimli/issues/295 -[#298]: https://github.com/gimli-rs/gimli/issues/298 -[#302]: https://github.com/gimli-rs/gimli/issues/302 -[dwarfdump-faster]: https://robert.ocallahan.org/2018/03/speeding-up-dwarfdump-with-rust.html - --------------------------------------------------------------------------------- - -## 0.15.0 - -Released 2017/12/01. - -### Added - -* Added the `EndianBuf::to_string()` method. [#233][] - -* Added more robust error handling in our example `dwarfdump` clone. [#234][] - -* Added `FrameDescriptionEntry::initial_address` method. [#237][] - -* Added `FrameDescriptionEntry::len` method. [#237][] - -* Added the `FrameDescriptionEntry::entry_len` method. [#241][] - -* Added the `CommonInformationEntry::offset` method. [#241][] - -* Added the `CommonInformationEntry::entry_len` method. [#241][] - -* Added the `CommonInformationEntry::version` method. [#241][] - -* Added the `CommonInformationEntry::augmentation` method. [#241][] - -* Added the `CommonInformationEntry::code_alignment_factor` method. [#241][] - -* Added the `CommonInformationEntry::data_alignment_factor` method. [#241][] - -* Added the `CommonInformationEntry::return_address_register` method. [#241][] - -* Added support for printing `.eh_frame` sections to our example `dwarfdump` - clone. [#241][] - -* Added support for parsing the `.eh_frame_hdr` section. On Linux, the - `.eh_frame_hdr` section provides a pointer to the already-mapped-in-memory - `.eh_frame` data, so that it doesn't need to be duplicated, and a binary - search table of its entries for faster unwinding information lookups. [#250][] - -* Added support for parsing DWARF 5 compilation unit headers. [#257][] - -* Added support for DWARF 5's `DW_FORM_implicit_const`. [#257][] - -### Changed - -* Unwinding methods now give ownership of the unwinding context back to the - caller if errors are encountered, not just on the success path. This allows - recovering from errors in signal-safe code, where constructing a new unwinding - context is not an option because it requires allocation. This is a **breaking - change** affecting `UnwindSection::unwind_info_for_address` and - `UninitializedUnwindContext::initialize`. [#241][] - -* `CfaRule` and `RegisterRule` now expose their `DW_OP` expressions as - `Expression`. This is a minor **breaking change**. [#241][] - -* The `Error::UnknownVersion` variant now contains the unknown version - number. This is a minor **breaking change**. [#245][] - -* `EvaluationResult::RequiresEntryValue` requires an `Expression` instead of a - `Reader` now. This is a minor **breaking change**. [#256][] - - -[#233]: https://github.com/gimli-rs/gimli/pull/233 -[#234]: https://github.com/gimli-rs/gimli/pull/234 -[#237]: https://github.com/gimli-rs/gimli/pull/237 -[#241]: https://github.com/gimli-rs/gimli/pull/241 -[#245]: https://github.com/gimli-rs/gimli/pull/245 -[#250]: https://github.com/gimli-rs/gimli/pull/250 -[#256]: https://github.com/gimli-rs/gimli/pull/256 -[#257]: https://github.com/gimli-rs/gimli/pull/257 - --------------------------------------------------------------------------------- - -## 0.14.0 - -Released 2017/08/08. - -### Added - -* All `pub` types now `derive(Hash)`. [#192][] - -* All the constants from DWARF 5 are now defined. [#193][] - -* Added support for the `DW_OP_GNU_parameter_ref` GNU extension to parsing and - evaluation DWARF opcodes. [#208][] - -* Improved LEB128 parsing performance. [#216][] - -* Improved `.debug_{aranges,pubnames,pubtypes}` parsing performance. [#218][] - -* Added the ability to choose endianity dynamically at run time, rather than - only statically at compile time. [#219][] - -### Changed - -* The biggest change of this release is that `gimli` no longer requires the - object file's section be fully loaded into memory. This enables using `gimli` - on 32 bit platforms where there often isn't enough contiguous virtual memory - address space to load debugging information into. The default behavior is - still geared for 64 bit platforms, where address space overfloweth, and you - can still load the whole sections of the object file (or the entire object - file) into memory. This is abstracted over with the `gimli::Reader` - trait. This manifests as small (but many) breaking changes to much of the - public API. [#182][] - -### Fixed - -* The `DW_END_*` constants for defining endianity of a compilation unit were - previously incorrect. [#193][] - -* The `DW_OP_addr` opcode is relative to the base address of the `.text` section - of the binary, but we were incorrectly treating it as an absolute value. [#210][] - -[GitHub]: https://github.com/gimli-rs/gimli -[crates.io]: https://crates.io/crates/gimli -[contributing]: https://github.com/gimli-rs/gimli/blob/master/CONTRIBUTING.md -[easy]: https://github.com/gimli-rs/gimli/issues?q=is%3Aopen+is%3Aissue+label%3Aeasy -[#192]: https://github.com/gimli-rs/gimli/pull/192 -[#193]: https://github.com/gimli-rs/gimli/pull/193 -[#182]: https://github.com/gimli-rs/gimli/issues/182 -[#208]: https://github.com/gimli-rs/gimli/pull/208 -[#210]: https://github.com/gimli-rs/gimli/pull/210 -[#216]: https://github.com/gimli-rs/gimli/pull/216 -[#218]: https://github.com/gimli-rs/gimli/pull/218 -[#219]: https://github.com/gimli-rs/gimli/pull/219 -- cgit v1.2.3