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:



        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:

* 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

Reply via email to