Skip to content

Releases: tock/elf2tab

0.13.0: Two new elf2tab features

05 Jun 19:59
86cca48

Choose a tag to compare

Add:

  1. The ability for elf2tab to create a ShortId TBF header in the generated TBFs.
  2. The ability for elf2tab to add an ECDSA P256 signature to the generated TBFs.

0.12.0: Better handling of unusual ELFs

05 Oct 14:47
140b630

Choose a tag to compare

The major change in this release is support for handling ELF files where the first segment starts before the start of flash. In these cases, the first actual valid section starts at the start of flash, but elf2tab must ignore the data in the start of the segment before this section. Note, this only affects ELFs compiled for a fixed address in flash.

This release also adds support for the _flash_origin symbol which allows the linker to communicate explicitly to elf2tab the address where flash starts. This is only used for fixed address apps.

Other changes:

  • Use .pk8 files for private keys as this seems to be more cross-platform.
  • Support 0xabc numbers for storage permissions on the command line.
  • Ensure riscv binaries are multiples of 4 bytes.
  • Update the dependency versions.

Support Credentials

21 Jul 17:06
204a199

Choose a tag to compare

The major addition in this release of elf2tab is support for footers and credentials. elf2tab can reserve space for footers and generate credentials when TBFs are created.

Other changes:

  • Update to v0.7.x of elf crate
  • Re-write the elf parsing logic to use segments and sections rather than our own heuristics
  • Add support for tbf_protected_region_size ELF-file symbol to set per-elf protected region size

Fix Fixed Address Calculation for Arbitrary Section Names

09 Sep 18:57
d725e8f

Choose a tag to compare

Restore Cargo.lock

08 Sep 16:33
1569e6a

Choose a tag to compare

This release is functionally equivalent to 0.10.0 but restores the Cargo.lock file which was accidentally deleted for that release.

Minor updates, parallel Tock 2.1 release

05 Sep 16:06
bdc14ea

Choose a tag to compare

This release includes:

  • Convert to lib+bin crate
  • Fix to persistent ACL length calculation
  • Make arm address handling more robust
  • Fix entry point calculation when padding present
  • Support for elf2tab creating OTBN apps with multiple entry points
  • Add --supported-boards flag

Support tbf files with architecture tags

11 Apr 20:17

Choose a tag to compare

Updates in this release include:

  • support for elf files tagged with an architecture parameter, which fixes libtock-rs support for fixed-position ARM apps
  • automatic detection of stack size based on the .stack section in application binaries, if present
  • support for persistent access control IDs

Updates to padding support

01 Sep 17:14
1f5b0f6

Choose a tag to compare

Updates in this release include:

  • Only ARM apps are padded to a power-of-2 length.
  • If there are gaps between sections in the .elf those are respected in the TBF binary.

Include kernel compatibility and permissions information

30 Jul 15:50
8eb28e4

Choose a tag to compare

This release adds the flags --kernel-major and --kernel-minor so that apps can be compiled with information about the kernel version they require.

This also adds --permissions flag to encode what syscall drivers the app should have access to.

Support Fixed Address Apps

20 Jul 14:55
ea76eac

Choose a tag to compare

This release adds support for .elf files compiled without PIC support that are instead must be loaded at very specific addresses. elf2tab now does much better parsing of the .elf file to try to determine if fixed addresses are intended or not, and if so, includes those addresses in the TBF headers for that TBF. elf2tab also now tries to estimate how large of a protected region to include in the TBF so that both the starting address of the app and the fixed address of the app binary are likely to work.

This release also:

  • Updates to 2018 edition of Rust.
  • Better parses the .elf file to measure how much memory the app requires.