Subject: CVS commit: pkgsrc/devel/binutils
From: Frederic Cambus
Date: 2021-01-27 16:21:21
Message id: 20210127152121.6CCC7FA90@cvs.NetBSD.org

Log Message:
binutils: update to 2.36.

Changes in 2.36:

* Update elfedit and readelf with LAM_U48 and LAM_U57 support.

* Nm has a new command line option: --ifunc-chars=CHARS.  This specifies a
  string of one or two characters.  The first character is used as the type
  character when displaying global ifunc symbols.  The second character, if
  present is used when displaying local ifunc symbols.

  In addition a new configure time option --enable-f-for-ifunc-symbols has been
  created, which if used will change nm's default characters for ifunc symbols
  from i (both local and global) to F (global) and f (local).

* 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 option.

* 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.

* Add support for the SHF_GNU_RETAIN ELF section flag.
  This flag specifies that the section should not be garbage collected by the
  linker.

gas changes in 2.36:

* Add support for Intel AVX VNNI instructions.

* Add support for Intel HRESET instruction.

* Add support for Intel UINTR instructions.

* Support non-absolute segment values for i386 lcall and ljmp.

* When setting the link order attribute of ELF sections, it is now possible to
  use a numeric section index instead of symbol name.

* Add support for Cortex-A78, Cortex-A78AE, Cortex-A78C and Cortex-X1 for
  AArch64 and ARM.
  Add support for Cortex-R82, Neoverse V1, and Neoverse N2 for ARM.

* Add support for ETMv4 (Embedded Trace Macrocell), ETE (Embedded Trace
  Extension), TRBE (Trace Buffer Extension)and BRBE (Branch Record Buffer
  Extension) system registers for AArch64.

* Add support for Armv8-R and Armv8.7-A AArch64.

* Add support for DSB memory nXS barrier, WFET and WFIT instruction for Armv8.7
  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 feature.

* Add support for +pauth (Pointer Authentication) feature for -march in
  AArch64.

* Add support for Intel TDX instructions.

* Add support for Intel Key Locker instructions.

* 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 {disp16} pseudo prefix to x86 assembler.

* Add support for Intel AMX instructions.

* Configure with --enable-x86-used-note by default for Linux/x86.

* Add support for the SHF_GNU_RETAIN flag, which can be applied to
  sections using the 'R' flag in the .section directive.
  SHF_GNU_RETAIN specifies that the section should not be garbage
  collected by the linker.  It requires the GNU or FreeBSD ELF OSABIs.

ld changes in 2.36:

* Add libdep plugin, for linking dependencies of static libraries that
  were recorded by ar in the __.LIBDEP archive member.

* 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 lam-u48 to x86-64 ELF linker to generate LAM_U48 property.

* Add -z lam-u57 to x86-64 ELF linker to enerate LAM_U57 property.

* Add -z lam-u48-report=[none|warning|error] to report missing LAM_U48
  property.

* Add -z lam-u57-report=[none|warning|error] to report missing LAM_U57
  property.

* Add -z lam-report=[none|warning|error] to report missing LAM_U48 and
  LAM_U57 properties.

* 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
  output.

* 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 symtabs.

* Add support for the SHF_GNU_RETAIN ELF section flag.
  This flag specifies that the section should not be garbage collected by the
  linker.

Files:
RevisionActionfile
1.96modifypkgsrc/devel/binutils/Makefile
1.34modifypkgsrc/devel/binutils/PLIST.common
1.40modifypkgsrc/devel/binutils/distinfo
1.2modifypkgsrc/devel/binutils/patches/patch-gold_testsuite_Makefile.in
1.1removepkgsrc/devel/binutils/patches/patch-bfd_elf.c
1.1removepkgsrc/devel/binutils/patches/patch-bfd_elfcode.h