23 KiB
object
Change Log
0.32.2
Released 2023/12/24.
Added
-
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
andread::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 aLC_DYSYMTAB
load command. #584 -
Changed
write::Object
to always useR_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 toread::Symbol::is_definition
. #601 #606 -
Changed
read::ObjectSymbol::kind
for ELFSTT_NOTYPE
symbols toSymbolKind::Unknown
. #604 -
Changed
read::ObjectSymbol::scope
for XCOFFC_HIDEXT
symbols toSymbolScope::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
toconst
. #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
, andread::elf::Note::name_bytes
. #549 -
Added
read::FileKind::CoffImport
andread::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. Addedread::elf::note::gnu_properties
,write::StandardSection::GnuProperty
, andwrite::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
. Changedpe::IMAGE_SYM_*
toi32
. Changedpe::ImageSymbolEx::section_number
toI32Bytes
. Deleted a number of methods frompe::ImageSymbol
. Use theread::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 toSymbolFlags
to supportSymbolFlags::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
inwrite::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 towrite::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 towrite::Object
. #469 #476 #477 #482 #484 #486 #527 -
Added
read::FileKind::CoffBig
,read::pe::CoffHeader
andread::pe::ImageSymbol
. #502 -
Added
elf::PT_GNU_PROPERTY
. #530 -
Added
elf::ELFCOMPRESS_ZSTD
,read::CompressionFormat::Zstandard
, and Zstandard decompression inread::CompressedData::decompress
using theruzstd
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 handleSTT_NOTYPE
andSTT_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
andabi_version
fields toFileFlags::Elf
. #438 #441
Changed
- Fixed handling of empty symbol tables in
read::elf::ElfFile::symbol_table
andread::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
elf::EF_MIPS_ABI
and associated constants. #433
0.28.3
Released 2022/01/19.
Changed
- For the Mach-O support in
write::Object
, acceptRelocationKind::MachO
for all architectures, and acceptRelocationKind::Absolute
for ARM64. #422
Added
-
Added
pe::ImageDataDirectory::file_range
,read::pe::SectionTable::pe_file_range_at
andpe::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
inwrite::Object::coff_write
. #412
Added
0.28.1
Released 2021/12/12.
Changed
0.28.0
Released 2021/12/12.
Breaking changes
-
write_core
feature no longer enablesstd
support. Usewrite_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 useSectionIndex
instead ofusize
in more places. #341 -
Changed some
read::elf
section methods to additionally return the linked section index. #341 -
Changed
read::pe::ImageNtHeaders::parse
to returnDataDirectories
instead of a slice. #357 -
Deleted
value
parameter forwrite:WritableBuffer::resize
. #369 -
Changed
write::Object
andwrite::Section
to useCow
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 forindexmap
dependency. #374 -
Fixed overflow in COFF section name offset parsing. #390
Added
-
Added
name_bytes
methods to unifiedread
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::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::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
'srustc-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 toread::StringTable
and types that contain it. String table entries are now only read as required. #326 -
Changed result type of
read::elf::SectionHeader::data
anddata_as_array
. #332 -
Moved
pod::WritableBuffer
towrite::WritableBuffer
. RenamedWritableBuffer::extend
towrite_bytes
. Added more provided methods toWritableBuffer
. #335 -
Moved
pod::Bytes
toread::Bytes
. #336 -
Added
is_mips64el
parameter toelf::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
, anddata
. #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 forVec
. #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
orSHT_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
andMachHeader::load_commands
now require a header offset. #304 -
Added
ReadRef::read_bytes_at_until
. #308 -
PeFile::entry
,PeSection::address
andPeSegment::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
, andpod::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 -
Derive more traits for enums. #311
-
Added
Object::relative_address_base
. #315