GNU Binutils 2.41 release

Nick Clifton <[email protected]> Sun, 30 Jul 2023 15:57:12 +0100
Newsgroups gmane.org.fsf.announce
Message-ID <[email protected]>
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:

  https://ftp.gnu.org/gnu/binutils
  https://sourceware.org/pub/binutils/releases/

  Checksums:
  
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 src-release.sh 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
      section.

    * 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
      header.
  
  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: libsframe.so.1.  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:

  https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=gas/NEWS;;hb=refs/tags/binutils-2_41
  https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=ld/NEWS;hb=refs/tags/binutils-2_41
  https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;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.

Cheers
  Nick Clifton
  GNU Binutils Chief Maintainer