fparkan/vendor/object/CHANGELOG.md
Valentin Popov 1b6a04ca55
Initial vendor packages
Signed-off-by: Valentin Popov <valentin@popov.link>
2024-01-08 01:21:28 +04:00

23 KiB

object Change Log


0.32.2

Released 2023/12/24.

Added

  • Added ELF relocations for LoongArch ABI v2.20. #578 #589

  • Added ELF support for SHARC. #593

  • Added write::coff::Writer. #595

  • Added SubArchitecture::Arm64EC support for PE/COFF. #607

  • Added SubArchitecture::Arm64E support for Mach-O. #614

  • Added read::Object::symbol_by_name and read::Object::symbol_by_name_bytes. #602

  • Added more functions to the low level API in read::xcoff. #608

  • Added more functions to the low level API in read::macho. #584

Changed

  • Fixes for AArch64 relocation addends for Mach-O. #581

  • Changes to write::Object output for Mach-O, including the addition of a LC_DYSYMTAB load command. #584

  • Changed write::Object to always use R_X86_64_PLT32 for x86-64 branches for ELF. #590

  • Fixed read::ObjectSymbol::kind for undefined section symbols for COFF. #592

  • Fixed write::Object to accept undefined section symbols for COFF. #594

  • Improved parsing of auxiliary section symbols for COFF. #603

  • Improved the selection of symbols for read::Object::symbol_map. This includes changes to read::Symbol::is_definition. #601 #606

  • Changed read::ObjectSymbol::kind for ELF STT_NOTYPE symbols to SymbolKind::Unknown. #604

  • Changed read::ObjectSymbol::scope for XCOFF C_HIDEXT symbols to SymbolScope::Compilation. #605


0.32.1

Released 2023/09/03.

Added

  • Added write::Object::set_macho_cpu_subtype. #574

0.32.0

Released 2023/08/12.

Breaking changes

  • Changed read::elf::Note::name to exclude all trailing null bytes. #549

  • Updated dependencies, and changed some optional dependencies to use the dep: feature syntax. #558 #569

Changed

  • The minimum supported rust version for the read feature and its dependencies has changed to 1.60.0.

  • The minimum supported rust version for other features has changed to 1.65.0.

  • Changed many definitions from static to const. #549

  • Fixed Mach-O section alignment padding in write::Object. #553

  • Changed read::File to an enum. #564

Added

  • Added elf::ELF_NOTE_GO, elf::NT_GO_BUILD_ID, and read::elf::Note::name_bytes. #549

  • Added read::FileKind::CoffImport and read::coff::ImportFile. #555 #556

  • Added Architecture::Csky and basic ELF support for C-SKY. #561

  • Added read::elf::ElfSymbol::raw_symbol. #562


0.30.4

Released 2023/06/05.

Changed

  • Fixed Mach-O section alignment padding in write::Object. #553

0.31.1

Released 2023/05/09.

Changed

  • Fixed address for global symbols in read::wasm. #539

  • Fixed writing of alignment for empty ELF sections. #540

Added

  • Added more elf::GNU_PROPERTY_* definitions. Added read::elf::note::gnu_properties, write::StandardSection::GnuProperty, and write::Object::add_elf_gnu_property_u32. #537 #541

  • Added Mach-O support for Architecture::Aarch64_Ilp32. #542 #545

  • Added Architecture::Wasm64. #543


0.31.0

Released 2023/04/14.

Breaking changes

  • Added a type parameter on existing COFF types to support reading COFF /bigobj files. #502

  • Changed PE symbols to support COFF /bigobj. Changed pe::IMAGE_SYM_* to i32. Changed pe::ImageSymbolEx::section_number to I32Bytes. Deleted a number of methods from pe::ImageSymbol. Use the read::pe::ImageSymbol trait instead. #502

  • Changed pe::Guid to a single array, and added methods to read the individual fields. #502

  • Added Symbol type parameter to SymbolFlags to support SymbolFlags::Xcoff. #527

Changed

  • Fix alignment when reserving zero length sections in write::elf::Write::reserve. #514

  • Validate command size in read::macho::LoadCommandIterator. #516

  • Handle invalid alignment in read::macho::MachoSection::align. #516

  • Accept SymbolKind::Unknown in write::Object::macho_write. #519

  • Updated wasmparser dependency. #528

Added

  • Added more elf::EF_RISCV_* definitions. #507

  • Added read::elf::SectionHeader::gnu_attributes and associated types. Added .gnu.attributes support to write::elf::Writer. #509 #525

  • Added write::Object::set_macho_build_version. #524

  • Added read::FileKind::Xcoff32, read::FileKind::Xcoff64, read::XcoffFile, and associated types. Added XCOFF support to write::Object. #469 #476 #477 #482 #484 #486 #527

  • Added read::FileKind::CoffBig, read::pe::CoffHeader and read::pe::ImageSymbol. #502

  • Added elf::PT_GNU_PROPERTY. #530

  • Added elf::ELFCOMPRESS_ZSTD, read::CompressionFormat::Zstandard, and Zstandard decompression in read::CompressedData::decompress using the ruzstd crate. #532

  • Added read::elf::NoteIterator::new. #533


0.30.3

Released 2023/01/23.

Added

  • Added SectionKind::ReadOnlyDataWithRel for writing. #504

0.30.2

Released 2023/01/11.

Added

  • Added more ELF constants for AVR flags and relocations. #500

0.30.1

Released 2023/01/04.

Changed

  • Changed read::ElfSymbol::kind to handle STT_NOTYPE and STT_GNU_IFUNC. #498

Added

  • Added read::CoffSymbol::raw_symbol. #494

  • Added ELF support for Solana Binary Format. #491

  • Added ELF support for AArch64 ILP32. #497


0.30.0

Released 2022/11/22.

Breaking changes

  • The minimum supported rust version for the read feature has changed to 1.52.0. #458

  • The minimum supported rust version for the write feature has changed to 1.61.0.

  • Fixed endian handling in read::elf::SymbolTable::shndx. #458

  • Fixed endian handling in read::pe::ResourceName. #458

  • Changed definitions for LoongArch ELF header flags. #483

Changed

  • Fixed parsing of multiple debug directory entries in read::pe::PeFile::pdb_info. #451

  • Changed the section name used when writing COFF stub symbols. #475

Added

  • Added read::pe::DataDirectories::delay_load_import_table. #448

  • Added read::macho::LoadCommandData::raw_data. #449

  • Added ELF relocations for LoongArch ps ABI v2. #450

  • Added PowerPC support for Mach-O. #460

  • Added support for reading the AIX big archive format. #462 #467 #473

  • Added support for RelocationEncoding::AArch64Call when writing Mach-O files. #465

  • Added support for RelocationKind::Relative when writing RISC-V ELF files. #470

  • Added Xtensa architecture support for ELF. #481

  • Added read::pe::ResourceName::raw_data. #487


0.29.0

Released 2022/06/22.

Breaking changes

  • The write feature now has a minimum supported rust version of 1.56.1. #444

  • Added os_abi and abi_version fields to FileFlags::Elf. #438 #441

Changed

  • Fixed handling of empty symbol tables in read::elf::ElfFile::symbol_table and read::elf::ElfFile::dynamic_symbol_table. #443

Added

  • Added more ELF_OSABI_* constants. #439

0.28.4

Released 2022/05/09.

Added

  • Added read::pe::DataDirectories::resource_directory. #425 #427

  • Added PE support for more ARM relocations. #428

  • Added support for Architecture::LoongArch64. #430 #432

  • Added elf::EF_MIPS_ABI and associated constants. #433


0.28.3

Released 2022/01/19.

Changed

  • For the Mach-O support in write::Object, accept RelocationKind::MachO for all architectures, and accept RelocationKind::Absolute for ARM64. #422

Added

  • Added pe::ImageDataDirectory::file_range, read::pe::SectionTable::pe_file_range_at and pe::ImageSectionHeader::pe_file_range_at. #421

  • Added write::Object::add_coff_exports. #423


0.28.2

Released 2022/01/09.

Changed

  • Ignored errors for the Wasm extended name section in read::WasmFile::parse. #408

  • Ignored errors for the COFF symbol table in read::PeFile::parse. #410

  • Fixed handling of SectionFlags::Coff in write::Object::coff_write. #412

Added

  • Added read::ObjectSegment::flags. #416 #418

0.28.1

Released 2021/12/12.

Changed

  • Fixed read::elf::SymbolTable::shndx_section. #405

  • Fixed build warnings. #405 #406


0.28.0

Released 2021/12/12.

Breaking changes

  • write_core feature no longer enables std support. Use write_std instead. #400

  • Multiple changes related to Mach-O split dyld cache support. #398

Added

  • Added write::pe::Writer::write_file_align. #397

  • Added support for Mach-O split dyld cache. #398

  • Added support for IMAGE_SCN_LNK_NRELOC_OVFL when reading and writing COFF. #399

  • Added write::elf::Writer::reserve_null_symbol_index. #402


0.27.1

Released 2021/10/22.

Changed

  • Fixed build error with older Rust versions due to cargo resolver version.

0.27.0

Released 2021/10/17.

Breaking changes

  • Changed read::elf to use SectionIndex instead of usize in more places. #341

  • Changed some read::elf section methods to additionally return the linked section index. #341

  • Changed read::pe::ImageNtHeaders::parse to return DataDirectories instead of a slice. #357

  • Deleted value parameter for write:WritableBuffer::resize. #369

  • Changed write::Object and write::Section to use Cow for section data. This added a lifetime parameter, which existing users can set to 'static. #370

Changed

  • Fixed parsing when PE import directory has zero size. #341

  • Fixed parsing when PE import directory has zero for original first thunk. #385 #387

  • Fixed parsing when PE export directory has zero number of names. #353

  • Fixed parsing when PE export directory has zero number of names and addresses. #362

  • Fixed parsing when PE sections are contiguous. #354

  • Fixed std feature for indexmap dependency. #374

  • Fixed overflow in COFF section name offset parsing. #390

Added

  • Added name_bytes methods to unified read traits. #351

  • Added read::Object::kind. #352

  • Added read::elf::VersionTable and related helpers. #341

  • Added read::elf::SectionTable::dynamic and related helpers. #345

  • Added read::coff::SectionTable::max_section_file_offset. #344

  • Added read::pe::ExportTable and related helpers. #349 #353

  • Added read::pe::ImportTable and related helpers. #357

  • Added read::pe::DataDirectories and related helpers. #357 #384

  • Added read::pe::RichHeaderInfo and related helpers. #375 #379

  • Added read::pe::RelocationBlocks and related helpers. #378

  • Added write::elf::Writer. #350

  • Added write::pe::Writer. #382 #388

  • Added write::Section::data/data_mut. #367

  • Added write::Object::write_stream. #369

  • Added MIPSr6 ELF header flag definitions. #372


0.26.2

Released 2021/08/28.

Added

  • Added support for 64-bit symbol table names to read::archive. #366

0.26.1

Released 2021/08/19.

Changed

  • Activate memchr's rustc-dep-of-std feature #356

0.26.0

Released 2021/07/26.

Breaking changes

  • Changed ReadRef::read_bytes_at_until to accept a range parameter. #326

  • Added ReadRef type parameter to read::StringTable and types that contain it. String table entries are now only read as required. #326

  • Changed result type of read::elf::SectionHeader::data and data_as_array. #332

  • Moved pod::WritableBuffer to write::WritableBuffer. Renamed WritableBuffer::extend to write_bytes. Added more provided methods to WritableBuffer. #335

  • Moved pod::Bytes to read::Bytes. #336

  • Added is_mips64el parameter to elf::Rela64::r_info/set_r_info. #337

Changed

  • Removed alloc dependency when no features are enabled. #336

Added

  • Added read::pe::PeFile methods: section_table, data_directory, and data. #324

  • Added more ELF definitions. #332

  • Added read::elf::SectionTable methods for hash tables and symbol version information. #332

  • Added PE RISC-V definitions. #333

  • Added WritableBuffer implementation for Vec. #335


0.25.3

Released 2021/06/12.

Added

  • Added RelocationEncoding::AArch64Call. #322

0.25.2

Released 2021/06/04.

Added

  • Added Architecture::X86_64_X32. #320

0.25.1

Released 2021/06/03.

Changed

  • write: Fix choice of SHT_REL or SHT_RELA for most architectures. #318

  • write: Fix relocation encoding for MIPS64EL. #318


0.25.0

Released 2021/06/02.

Breaking changes

  • Added non_exhaustive to most public enums. #306

  • MachHeader::parse and MachHeader::load_commands now require a header offset. #304

  • Added ReadRef::read_bytes_at_until. #308

  • PeFile::entry, PeSection::address and PeSegment::address now return a virtual address instead of a RVA. #315

Added

  • Added pod::from_bytes_mut, pod::slice_from_bytes_mut, pod::bytes_of_mut, and pod::bytes_of_slice_mut. #296 #297

  • Added Object::pdb_info. #298

  • Added read::macho::DyldCache, other associated definitions, and support for these in the examples. #308

  • Added more architecture support. #303 #309

  • Derive more traits for enums. #311

  • Added Object::relative_address_base. #315

Changed

  • Improved performance for string parsing. #302

  • objdump example allows selecting container members. #308