pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/binutils binutils: update to 2.36.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/82000aeec079
branches:  trunk
changeset: 445690:82000aeec079
user:      fcambus <fcambus%pkgsrc.org@localhost>
date:      Wed Jan 27 15:21:21 2021 +0000

description:
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.

diffstat:

 devel/binutils/Makefile                                 |   5 +-
 devel/binutils/PLIST.common                             |   3 +-
 devel/binutils/distinfo                                 |  14 ++---
 devel/binutils/patches/patch-bfd_elf.c                  |  21 -------
 devel/binutils/patches/patch-bfd_elfcode.h              |  45 -----------------
 devel/binutils/patches/patch-gold_testsuite_Makefile.in |   6 +-
 6 files changed, 13 insertions(+), 81 deletions(-)

diffs (145 lines):

diff -r ec707c17792b -r 82000aeec079 devel/binutils/Makefile
--- a/devel/binutils/Makefile   Wed Jan 27 14:13:53 2021 +0000
+++ b/devel/binutils/Makefile   Wed Jan 27 15:21:21 2021 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.95 2021/01/23 08:48:57 fcambus Exp $
+# $NetBSD: Makefile,v 1.96 2021/01/27 15:21:21 fcambus Exp $
 
-DISTNAME=      binutils-2.35.1
-PKGREVISION=   4
+DISTNAME=      binutils-2.36
 CATEGORIES=    devel
 MASTER_SITES=  ${MASTER_SITE_GNU:=binutils/}
 EXTRACT_SUFX=  .tar.bz2
diff -r ec707c17792b -r 82000aeec079 devel/binutils/PLIST.common
--- a/devel/binutils/PLIST.common       Wed Jan 27 14:13:53 2021 +0000
+++ b/devel/binutils/PLIST.common       Wed Jan 27 15:21:21 2021 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST.common,v 1.33 2021/01/23 08:52:56 fcambus Exp $
+@comment $NetBSD: PLIST.common,v 1.34 2021/01/27 15:21:21 fcambus Exp $
 ${MACHINE_GNU_PLATFORM}/bin/ar
 ${MACHINE_GNU_PLATFORM}/bin/as
 ${PLIST.ld}${MACHINE_GNU_PLATFORM}/bin/ld
@@ -79,6 +79,7 @@
 info/binutils.info
 ${PLIST.gprof}info/gprof.info
 ${PLIST.ld}info/ld.info
+lib/bfd-plugins/libdep.so
 lib/libbfd.la
 ${PLIST.CTF}lib/libctf-nobfd.la
 ${PLIST.CTF}lib/libctf.la
diff -r ec707c17792b -r 82000aeec079 devel/binutils/distinfo
--- a/devel/binutils/distinfo   Wed Jan 27 14:13:53 2021 +0000
+++ b/devel/binutils/distinfo   Wed Jan 27 15:21:21 2021 +0000
@@ -1,14 +1,12 @@
-$NetBSD: distinfo,v 1.39 2021/01/07 09:47:47 fcambus Exp $
+$NetBSD: distinfo,v 1.40 2021/01/27 15:21:21 fcambus Exp $
 
-SHA1 (binutils-2.35.1.tar.bz2) = df4eb943bf65df4bbbd0a001efcc98113423c5dd
-RMD160 (binutils-2.35.1.tar.bz2) = ed8ad923db716388b83b0234d41abc6beb01c9d6
-SHA512 (binutils-2.35.1.tar.bz2) = 2828cca9664ae172d6be5f1869f4c7cd39b63a4340c9a5d7c18f30fa06d4ff391394704720872f32f786053f14b27dcafd63c46db7984a8f6ec822f266bb2541
-Size (binutils-2.35.1.tar.bz2) = 32892584 bytes
+SHA1 (binutils-2.36.tar.bz2) = 40d6c5937b65c6f992a4a1fe57a0d3a59a4b3d5e
+RMD160 (binutils-2.36.tar.bz2) = 9b9fcd212a2e346e241b69055f52674ace572eed
+SHA512 (binutils-2.36.tar.bz2) = 84f1a5ed8c95dc8d2b065da8139e8208f82a2382fe9272013b45606db9a005e030a4a035b0150cae8c8533883d60615beb8ba1d1e72193a77f7dae9bcc4eb503
+Size (binutils-2.36.tar.bz2) = 33688521 bytes
 SHA1 (patch-bfd_cache.c) = e2d96bad350552eacdffa83532f9dc9e15ee9be9
-SHA1 (patch-bfd_elf.c) = afaea1633f3b7e31c3dc12a0fded5862f6de0dc5
-SHA1 (patch-bfd_elfcode.h) = db9bfcd489a1160609444bb03c3d08b92d3af8cb
 SHA1 (patch-gold_Makefile.in) = e01d973f9625a1653851f796c123efec37102fbd
 SHA1 (patch-gold_options.h) = 65a4cdb67cb4bef6a1891ca66a5fc80c5493c24e
 SHA1 (patch-gold_system.h) = 9b4130b5315763daa66e0a91a8be6d1df0d10344
-SHA1 (patch-gold_testsuite_Makefile.in) = 4babdbb89a989f3f1de66ad44a9603cbd9656f89
+SHA1 (patch-gold_testsuite_Makefile.in) = 24ede750675829281436d728d77073638f58d6b9
 SHA1 (patch-include_safe-ctype.h) = 66e636f8200ff5e9b4bfa0a5aee13cd072a23887
diff -r ec707c17792b -r 82000aeec079 devel/binutils/patches/patch-bfd_elf.c
--- a/devel/binutils/patches/patch-bfd_elf.c    Wed Jan 27 14:13:53 2021 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-$NetBSD: patch-bfd_elf.c,v 1.1 2021/01/07 09:47:47 fcambus Exp $
-
-Upstream fix for CVE-2020-35448.
-
-       PR 26574
-       * elf.c (_bfd_elf_slurp_secondary_reloc_section): Sanity check
-       sh_entsize.
-
---- bfd/elf.c.orig     2020-09-03 14:59:14.000000000 +0000
-+++ bfd/elf.c
-@@ -12527,7 +12527,9 @@ _bfd_elf_slurp_secondary_reloc_section (
-       Elf_Internal_Shdr * hdr = & elf_section_data (relsec)->this_hdr;
- 
-       if (hdr->sh_type == SHT_SECONDARY_RELOC
--        && hdr->sh_info == (unsigned) elf_section_data (sec)->this_idx)
-+        && hdr->sh_info == (unsigned) elf_section_data (sec)->this_idx
-+        && (hdr->sh_entsize == ebd->s->sizeof_rel
-+            || hdr->sh_entsize == ebd->s->sizeof_rela))
-       {
-         bfd_byte * native_relocs;
-         bfd_byte * native_reloc;
diff -r ec707c17792b -r 82000aeec079 devel/binutils/patches/patch-bfd_elfcode.h
--- a/devel/binutils/patches/patch-bfd_elfcode.h        Wed Jan 27 14:13:53 2021 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-$NetBSD: patch-bfd_elfcode.h,v 1.1 2021/01/07 09:47:47 fcambus Exp $
-
-Upstream fix for CVE-2020-35448.
-
-       PR 26574
-       * elfcode.h (elf_object_p): Sanity check section header offset.
-
---- bfd/elfcode.h.orig 2020-09-03 14:59:37.000000000 +0000
-+++ bfd/elfcode.h
-@@ -568,7 +568,7 @@ elf_object_p (bfd *abfd)
- 
-   /* If this is a relocatable file and there is no section header
-      table, then we're hosed.  */
--  if (i_ehdrp->e_shoff == 0 && i_ehdrp->e_type == ET_REL)
-+  if (i_ehdrp->e_shoff < sizeof (x_ehdr) && i_ehdrp->e_type == ET_REL)
-     goto got_wrong_format_error;
- 
-   /* As a simple sanity check, verify that what BFD thinks is the
-@@ -578,7 +578,7 @@ elf_object_p (bfd *abfd)
-     goto got_wrong_format_error;
- 
-   /* Further sanity check.  */
--  if (i_ehdrp->e_shoff == 0 && i_ehdrp->e_shnum != 0)
-+  if (i_ehdrp->e_shoff < sizeof (x_ehdr) && i_ehdrp->e_shnum != 0)
-     goto got_wrong_format_error;
- 
-   ebd = get_elf_backend_data (abfd);
-@@ -615,7 +615,7 @@ elf_object_p (bfd *abfd)
-       && ebd->elf_osabi != ELFOSABI_NONE)
-     goto got_wrong_format_error;
- 
--  if (i_ehdrp->e_shoff != 0)
-+  if (i_ehdrp->e_shoff >= sizeof (x_ehdr))
-     {
-       file_ptr where = (file_ptr) i_ehdrp->e_shoff;
- 
-@@ -807,7 +807,7 @@ elf_object_p (bfd *abfd)
-       }
-     }
- 
--  if (i_ehdrp->e_shstrndx != 0 && i_ehdrp->e_shoff != 0)
-+  if (i_ehdrp->e_shstrndx != 0 && i_ehdrp->e_shoff >= sizeof (x_ehdr))
-     {
-       unsigned int num_sec;
- 
diff -r ec707c17792b -r 82000aeec079 devel/binutils/patches/patch-gold_testsuite_Makefile.in
--- a/devel/binutils/patches/patch-gold_testsuite_Makefile.in   Wed Jan 27 14:13:53 2021 +0000
+++ b/devel/binutils/patches/patch-gold_testsuite_Makefile.in   Wed Jan 27 15:21:21 2021 +0000
@@ -1,10 +1,10 @@
-$NetBSD: patch-gold_testsuite_Makefile.in,v 1.1 2020/12/14 16:19:59 fcambus Exp $
+$NetBSD: patch-gold_testsuite_Makefile.in,v 1.2 2021/01/27 15:21:21 fcambus Exp $
 
 Don't use hard-coded -ldl.
 
---- gold/testsuite/Makefile.in.orig    2020-07-24 09:23:46.000000000 +0000
+--- gold/testsuite/Makefile.in.orig    2021-01-09 10:59:18.000000000 +0000
 +++ gold/testsuite/Makefile.in
-@@ -2794,7 +2794,7 @@ TEST_STRIP = $(top_builddir)/../binutils
+@@ -2810,7 +2810,7 @@ TEST_STRIP = $(top_builddir)/../binutils
  TEST_AR = $(top_builddir)/../binutils/ar
  TEST_NM = $(top_builddir)/../binutils/nm-new
  TEST_AS = $(top_builddir)/../gas/as-new



Home | Main Index | Thread Index | Old Index