GNU Binutils 2.42 Released

Nick Clifton
Mon Jan 29 15:57:21 GMT 2024

        Hi Everyone,

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

aa54850ebda5064c72cd4ec2d9b056c294252991486350d9a97ab2a6dfdfaf12 binutils-2.42.tar.bz2
5d2a6c1d49686a557869caae08b6c2e83699775efd27505e01b2f4db1a024ffc binutils-2.42.tar.gz
5b721580adb5b4c8937795c8dd9b5ff5da8899ed8d4384d15b402b5b8a32410c binutils-2.42.tar.lz
f6e4d41fd5fc778b06b7891457b3620da5ecea1006c6a4a41ae998109f85a800 binutils-2.42.tar.xz

        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:

* Experimental support in GAS to synthesize CFI for ABI-conformant,
  hand-written asm using the new command line option --scfi=experimental on
  x86-64.  Only System V AMD64 ABI is supported.

* The readelf program has a new command line option --extra-sym-info which
  extends the information displayed by the --symbols option.  When enabled
  the display will include the name of the section referenced by a symbol's
  index field (st_shndx).  In the future more information may also be displayed
  when this option is enabled.

* objcopy --set-section-flags now supports "large" to set SHF_X86_64_LARGE
  for ELF x86-64 objects.

* objdump --visualize-jumps is now supported on s390 architecture.

* The s390 disassembly now optionally includes the instruction description as
  comment with the s390-specific disassembler option "insndesc":
  - For objdump it can be enabled with "objdump -M insndesc ...".
  - In gdb it can be enabled with "set disassembler-options insndesc".

* Add -z mark-plt/-z nomark-plt options to x86-64 ELF linker to mark PLT
  entries with DT_X86_64_PLT, DT_X86_64_PLTSZ and DT_X86_64_PLTENT dynamic
  tags.  Also added --enable-mark-plt configure option to mark PLT entries
  by default.

* Support Intel APX relocations.

* On RISC-V, add ld target option --[no-]check-uleb128.  Should rebuild the
  objects by binutils 2.42 and up if enabling the option and get warnings,
  since the non-zero addend of SUB_ULEB128 shouldn't be generated from .uleb128

* Add support for the KVX instruction set.

* A new linker script sorting directive has been added: REVERSE.  This reverses
  the order of the sorting.  It may be combined with either SORT_BY_NAME or

* Added --warn-execstack-objects to warn about executable stacks only when an
  input object file requests one.  Also added --error-execstack and
  --error-rxw-segments options to convert warnings about executable stacks and
  segments into errors.

  Also added --enable-error-execstack=[yes|no] and
  --enable-error-rwx-segments=[yes|no] configure options to set the default for
  converting warnings into errors.

* On LoongArch, the LoongArch ABI v2.30 (LoongArch ELF psABI v20231219) is
  now implemented. This includes new relocation types, and changed
  semantics for PC-relative relocations handling the higher half of 64-bit

* Add support for more AArch64 architecture extensions.

* Add support for more Intel architecture extensions.

* Add support for more RISC-V architecture extensions.

* The BPF assembler now uses semi-colon (;) to separate statements, and
  therefore they cannot longer be used to begin line comments. This matches the
  behavior of the clang/LLVM BPF assembler.

* The BPF assembler now allows using both hash (#) and double slash (//) to
  begin line comments.

        For more information see:

        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