macaw/base/ChangeLog.md
Ryan Scott 2fb4ab4291 macaw-base: Resolve PPC{32,64} relocations
This builds on top of the work in
https://github.com/GaloisInc/elf-edit/pull/41. For now, I only add support for
a select few relocation types, leaving the rest as future work.
2023-11-03 11:38:11 -04:00

35 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Revision history for macaw-base
## Next
### Features
- `resolveElfContents`, as well as related functions in
`Data.Macaw.Memory.ElfLoader`, now compute dynamic function symbols for
nonposition-independent executables. These were previously omitted due to
an oversight in the implementation.
- Add support for PPC32 and PPC64 relocations in `Data.Macaw.Memory.ElfLoader`.
### API Changes
- Architecture-specific block terminators can now contain macaw values
This changed the type of the architecture extension block terminators from `ArchTermStmt ids` to `ArchTermStmt f` where `f ~ Value arch ids` at the macaw level.
- Architecture backends can now configure the block classification during the discovery phase
The interface to configure block classification is exposed through the `ArchitectureInfo`. Note that clients that have not created their own `ArchitectureInfo` from scratch should be unaffected (which is the vast majority).
- The post-discovery AST types are now exported from `Data.Macaw.Discovery.ParsedContents`
It is recommended that future references to these types be done through this module. They are re-exported from their original location (`Data.Macaw.Discovery.State`) for backwards compatibility. One day that is likely to change.
- The `DynamicSymbolTable` constructor of `Data.Macaw.Memory.ElfLoader`'s
`SymbolTable` data type now has an additional `VersionDefMap` field, which is
needed for finding versioning information in some cases.
- The `Hashable` and `HashableF` instances for `App f` now require
`TestEquality f` constraints. (This is needed to support `hashable-1.4.*`,
which adds `Eq` as a superclass to `Hashable`.)