Skip to content

ofrak-patch-maker-v4.0.0

Compare
Choose a tag to compare

4.0.0

Changed

  • Discard .altinstructions section when linking
  • Use SUBALIGN(0) for .bss sections
  • Force literal pool at end of function for AARCH64 using -mpc-relative-literal-loads

Added

  • -fno-optimize-sibling-calls flag added to AVR toolchain.
  • -fno-pic flag added to the GNU_10_Toolchain to omit GOTs in patches (FEMs) against binaries that aren't dynamically linked. (see #245)
  • Add methods to parse relocation symbols from object files.
  • Extend parsed symbol dictionary to include LinkableSymbolType.
  • Extend AssembledObject and BOM types to include relocation and unresolved symbols.
  • Add separate data sections support to LLVM toolchain, and add general flag for including subsections

Changed

  • Switch to standard GCC-like frontend for LLVM, which supports C attribute(weak)
  • Treat weak symbols as "undefined" in BOM, so alternative, strong definitions can be searched
  • Pass -mmcu value to the AVR preprocessor.
  • Raise a more descriptive error on toolchain failure.

Fixed

  • Toolchain preprocess() method now returns the path to the preprocessed file.