GNU Binutils 2.41 release

Nick Clifton
Sun Jul 30 14:57:12 GMT 2023

Hi Everyone,

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

a4c4bec052f7b8370024e60389e194377f3f48b56618418ea51067f67aaab30b  binutils-2.41.tar.bz2
2d046bc2ba09732a2da04f633aaab573e75c785c006dec1382d922532b60c1f7  binutils-2.41.tar.bz2.sig
48d00a8dc73aa7d2394a7dc069b96191d95e8de8f0da6dc91da5cce655c20e45  binutils-2.41.tar.gz
4b1de75756c497d913df84fdef8e7dfb977c77c8ad95ccfdaa2512bcc8983afe  binutils-2.41.tar.gz.sig
eab3444055882ed5eb04e2743d03f0c0e1bc950197a4ddd31898cd5a2843d065  binutils-2.41.tar.lz
2c13b50fc6e51d1044a6734e13e30c3cfdb02edd146552276e793b44a5e39c87  binutils-2.41.tar.lz.sig
ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450  binutils-2.41.tar.xz
6f72b25f95614ecbfd050ffdae628e00e90aec9073e30d8ab366e4fc9d1e9e2d  binutils-2.41.tar.xz.sig

As an experiment these tarballs were made with the new "-r <date>"
option supported by the script.  This attempts to make
reproducible tarballs by sorting the files and passing the
"--mtime=<date>" option to tar.  The date used for these tarballs was
obtained by running:

  git log -1 --format=%cd --date=format:%F bfd/version.m4

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

  In the assembler:
    * Add support for Intel FRED instructions.
    * Add support for Intel LKGS instructions.
    * Add support for Intel AMX-COMPLEX instructions.
    * Add SME2 support to the AArch64 port.
    * A new .insn directive is recognized by x86 gas.
    * Add support for LoongArch LSX instructions.
    * Add support for LoongArch LASX instructions.
    * Add support for LoongArch LVZ instructions.
    * Add support for LoongArch LBT instructions.
    * Initial LoongArch support for linker relaxation has been added.
    * Deprecate the LoongArch register aliases $v0, $v1, $x, $fv0 and $fv1.

  In the linker:
    * The linker now accepts a command line option of --remap-inputs
      <PATTERN>=<FILE> to relace any input file that matches <PATTERN> with
      <FILE>.  In addition the option --remap-inputs-file=<FILE> can be used to
      specify a file containing any number of these remapping directives.

    * The linker command line option --print-map-locals can be used to include
      local symbols in a linker map.  (ELF targets only).

    * For most ELF based targets, if the --enable-linker-version option is used
      then the version of the linker will be inserted as a string into the .comment

    * The linker script syntax has a new command for output sections: ASCIZ "string"
      This will insert a zero-terminated string at the current location.

    * Add command-line option, -z nosectionheader, to omit ELF section
  In the other binary tools:
    * The MIPS port now supports the Sony Interactive Entertainment Allegrex
      processor, used with the PlayStation Portable, which implements the MIPS
      II ISA along with a single-precision FPU and a few implementation-specific
      integer instructions.

    * Objdump's --private option can now be used on PE format files to display the
      fields in the file header and section headers.

    * New versioned release of libsframe:  This release introduces
      versioned symbols with version node name LIBSFRAME_1.0.  This release also
      updates the ABI in an incompatible way: this includes removal of
      sframe_get_funcdesc_with_addr API, change in the behavior of
      sframe_fre_get_ra_offset and sframe_fre_get_fp_offset APIs.

    * SFrame Version 2 is now the default (and only) format version supported by
      gas, ld, readelf and objdump.
    * Add command-line option, --strip-section-headers, to objcopy and strip to
      remove ELF section header from ELF file.

    * The RISC-V port now supports the following new standard extensions:
      - Zicond (conditional zero instructions)
      - Zfa (additional floating-point instructions)
      - Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
        Zvks, Zvksc, Zvkg, Zvkt (vector crypto instructions)

    * The RISC-V port now supports the following vendor-defined extensions:
       - XVentanaCondOps

    * The LoongArch port now supports the following extensions:
      - LSX (Loongson SIMD eXtension; 128-bit vectors)
      - LASX (Loongson Advanced SIMD eXtension; 256-bit vectors)
      - LVZ (Loongson Virtualization extension)
      - LBT (Loongson Binary Translation extension)

    * The LoongArch disassembly output received the following tweaks:
      - Colored output is now supported.
      - Some pseudo-instructions are now shown in place of the canonical forms,
        where semantics are equivalent. A disassembler option '-M no-aliases' is
        added to disable the new behavior.
      - Signed immediates are no longer printed with their hex representation.
      - Unrecognized instruction words are now shown with '.word'.

For more information see:;a=blob_plain;f=gas/NEWS;;hb=refs/tags/binutils-2_41;a=blob_plain;f=ld/NEWS;hb=refs/tags/binutils-2_41;a=blob_plain;f=binutils/NEWS;hb=refs/tags/binutils-2_41

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