Release 2.8.0 Cascades.

12 views
Skip to first unread message

Pete Chou

unread,
Jul 17, 2014, 11:16:38 PM7/17/14
to mcli...@googlegroups.com
Hello list,

MCLinker release 2.8.0 Cascades is available now!

The major changes are adding identical code folding (ICF) support, and improving the relaxation design for code size reduction. There is also some enhancement in this release for stability, GNU ld option compatibility, and build system. Please refer to the change log for the detailed information. :)

2014-07-18 Chinyen Chou <pete...@gmail.com>
        * Executive Summary:
        1. Migrate to LLVM 3.5svn (r212505 or later).
        2. Phase out the old `ld.mcld'.
        3. Support identical code folding (ICF).
        4. Improve relaxation design.

        * Command Line Options and Building System:
        1. Support `make unittests'.
        2. Support --icf=[none|all|safe] and --print-icf-sections.
        3. Support --print-gc-sections.
        4. Support --exclude-libs.
        5. Support -u/-undefined.

        * Target Backends:
        1. ARM: Support R_ARM_THM_JUMP8 relocation.
        2. ARM: Add functions to check if linking Thumb only or Thumb2 objects,
           and support getting max branch offset from attribute data.

        * Identical code folding:
        1. Add class IdenticalCodeFolding to support --icf=[none|all|safe]
        2. Support safe icf on ARM, X86, and X86_64 targets.
        3. Separate LDFileFormat::TEXT from LDFileFormat::Regular for folding
           candidate collection.
        4. Add LDFileFormat::Folded to represent the folded sections.
        5. Add TargetLDBackend::isSymbolPreemptible for icf.
        6. Add TargetLDBackend::mayHaveUnsafeFunctionPointerAccess and 
           Relocator::mayHaveFunctionPointerAccess for safe icf.
        7. Import cxa_demangle.cpp from libcxxabi for C++ ctors and dtors folding.

        * Relaxation:
        1. Support searching stub in a backward direction.


Thanks,
Pete
Reply all
Reply to author
Forward
0 new messages