Binutils 2.36 Release now available.

Nick Clifton
Sun Jan 24 11:43:44 GMT 2021

Hi Everyone,

We are pleased to announce that version 2.36 of the GNU Binutils project
sources have been released and are now available for download at:

  sha256 checksums:

  209ef690dc7ac28ca592daf7e87d6289222a61fb96104dd5d5e016133ed38e8d  binutils-2.36.tar.bz2
  4325bb7254692b4979fde1a7c7084772c1d348a70146046cb3a6ab8e18fce65f  binutils-2.36.tar.bz2.sig
  f67c632ccd81137d745681672bb4515a3411afa53722ccf01caa07d798fd8fb0  binutils-2.36.tar.gz
  d8688ac7111dd06d674a45b908e785a202b461084f2f09b52dc5cf0b5cd8629d  binutils-2.36.tar.gz.sig
  173738b732af5d474f1809af0f5a84454a4fc20d620e931e080697e85f802312  binutils-2.36.tar.lz
  f3b55adb72d93007787a1b83b975108a47f0c7ba7c24560a424477eae7950ca7  binutils-2.36.tar.lz.sig
  5788292cc5bbcca0848545af05986f6b17058b105be59e99ba7d0f9eb5336fb8  binutils-2.36.tar.xz
  e8b37d3f09146ca5bfa21c99151bca3ae90748f4279d7abb2a026b6d46247df8  binutils-2.36.tar.xz.sig

This release contains numerous bug fixes, and also the
following new features:

   New features in the Assembler:
     * When setting the link order attribute of ELF sections, it is now
       possible to use a numeric section index instead of symbol name.
     * Added a .nop directive to generate a single no-op instruction in
       a target neutral manner.  This instruction does have an effect on
       DWARF line number generation, if that is active.
     * Removed --reduce-memory-overheads and --hash-size as gas now
       uses hash tables that can be expand and shrink automatically.

       * Add support for AVX VNNI, HRESET, UINTR, TDX, AMX and Key
         Locker instructions. 
       * Support non-absolute segment values for lcall and ljmp.
       * Add {disp16} pseudo prefix to x86 assembler.
       * Configure with --enable-x86-used-note by default for Linux/x86.
       * Add support for Cortex-A78, Cortex-A78AE and Cortex-X1,
         Cortex-R82, Neoverse V1, and Neoverse N2 cores.
       * Add support for ETMv4 (Embedded Trace Macrocell), ETE (Embedded
         Trace Extension), TRBE (Trace Buffer Extension), CSRE (Call
         Stack Recorder Extension) and BRBE (Branch Record Buffer
         Extension) system registers.
       * Add support for Armv8-R and Armv8.7-A ISA extensions.
       * Add support for DSB memory nXS barrier, WFET and WFIT
         instruction for Armv8.7.
       * Add support for +csre feature for -march. Add CSR PDEC
         instruction for CSRE feature in AArch64.
       * Add support for +flagm feature for -march in Armv8.4 AArch64.
       * Add support for +ls64 feature for -march in Armv8.7
         AArch64. Add atomic 64-byte load/store instructions for this
       * Add support for +pauth (Pointer Authentication) feature for
         -march in AArch64.

    New features in the Linker:
      * Add --error-handling-script=<NAME> command line option to allow
        a helper script to be invoked when an undefined symbol or a
        missing library is encountered.  This option can be suppressed
        via the configure time switch: --enable-error-handling-script=no.

      * Add -z x86-64-{baseline|v[234]} to the x86 ELF linker to mark
        x86-64-{baseline|v[234]} ISA level as needed.

      * Add -z unique-symbol to avoid duplicated local symbol names.

      * The creation of PE format DLLs now defaults to using a more
        secure set of DLL characteristics.

      * The linker now deduplicates the types in .ctf sections.  The new 
         command-line option --ctf-share-types describes how to do this:
         its default value, share-unconflicted, produces the most compact

      * The linker now omits the "variable section" from .ctf sections
        by default, saving space.  This is almost certainly what you
        want unless you are working on a project that has its own
        analogue of symbol tables that are not reflected in the ELF

  New features in other binary tools:

      * The ar tool's previously unused l modifier is now used for
        specifying dependencies of a static library. The arguments of
        this option (or --record-libdeps long form option) will be
        stored verbatim in the __.LIBDEP member of the archive, which
        the linker may read at link time.

      * Readelf can now display the contents of LTO symbol table
        sections when asked to do so via the --lto-syms command line

      * Readelf now accepts the -C command line option to enable the
        demangling of symbol names.  In addition the --demangle=<style>,
        --no-demangle, --recurse-limit and --no-recurse-limit options
        are also now availale.

Our thanks go out to all of the binutils contributors, past and
present, for helping to make this release possible.

  Nick Clifton
  GNU Binutils Chief Maintainer

More information about the Binutils mailing list