Released 2023/05/09.
-
Fixed address for global symbols in
read::wasm
. #539 -
Fixed writing of alignment for empty ELF sections. #540
-
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
Released 2023/04/14.
-
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
-
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 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
Released 2023/01/23.
- Added
SectionKind::ReadOnlyDataWithRel
for writing. #504
Released 2023/01/11.
- Added more ELF constants for AVR flags and relocations. #500
Released 2023/01/04.
- Changed
read::ElfSymbol::kind
to handleSTT_NOTYPE
andSTT_GNU_IFUNC
. #498
-
Added
read::CoffSymbol::raw_symbol
. #494 -
Added ELF support for Solana Binary Format. #491
-
Added ELF support for AArch64 ILP32. #497
Released 2022/11/22.
-
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
-
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
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
Released 2022/06/22.
-
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
- Fixed handling of empty symbol tables in
read::elf::ElfFile::symbol_table
andread::elf::ElfFile::dynamic_symbol_table
. #443
- Added more
ELF_OSABI_*
constants. #439
Released 2022/05/09.
-
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
Released 2022/01/19.
- For the Mach-O support in
write::Object
, acceptRelocationKind::MachO
for all architectures, and acceptRelocationKind::Absolute
for ARM64. #422
-
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
Released 2022/01/09.
-
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
Released 2021/12/12.
Released 2021/12/12.
-
write_core
feature no longer enablesstd
support. Usewrite_std
instead. #400 -
Multiple changes related to Mach-O split dyld cache support. #398
-
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
Released 2021/10/22.
- Fixed build error with older Rust versions due to cargo resolver version.
Released 2021/10/17.
-
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
-
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
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
Released 2021/08/28.
- Added support for 64-bit symbol table names to
read::archive
. #366
Released 2021/08/19.
- Activate
memchr
'srustc-dep-of-std
feature #356
Released 2021/07/26.
-
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
- Removed
alloc
dependency when no features are enabled. #336
-
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
Released 2021/06/12.
- Added
RelocationEncoding::AArch64Call
. #322
Released 2021/06/04.
- Added
Architecture::X86_64_X32
. #320
Released 2021/06/03.
-
write: Fix choice of
SHT_REL
orSHT_RELA
for most architectures. #318 -
write: Fix relocation encoding for MIPS64EL. #318
Released 2021/06/02.
-
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
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