commit 297afbeeb0a84f4d8af1ca24fe5cb33c29e881cc (HEAD -> gentoo/binutils-2.44, gentoo/gentoo/binutils-2.44)
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Thu May 22 11:29:49 2025 +0800
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu May 22 23:32:35 2025 +0200

    x86: Check MODRM for call and jmp in binutils older than 2.45
    
    When i386 glibc was assembled with commit:
    
    commit 11c2852449825a5f486f63bc40aabed56b7c04c1 (HEAD)
    Author: Jan Beulich <jbeulich@suse.com>
    Date:   Fri Feb 21 10:24:50 2025 +0100
    
        x86: widen @got{,pcrel} support to PUSH and APX IMUL
    
        With us doing the transformation to an immediate operand for MOV and
        various ALU insns, there's little reason to then not support the same
        conversion for the other two insns which have respective immediate
        operand forms. Unfortunately for IMUL (due to the 0F opcode prefix)
        there's no suitable relocation, so the pre-APX forms cannot be marked
        for relaxation in the assembler.
    
    "pushl main@GOT(%ebx)" in sysdeps/i386/start.S was assembled to
    
    1c: ff b3 00 00 00 00 push 0x0(%ebx) 1e: R_386_GOT32X main
    
    Linkers in binutils versions older than 2.45 treated it as jmp and relaxed
    it to
    
    22c: e9 cf ff ff ff   jmp    200 <main>
    231: 90               nop
    
    Update elf_i386_convert_load_reloc in binutils versions older than 2.45
    to check MODRM for call and jmp to work with i386 glibc assembled with
    binutils 2.45 or newer.  Do the same in elf_x86_64_convert_load_reloc.
    
            PR ld/32991
            * elf32-i386.c (elf_i386_convert_load_reloc): Check MODRM for
            call and jmp.
            * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    (cherry picked from commit 452f5511154ca02095a271cf085e17f536587207)

 bfd/elf32-i386.c   | 9 +++++++++
 bfd/elf64-x86-64.c | 9 +++++++++
 2 files changed, 18 insertions(+)

commit 597ba3cf2a7e2df2a277b347c0551a338b2313cf
Author:     Sam James <sam@gentoo.org>
AuthorDate: Wed May 14 06:38:56 2025 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu May 22 23:32:32 2025 +0200

    ld: fix C23 issue in vers7 test
    
    This test is UNSUPPORTED on arm64 with GCC 15 (which defaults to -std=gnu23)
    because it now prototypes "no arguments".
    
            PR ld/32546
            * ld-elfvers/vers7.c: Fix function definitions for C23.
    
    (cherry picked from commit 6ebd38072de4a77a2d28f04a79b64ab570532e98)
    (cherry picked from commit 4058d5a38a1dc97ac7d7fd4a9cac154b6217fcfa)

 ld/testsuite/ld-elfvers/vers7.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit c11ab158ec5bafd64a9276d87324a15bb4695f42
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Thu Mar 20 13:16:34 2025 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu May 22 23:32:29 2025 +0200

    dwarf: Dump .debug_loclists only for DWARF-5
    
    .debug_loclists section is loaded into debug_information as DWARF-5 debug
    info and .debug_loc section is loaded into debug_information as pre-DWARF-5
    debug info.  When dumping .debug_loc section, we should only process
    pre-DWARF-5 debug info in debug_information.  When dumping .debug_loclists
    section, we should only process DWARF-5 info in debug_information.
    
    binutils/
    
            PR binutils/32809
            * dwarf.c (display_debug_loc): Dump .debug_loclists only for
            DWARF-5.
    
    ld/
    
            PR binutils/32809
            * testsuite/ld-x86-64/dwarf4.s: New file.
            * testsuite/ld-x86-64/dwarf5a.s: Likewise.
            * testsuite/ld-x86-64/dwarf5b.s: Likewise.
            * testsuite/ld-x86-64/pr32809.d: Likewise.
            * testsuite/ld-x86-64/x86-64.exp: Run pr32809.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    (cherry picked from commit 82bdc396a40e64ea17acdba072bafbb3f620518f)
    (cherry picked from commit 33578177adc8c04f2341548d63dbf00c03e188a2)

 binutils/dwarf.c                  |  14 +-
 ld/testsuite/ld-x86-64/dwarf4.s   | 346 +++++++++++++++++++++++++++++++++
 ld/testsuite/ld-x86-64/dwarf5a.s  | 400 ++++++++++++++++++++++++++++++++++++++
 ld/testsuite/ld-x86-64/dwarf5b.s  | 345 ++++++++++++++++++++++++++++++++
 ld/testsuite/ld-x86-64/pr32809.d  |  71 +++++++
 ld/testsuite/ld-x86-64/x86-64.exp |   1 +
 6 files changed, 1175 insertions(+), 2 deletions(-)

commit 9a5555dcc9cf6bf8b09523c856c00f5ef0e8509b
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Thu Apr 24 10:01:29 2025 +0930
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu May 22 23:32:26 2025 +0200

    PR 32603, revert message changes in 0b7f992b78fe and 31e9e2e8d109
    
    This puts back %F into translated fatal error messages (and reverts a
    few other small changes), to not disturb translation work done for the
    2.44 branch.
    
    (cherry picked from commit fe459e33c676883b5f28cc96c00e242973d906a9)

 bfd/archive.c                        |   2 +-
 bfd/coff-aarch64.c                   |   2 +-
 bfd/coffgen.c                        |   2 +-
 bfd/elf-ifunc.c                      |   2 +-
 bfd/elf-m10300.c                     |   2 +-
 bfd/elf-properties.c                 |   4 +-
 bfd/elf.c                            |   2 +-
 bfd/elf32-arm.c                      |   2 +-
 bfd/elf32-avr.c                      |   2 +-
 bfd/elf32-csky.c                     |   2 +-
 bfd/elf32-frv.c                      |   2 +-
 bfd/elf32-hppa.c                     |   6 +-
 bfd/elf32-i386.c                     |   2 +-
 bfd/elf32-m68hc11.c                  |   2 +-
 bfd/elf32-m68hc12.c                  |   2 +-
 bfd/elf32-metag.c                    |   2 +-
 bfd/elf32-spu.c                      |   4 +-
 bfd/elf64-ia64-vms.c                 |   2 +-
 bfd/elf64-ppc.c                      |   4 +-
 bfd/elf64-x86-64.c                   |  10 ++--
 bfd/elflink.c                        |  12 ++--
 bfd/elfnn-aarch64.c                  |   4 +-
 bfd/elfnn-ia64.c                     |   2 +-
 bfd/elfnn-kvx.c                      |   2 +-
 bfd/elfnn-loongarch.c                |   2 +-
 bfd/elfxx-aarch64.c                  |   4 +-
 bfd/elfxx-sparc.c                    |   2 +-
 bfd/elfxx-x86.c                      |  44 +++++++-------
 bfd/linker.c                         |   2 +-
 bfd/reloc.c                          |   2 +-
 bfd/reloc16.c                        |   2 +-
 bfd/xcofflink.c                      |   2 +-
 ld/emulparams/call_nop.sh            |   6 +-
 ld/emulparams/cet.sh                 |   2 +-
 ld/emulparams/elf32mcore.sh          |   2 +-
 ld/emulparams/x86-64-lam.sh          |   6 +-
 ld/emulparams/x86-64-level-report.sh |   2 +-
 ld/emulparams/x86-64-level.sh        |   2 +-
 ld/emultempl/aarch64elf.em           |   6 +-
 ld/emultempl/aix.em                  |  41 ++++++-------
 ld/emultempl/armelf.em               |  10 ++--
 ld/emultempl/avrelf.em               |   2 +-
 ld/emultempl/beos.em                 |  18 +++---
 ld/emultempl/cr16elf.em              |   4 +-
 ld/emultempl/cskyelf.em              |   4 +-
 ld/emultempl/elf.em                  |  14 ++---
 ld/emultempl/hppaelf.em              |   4 +-
 ld/emultempl/kvxelf.em               |   4 +-
 ld/emultempl/loongarchelf.em         |   2 +-
 ld/emultempl/m68hc1xelf.em           |   2 +-
 ld/emultempl/m68kelf.em              |   4 +-
 ld/emultempl/metagelf.em             |   4 +-
 ld/emultempl/mipself.em              |   2 +-
 ld/emultempl/mmix-elfnmmo.em         |   2 +-
 ld/emultempl/nds32elf.em             |   6 +-
 ld/emultempl/nto.em                  |  10 ++--
 ld/emultempl/pe.em                   |  20 +++----
 ld/emultempl/pep.em                  |  16 ++---
 ld/emultempl/ppc32elf.em             |   4 +-
 ld/emultempl/ppc64elf.em             |  10 ++--
 ld/emultempl/riscvelf.em             |   2 +-
 ld/emultempl/s390.em                 |   2 +-
 ld/emultempl/scoreelf.em             |   2 +-
 ld/emultempl/spuelf.em               |  20 +++----
 ld/emultempl/tic6xdsbt.em            |   6 +-
 ld/emultempl/ticoff.em               |   2 +-
 ld/emultempl/v850elf.em              |   2 +-
 ld/emultempl/vms.em                  |   2 +-
 ld/emultempl/xtensaelf.em            |  12 ++--
 ld/emultempl/z80.em                  |   2 +-
 ld/ldcref.c                          |   8 +--
 ld/ldelf.c                           |  30 +++++-----
 ld/ldelfgen.c                        |  14 ++---
 ld/ldexp.c                           |  42 ++++++-------
 ld/ldfile.c                          |  14 ++---
 ld/ldgram.y                          |   6 +-
 ld/ldlang.c                          | 112 +++++++++++++++++------------------
 ld/ldlex.l                           |  10 ++--
 ld/ldmain.c                          |  44 +++++++-------
 ld/ldmisc.c                          |   6 +-
 ld/ldwrite.c                         |  20 +++----
 ld/lexsup.c                          |  64 ++++++++++----------
 ld/mri.c                             |   2 +-
 ld/pe-dll.c                          |  12 ++--
 ld/plugin.c                          |  27 ++++-----
 85 files changed, 405 insertions(+), 405 deletions(-)

commit 93edc14b51f3fe8389a73076d852caf3a5ef3adf
Author:     Simon Marchi <simon.marchi@polymtl.ca>
AuthorDate: Thu Feb 20 10:13:38 2025 -0500
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu May 22 23:32:23 2025 +0200

    gdb/compile: add missing entry in bfd_link_callbacks array
    
    clang 19 fails to build gdb with this error:
    
        /home/simark/src/binutils-gdb/gdb/compile/compile-object-load.c:302:3: error: cannot initialize a member subobject of type 'void (*)(const char *, ...) __attribute__((noreturn))' with an lvalue of type 'void (const char *, ...)'
          302 |   link_callbacks_einfo, /* einfo */
              |   ^~~~~~~~~~~~~~~~~~~~
    
    This illustrates that the bfd_link_callbacks array is missing an entry
    for the "fatal" callback, add it.
    
    The fatal field was added very recently, in d26161914 ("PR 32603, more
    ld -w misbehaviour").  We're lucky that the new callback was marked with
    the noreturn attribute and that clang checks that, otherwise this would
    have gone unnoticed.
    
    Change-Id: I68b63d89f2707359e6254da23bdc0776b0e03ba2
    (cherry picked from commit 1961e699340fc042ff2e5cbdb250694575679afe)
    (cherry picked from commit 37d12dd25d8235fa175d6220b9182000717d3130)

 gdb/compile/compile-object-load.c | 1 +
 1 file changed, 1 insertion(+)

commit 7d5e3091803e37a878b887a4991e201ddd61f1aa
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Sun Feb 16 23:34:55 2025 +1030
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu May 22 23:32:20 2025 +0200

    PR 32603, more ld -w misbehaviour
    
    Commit 8d97c1a53f3d claimed to replace all einfo calls using %F with
    a call to fatal.  It did so only for the ld/ directory.  This patch
    adds a "fatal" to linker callbacks, and replaces those calls in bfd/
    too.
    
    (cherry picked from commit d26161914cf286171b29767916a212685f9aadf3)
    (cherry picked from commit 31e9e2e8d1090da0c1da97a70005d8841fff8ddd)

 bfd/archive.c         |  4 ++--
 bfd/coff-aarch64.c    |  4 +---
 bfd/coffgen.c         |  2 +-
 bfd/elf-ifunc.c       |  4 ++--
 bfd/elf-m10300.c      |  4 ++--
 bfd/elf-properties.c  |  4 ++--
 bfd/elf.c             |  4 ++--
 bfd/elf32-arm.c       |  2 +-
 bfd/elf32-avr.c       |  4 ++--
 bfd/elf32-csky.c      |  2 +-
 bfd/elf32-frv.c       |  4 ++--
 bfd/elf32-hppa.c      |  6 ++---
 bfd/elf32-i386.c      |  4 ++--
 bfd/elf32-m68hc11.c   |  2 +-
 bfd/elf32-m68hc12.c   |  2 +-
 bfd/elf32-metag.c     |  2 +-
 bfd/elf32-spu.c       |  5 ++---
 bfd/elf64-ia64-vms.c  |  4 ++--
 bfd/elf64-ppc.c       |  4 ++--
 bfd/elf64-x86-64.c    | 14 ++++++------
 bfd/elflink.c         | 18 +++++++--------
 bfd/elfnn-aarch64.c   |  6 ++---
 bfd/elfnn-ia64.c      |  4 ++--
 bfd/elfnn-kvx.c       |  2 +-
 bfd/elfnn-loongarch.c |  4 ++--
 bfd/elfxx-aarch64.c   |  6 ++---
 bfd/elfxx-sparc.c     |  4 ++--
 bfd/elfxx-x86.c       | 62 +++++++++++++++++++++++++--------------------------
 bfd/linker.c          |  2 +-
 bfd/reloc.c           |  4 ++--
 bfd/reloc16.c         |  4 ++--
 bfd/xcofflink.c       |  2 +-
 include/bfdlink.h     |  3 +++
 ld/ldmain.c           |  1 +
 34 files changed, 101 insertions(+), 102 deletions(-)

commit d5a2fd151be89652ebcff421594d481f510f46bf
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Thu Feb 6 21:46:22 2025 +1030
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu May 22 23:32:17 2025 +0200

    PR 32603, ld -w misbehaviour
    
    ld -w currently causes segmentation faults and other misbehaviour
    since it changes einfo with %F in the format string (fatal error) to
    not exit.  This patch fixes that by introducing a new variant of einfo
    called "fatal" that always exits, and replaces all einfo calls using
    %F with a call to fatal without the %F.  I considered modifying einfo
    to inspect the first 2 or 4 chars in the format string, looking for
    %F, but decided that was probably a bad idea given that translators
    might have moved the %F.  It's also a little nicer to inform the
    compiler of a function that doesn't return.
    
    The patch also fixes some formatting nits, and makes use of %pA
    to print section names in a couple of places in aix.em.
    
    (cherry picked from commit 8d97c1a53f3dc9fd8e1ccdb039b8a33d50133150)
    (cherry picked from commit 0b7f992b78fe0984fc7d84cc748d0794e4a400e3)

 ld/emulparams/call_nop.sh            |   6 +-
 ld/emulparams/cet.sh                 |   2 +-
 ld/emulparams/elf32mcore.sh          |   2 +-
 ld/emulparams/x86-64-lam.sh          |   6 +-
 ld/emulparams/x86-64-level-report.sh |   2 +-
 ld/emulparams/x86-64-level.sh        |   2 +-
 ld/emultempl/aarch64elf.em           |   6 +-
 ld/emultempl/aix.em                  |  41 ++++++------
 ld/emultempl/armelf.em               |  10 +--
 ld/emultempl/avrelf.em               |   2 +-
 ld/emultempl/beos.em                 |  24 +++----
 ld/emultempl/cr16elf.em              |   4 +-
 ld/emultempl/cskyelf.em              |   4 +-
 ld/emultempl/elf.em                  |  16 ++---
 ld/emultempl/hppaelf.em              |   4 +-
 ld/emultempl/kvxelf.em               |   7 +-
 ld/emultempl/loongarchelf.em         |   4 +-
 ld/emultempl/m68hc1xelf.em           |   2 +-
 ld/emultempl/m68kelf.em              |   4 +-
 ld/emultempl/metagelf.em             |   4 +-
 ld/emultempl/mipself.em              |   2 +-
 ld/emultempl/mmix-elfnmmo.em         |   5 +-
 ld/emultempl/nds32elf.em             |   6 +-
 ld/emultempl/nto.em                  |  28 ++++----
 ld/emultempl/pe.em                   |  20 +++---
 ld/emultempl/pep.em                  |  16 ++---
 ld/emultempl/ppc32elf.em             |   4 +-
 ld/emultempl/ppc64elf.em             |  10 +--
 ld/emultempl/riscvelf.em             |   2 +-
 ld/emultempl/s390.em                 |   2 +-
 ld/emultempl/scoreelf.em             |   2 +-
 ld/emultempl/spuelf.em               |  20 +++---
 ld/emultempl/tic6xdsbt.em            |  10 ++-
 ld/emultempl/ticoff.em               |   4 +-
 ld/emultempl/v850elf.em              |   2 +-
 ld/emultempl/vms.em                  |   2 +-
 ld/emultempl/xtensaelf.em            |  12 ++--
 ld/emultempl/z80.em                  |   2 +-
 ld/ldcref.c                          |   8 +--
 ld/ldelf.c                           |  34 +++++-----
 ld/ldelfgen.c                        |  17 +++--
 ld/ldemul.c                          |   2 +-
 ld/ldexp.c                           |  42 ++++++------
 ld/ldfile.c                          |  14 ++--
 ld/ldgram.y                          |   6 +-
 ld/ldlang.c                          | 126 +++++++++++++++++------------------
 ld/ldlex.l                           |  14 ++--
 ld/ldmain.c                          |  44 ++++++------
 ld/ldmisc.c                          |  28 ++++++--
 ld/ldmisc.h                          |   1 +
 ld/ldwrite.c                         |  22 +++---
 ld/lexsup.c                          |  72 ++++++++++----------
 ld/mri.c                             |   2 +-
 ld/pe-dll.c                          |  12 ++--
 ld/plugin.c                          |  27 ++++----
 55 files changed, 379 insertions(+), 393 deletions(-)

commit e4b1a193ecafff47545c8e2bf1ed4ffabab9c8d9
Author:     Jens Remus <jremus@linux.ibm.com>
AuthorDate: Wed Apr 9 08:59:24 2025 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu May 22 23:32:14 2025 +0200

    s390: Add support for z17 as CPU name
    
    So far IBM z17 was identified as arch15.  Add the real name, as it has
    been announced. [1]
    
    [1]: IBM z17 announcement letter, AD25-0015,
         https://www.ibm.com/docs/en/announcements/z17-makes-more-possible
    
    gas/
            * config/tc-s390.c (s390_parse_cpu): Add z17 as alternate CPU
            name for arch15.
            * doc/c-s390.texi: Likewise.
            * doc/as.texi: Likewise.
    
    opcodes/
            * s390-mkopc.c (main): Add z17 as alternate CPU name for arch15.
    
    Signed-off-by: Jens Remus <jremus@linux.ibm.com>
    (cherry picked from commit 981fe5fd80faf511aa265e841a380c9b46be30e6)
    (cherry picked from commit 8cb98edf1238d984f99d882c85885e339922ae45)

 gas/config/tc-s390.c | 2 +-
 gas/doc/as.texi      | 3 ++-
 gas/doc/c-s390.texi  | 5 +++--
 opcodes/s390-mkopc.c | 3 ++-
 4 files changed, 8 insertions(+), 5 deletions(-)

commit 8f66f4079a8fd748f42bd10bb254fec233efa054
Author:     Haochen Jiang <haochen.jiang@intel.com>
AuthorDate: Wed Mar 19 16:52:35 2025 +0800
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu May 22 23:32:11 2025 +0200

    x86: Remove AVX10.2 256 bit rounding support
    
    Since we will support 512 bit on both P-core and E-core for AVX10, 256 bit
    rounding is not that useful because we currently have rounding feature
    directly on E-core now and no need to use 256-bit rounding as somehow
    a workaround. This patch will remove all the support and backport to
    Binutils 2.44.
    
    gas/ChangeLog:
    
            * NEWS: Mention support removal.
            * config/tc-i386.c (build_evex_prefix): Remove U bit encode.
            (check_VecOperands): Remove ymm check for rounding.
            (s_insn): Revise .insn comment.
            * testsuite/gas/i386/avx10_2-256-cvt-intel.d: Remove ymm
            rounding related test.
            * testsuite/gas/i386/avx10_2-256-cvt.d: Ditto.
            * testsuite/gas/i386/avx10_2-256-cvt.s: Ditto.
            * testsuite/gas/i386/avx10_2-256-miscs-intel.d: Ditto.
            * testsuite/gas/i386/avx10_2-256-miscs.d: Ditto.
            * testsuite/gas/i386/avx10_2-256-miscs.s: Ditto.
            * testsuite/gas/i386/avx10_2-256-satcvt-intel.d: Ditto.
            * testsuite/gas/i386/avx10_2-256-satcvt.d: Ditto.
            * testsuite/gas/i386/avx10_2-256-satcvt.s: Ditto.
            * testsuite/gas/i386/evex.d: Ditto.
            * testsuite/gas/i386/evex.s: Ditto.
            * testsuite/gas/i386/i386.exp: Ditto.
            * testsuite/gas/i386/x86-64-avx10_2-256-cvt-intel.d: Ditto.
            * testsuite/gas/i386/x86-64-avx10_2-256-cvt.d: Ditto.
            * testsuite/gas/i386/x86-64-avx10_2-256-cvt.s: Ditto.
            * testsuite/gas/i386/x86-64-avx10_2-256-miscs-intel.d: Ditto.
            * testsuite/gas/i386/x86-64-avx10_2-256-miscs.d: Ditto.
            * testsuite/gas/i386/x86-64-avx10_2-256-miscs.s: Ditto.
            * testsuite/gas/i386/x86-64-avx10_2-256-satcvt-intel.d: Ditto.
            * testsuite/gas/i386/x86-64-avx10_2-256-satcvt.d: Ditto.
            * testsuite/gas/i386/x86-64-avx10_2-256-satcvt.s: Ditto.
            * testsuite/gas/i386/x86-64-evex.d: Ditto.
            * testsuite/gas/i386/x86-64.exp: Ditto.
            * testsuite/gas/i386/avx10_2-rounding-intel.d: Removed.
            * testsuite/gas/i386/avx10_2-rounding-inval.l: Removed.
            * testsuite/gas/i386/avx10_2-rounding-inval.s: Removed.
            * testsuite/gas/i386/avx10_2-rounding.d: Removed.
            * testsuite/gas/i386/avx10_2-rounding.s: Removed.
            * testsuite/gas/i386/x86-64-avx10_2-rounding-intel.d: Removed.
            * testsuite/gas/i386/x86-64-avx10_2-rounding.d: Removed.
            * testsuite/gas/i386/x86-64-avx10_2-rounding.s: Removed.
    
    opcodes/ChangeLog:
    
            * i386-dis.c (struct instr_info): Remove U bit.
            (get_valid_dis386): Roll back to APX condition.
            * i386-opc.tbl: Remove ymm rounding support.
            * i386-tbl.h: Regenerated.
    
    (cherry picked from commit ed70d86b491bb5c8f091243e4b3836f1dff24317)

 gas/NEWS                                           |   4 +
 gas/config/tc-i386.c                               |  23 +-
 gas/testsuite/gas/i386/avx10_2-256-cvt-intel.d     |   1 -
 gas/testsuite/gas/i386/avx10_2-256-cvt.d           |   1 -
 gas/testsuite/gas/i386/avx10_2-256-cvt.s           |   2 -
 gas/testsuite/gas/i386/avx10_2-256-miscs-intel.d   |   3 -
 gas/testsuite/gas/i386/avx10_2-256-miscs.d         |   3 -
 gas/testsuite/gas/i386/avx10_2-256-miscs.s         |   6 -
 gas/testsuite/gas/i386/avx10_2-256-satcvt-intel.d  |  16 -
 gas/testsuite/gas/i386/avx10_2-256-satcvt.d        |  16 -
 gas/testsuite/gas/i386/avx10_2-256-satcvt.s        |  16 -
 gas/testsuite/gas/i386/avx10_2-rounding-intel.d    | 452 ---------------------
 gas/testsuite/gas/i386/avx10_2-rounding-inval.l    |  35 --
 gas/testsuite/gas/i386/avx10_2-rounding-inval.s    |  39 --
 gas/testsuite/gas/i386/avx10_2-rounding.d          | 450 --------------------
 gas/testsuite/gas/i386/avx10_2-rounding.s          | 351 ----------------
 gas/testsuite/gas/i386/evex.d                      |   2 -
 gas/testsuite/gas/i386/evex.s                      |   2 -
 gas/testsuite/gas/i386/i386.exp                    |   3 -
 .../gas/i386/x86-64-avx10_2-256-cvt-intel.d        |   1 -
 gas/testsuite/gas/i386/x86-64-avx10_2-256-cvt.d    |   1 -
 gas/testsuite/gas/i386/x86-64-avx10_2-256-cvt.s    |   2 -
 .../gas/i386/x86-64-avx10_2-256-miscs-intel.d      |   3 -
 gas/testsuite/gas/i386/x86-64-avx10_2-256-miscs.d  |   3 -
 gas/testsuite/gas/i386/x86-64-avx10_2-256-miscs.s  |   6 -
 .../gas/i386/x86-64-avx10_2-256-satcvt-intel.d     |  16 -
 gas/testsuite/gas/i386/x86-64-avx10_2-256-satcvt.d |  16 -
 gas/testsuite/gas/i386/x86-64-avx10_2-256-satcvt.s |  16 -
 .../gas/i386/x86-64-avx10_2-rounding-intel.d       | 452 ---------------------
 gas/testsuite/gas/i386/x86-64-avx10_2-rounding.d   | 450 --------------------
 gas/testsuite/gas/i386/x86-64-avx10_2-rounding.s   | 350 ----------------
 gas/testsuite/gas/i386/x86-64-evex.d               |   2 -
 gas/testsuite/gas/i386/x86-64.exp                  |   2 -
 opcodes/i386-dis.c                                 |  19 +-
 opcodes/i386-opc.tbl                               |  42 +-
 opcodes/i386-tbl.h                                 | 114 +++---
 36 files changed, 94 insertions(+), 2826 deletions(-)

commit c6d175667a38c20ebc107814be037a81851fe84e
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Thu Mar 13 11:52:00 2025 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu May 22 23:32:08 2025 +0200

    elf: Clear the SEC_ALLOC bit for NOLOAD note sections
    
    When generating an ELF output file, if a note section is marked as
    NOLOAD, clear the SEC_ALLOC bit so that it won't be treated as an
    SHF_ALLOC section, like a .bss style section.
    
            PR ld/32787
            * ld.texi: Update NOLOAD for ELF output files.
            * ldlang.c (lang_add_section): Clear the SEC_ALLOC bit for NOLOAD
            note sections for ELF output files.
            * testsuite/ld-elf/pr32787.d: New file.
            * testsuite/ld-elf/pr32787.t: Likewise.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    (cherry picked from commit d87be451ebbf831d44ac168ca9ea2b79ab5a79b3)
    (cherry picked from commit e1af7e590a5870164ed3bd2933d7131e919573fc)

 ld/ld.texi                    |  8 +++++++-
 ld/ldlang.c                   |  6 ++++--
 ld/testsuite/ld-elf/pr32787.d |  9 +++++++++
 ld/testsuite/ld-elf/pr32787.t | 12 ++++++++++++
 4 files changed, 32 insertions(+), 3 deletions(-)

commit 3e1bfc58c6c3433162c89b916e7a8b35b8d7042c
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Wed Mar 5 12:44:11 2025 +0800
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu May 22 23:32:05 2025 +0200

    ld: Pass -Wl,-z,lazy to compiler for i386 lazy binding tests
    
    Pass -Wl,-z,lazy to compiler for i386 tests which require lazy binding
    to support compilers which default to non-lazy binding.
    
            PR ld/32762
            * testsuite/ld-i386/i386.exp: Pass -Wl,-z,lazy for
            "Build ifunc-1a with PIE -z ibtplt" test.
            * testsuite/ld-i386/no-plt.exp: Pass -Wl,-z,lazy for
            "Build libno-plt-1b.so", "No PLT (dynamic 1a)",
            "No PLT (dynamic 1b)", "No PLT (dynamic 1c)",
            "No PLT (PIE 1e)", "No PLT (PIE 1f)", "No PLT (PIE 1g)" tests.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    (cherry picked from commit 78d7038b1579733dafd3e0541444f7626cf24a87)
    (cherry picked from commit 35db8c6dd2f57b43c7a1b1cde26c2cd7b98b76f4)

 ld/testsuite/ld-i386/i386.exp   |  2 +-
 ld/testsuite/ld-i386/no-plt.exp | 14 +++++++-------
 2 files changed, 8 insertions(+), 8 deletions(-)

commit 5b75681bd1e295c9e3b42170342e05d4539dad62
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Sun Feb 23 21:04:29 2025 +1030
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu May 22 23:09:19 2025 +0200

    PR 32731 ub sanitizer accessing filenames_reversed
    
    tic4x-coff and mcore-pe tickle this bug by a peculiarity of their
    default ld scripts.
    
            PR 32731
            * ldlang.c (lang_add_wild): Init filenames_reversed when no
            filespec.
    
    (cherry picked from commit a021382482a6c891d74d302a598688f447ae97e0)
    (cherry picked from commit bf088ee09a78cc86025139b8ff18d56a1e53605b)

 ld/ldlang.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 258478cce9b3a3a4f93e9ca84e55038c2be6e5a0
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Sun Feb 16 08:29:27 2025 +1030
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu May 22 23:08:55 2025 +0200

    score-elf gas SEGV
    
    Commit 3fb6f5457e5b typoed an array subscript.
    
            * config/tc-score7.c (s7_gen_reloc): Correct array subscript.
            * testsuite/gas/score/pr32700.d,
            * testsuite/gas/score/pr32700.s: New test.
            * testsuite/gas/score/relax.exp: Run it.
    
    (cherry picked from commit ac8a1a52cf757b64373dfca8efc0e3041648a9f5)
    (cherry picked from commit 78082591ec7032afeba8d041160d6c013a6d609a)

 gas/config/tc-score7.c            |  2 +-
 gas/testsuite/gas/score/pr32700.d | 14 ++++++++++++++
 gas/testsuite/gas/score/pr32700.s |  2 ++
 gas/testsuite/gas/score/relax.exp |  2 +-
 4 files changed, 18 insertions(+), 2 deletions(-)

commit 215e8f1aceeb6e8c19d3ae35d04a9193aadfa305
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Feb 14 09:33:18 2025 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Thu May 22 23:08:28 2025 +0200

    gas: fix rs_fill_nop listing
    
    In commit a0094f1a70e1 ("gas: make .nops output visible in listing") I
    was wrongly assuming fr_fix would be zero for rs_fill_nop, when that's
    only a side effect of listing_newline() inserting dummy frags, but only
    when file/line did actually change from the previous invocation. This is
    in particular not going to be true when the .nops directive isn't the
    first statement on a line.
    
    (cherry picked from commit d4c7ee9fbc1e9da2dbb92dc8eccba495b2104f21)

 gas/listing.c                   | 3 +--
 gas/testsuite/gas/i386/i386.exp | 1 +
 gas/testsuite/gas/i386/nop-7.l  | 6 ++++++
 gas/testsuite/gas/i386/nop-7.s  | 6 ++++++
 4 files changed, 14 insertions(+), 2 deletions(-)

commit 2624c59abbfe7f0b30cf1b7758426716c559deb7
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Thu May 15 07:30:06 2025 +0800
Commit:     Sam James <sam@gentoo.org>
CommitDate: Fri May 16 03:01:50 2025 +0100

    binutils: Don't complain plugin with all LTO sections removed
    
    When all LTO sections have been removed, the BFD lto_type is set to
    lto_non_ir_object by bfd_set_lto_type.  In this case, don't complain
    needing a plugin when seeing a LTO slim symbol.
    
    bfd/
    
            PR binutils/32967
            * archive.c (_bfd_compute_and_write_armap): Call
            bfd_lto_slim_symbol_p to check LTO slim symbol.
            * bfd-in2.h: Generated.
            * bfd.c (bfd_lto_slim_symbol_p): New.
    
    binutils/
    
            PR binutils/32967
            * nm.c (filter_symbols): Call bfd_lto_slim_symbol_p to check
            LTO slim symbol.
    
    ld/
    
            PR binutils/32967
            * testsuite/ld-plugin/lto-binutils.exp: Run PR binutils/32967
            tests.
            * testsuite/ld-plugin/strip-1a-s-all.nd: New file.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    (cherry picked from commit d1851edfe9d2469330568c289adb81ee7b128bfe)

 bfd/archive.c                            |  8 ++------
 bfd/bfd-in2.h                            | 10 ++++++++++
 bfd/bfd.c                                | 10 ++++++++++
 binutils/nm.c                            |  5 +----
 ld/testsuite/ld-plugin/lto-binutils.exp  | 19 +++++++++++++++++++
 ld/testsuite/ld-plugin/strip-1a-s-all.nd |  3 +++
 6 files changed, 45 insertions(+), 10 deletions(-)

commit cd5ef7654ce570100c1871eca82fe7bbff5f291e
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Wed May 14 16:43:22 2025 +0800
Commit:     Sam James <sam@gentoo.org>
CommitDate: Fri May 16 03:01:45 2025 +0100

    ld/testsuite: Use $plug_opt for --plugin option
    
    Use $plug_opt for --plugin usage, instead of running:
    
    run_host_cmd "$CC_FOR_TARGET" "-print-prog-name=liblto_plugin.so"
    
            PR binutils/21479
            * testsuite/ld-plugin/lto-binutils.exp (lto_plugin): Removed.
            Replace "--plugin $lto_plugin" with $plug_opt.
            * testsuite/ld-plugin/lto.exp (lto_plugin): Removed.
            Replace "--plugin $lto_plugin" with $plug_opt.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    (cherry picked from commit 23e60b094692e5964882042deb4d58362d82626d)

 ld/testsuite/ld-plugin/lto-binutils.exp | 10 ++++------
 ld/testsuite/ld-plugin/lto.exp          |  5 ++---
 2 files changed, 6 insertions(+), 9 deletions(-)

commit 0d93a88affcb0277272988b2dc345999671cc6d7
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Sun May 4 05:12:46 2025 +0800
Commit:     Sam James <sam@gentoo.org>
CommitDate: Fri May 16 03:01:40 2025 +0100

    strip: Add GCC LTO IR support
    
    Add GCC LTO IR support to strip by copying GCC LTO IR input as unknown
    object file.  Don't enable LTO plugin in strip unless all LTO sections
    should be removed, assuming all LTO sections will be removed with
    -R .gnu.lto_.*.  Add linker LTO tests for strip with --strip-unneeded
    and GCC LTO IR inputs.
    
    binutils/
    
            PR binutils/21479
            * objcopy.c: Include "plugin-api.h" and "plugin.h".
            (lto_sections_removed): New.
            (command_line_switch): Add OPTION_PLUGIN.
            (strip_options): Likewise.
            (strip_usage): Display "--plugin NAME".
            (copy_unknown_file): New function.
            (copy_unknown_object): Call copy_unknown_file.
            (copy_archive): Copy input LTO IR member as unknown object.
            (copy_file): Set input target to "plugin" for strip if it is
            unset unless all LTO sections should be removed.  Copy input
            LTO IR file as unknown file.
            (strip_main): Call bfd_plugin_set_program_name. Handle
            OPTION_PLUGIN.  Set lto_sections_removed to true if all GCC
            LTO sections should be removed.
            * doc/binutils.texi: Document --plugin for strip.
    
    ld/
    
            PR binutils/21479
            * testsuite/ld-plugin/lto-binutils.exp: New file.
            * testsuite/ld-plugin/strip-1a-fat.c: Likewise.
            * testsuite/ld-plugin/strip-1a-fat.rd: Likewise.
            * testsuite/ld-plugin/strip-1b-fat.c: Likewise.
            * testsuite/ld-plugin/strip-1b-fat.rd: Likewise.
            * testsuite/ld-plugin/strip-1a.c: Likewise.
            * testsuite/ld-plugin/strip-1b.c: Likewise.
            * testsuite/lib/ld-lib.exp (run_cc_link_tests): Add optional
            trailing ld options.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    (cherry picked from commit 717a38e9a02109fcbcb18bb2ec3aa251e2ad0a0d)

 binutils/doc/binutils.texi              |  21 ++
 binutils/objcopy.c                      | 115 ++++++++---
 ld/testsuite/ld-plugin/lto-binutils.exp | 341 ++++++++++++++++++++++++++++++++
 ld/testsuite/ld-plugin/strip-1a-fat.c   |   1 +
 ld/testsuite/ld-plugin/strip-1a-fat.rd  |   6 +
 ld/testsuite/ld-plugin/strip-1a.c       |   4 +
 ld/testsuite/ld-plugin/strip-1b-fat.c   |   1 +
 ld/testsuite/ld-plugin/strip-1b-fat.rd  |   5 +
 ld/testsuite/ld-plugin/strip-1b.c       |   3 +
 ld/testsuite/lib/ld-lib.exp             |   9 +-
 10 files changed, 481 insertions(+), 25 deletions(-)

commit f943def2c0b32b861cb504081fcc0f9155ac5e41 (tag: gentoo/binutils-2.44-1)
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: Wed Feb 22 20:05:35 2023 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Feb 3 19:02:43 2025 +0100

    Apply a similar libiberty fix as in 7d53105d for libopcodes and libgprofng
    
    Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29042
    Bug: https://bugs.gentoo.org/834720
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 gprofng/src/Makefile.am | 3 ++-
 gprofng/src/Makefile.in | 3 ++-
 opcodes/configure       | 4 ++--
 opcodes/configure.ac    | 4 ++--
 4 files changed, 8 insertions(+), 6 deletions(-)

commit d62158e5efee51a81bf4b8f3febd097009eeba44
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: Sat Jul 24 15:20:16 2021 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Feb 3 19:02:40 2025 +0100

    Gentoo: Give also libctf optionally a gentoo-specific soversion

 libctf/Makefile.am  | 14 +++++++++++++-
 libctf/Makefile.in  |  9 ++++++++-
 libctf/configure    | 31 +++++++++++++++++++++++++++++++
 libctf/configure.ac | 10 ++++++++++
 4 files changed, 62 insertions(+), 2 deletions(-)

commit 5847a91c219d26604b0eba59943bc7d1a4a22c89
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: Tue Jul 20 21:12:38 2021 +0200
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Feb 3 19:02:37 2025 +0100

    Gentoo: add --with-extra-soversion-suffix= option
    
    --with-extra-soversion-suffix= will allow Gentoo to
    distinct libbfd.so and libopcodes.so to have more precise
    SONAME.
    
    Today --enable-targets=all and --enable-64-bit-bfd change
    libbfd.so ABI:
    --enable-targets=all adds new symbols to the library
    --enable-64-bit-bfd modifies BFD_ARCH_SIZE default and
    changes sizes of integer parameters and fields to most
    APIs.
    
    --with-extra-soversion-suffix= will allow Gentoo to inject
    additional keys into SONAME to indicate ABI change and avoid
    hard to diagnose crashes when user reinstalls libbfd.so
    built with different flags (see https://bugs.gentoo.org/663690).
    
    Bug: https://bugs.gentoo.org/666100
    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
    
    Ported to binutils 2.37 by Andreas K. Hüttel <dilfridge@gentoo.org>

 bfd/Makefile.am  |  5 +++++
 bfd/Makefile.in  |  4 ++++
 bfd/configure    | 13 +++++++++++++
 bfd/configure.ac |  7 +++++++
 4 files changed, 29 insertions(+)

commit e2b401d89087a39c27e1bcd5a77f0ac81e97e334
Author:     Mike Frysinger <vapier@gentoo.org>
AuthorDate: Fri Jan 7 00:15:53 2005 -0500
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Feb 3 19:02:33 2025 +0100

    Gentoo: libiberty: install PIC version of libiberty.a
    
    This will install a PIC version of libiberty.a by overwriting the non-PIC
    version of libiberty.a while compiling.  We do this because there is no
    shared version of libiberty for random apps to link against which means if
    someone wants to use this in a shared library or PIE, they're out of luck.
    It's arguable whether people should be able to use this in a shared lib,
    but usage in PIE should be fine.  You could argue that this penalizes the
    non-PIE users, but the counter point is that people using this library in
    general are fairly low, and we'd rather have things work for all of them.
    
    (cherry picked from commit 112aff9ad3e2675556370c4281117a6df0a879d9)

 libiberty/Makefile.in | 1 +
 1 file changed, 1 insertion(+)

commit ff4e56e76604111b45af933975999fc97d9819ca
Author:     GDB Administrator <gdbadmin@sourceware.org>
AuthorDate: Mon Feb 3 00:01:33 2025 +0000
Commit:     GDB Admin <brobecker@adacore.com>
CommitDate: Mon Feb 3 00:01:33 2025 +0000

    Automatic date update in version.in

 bfd/version.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a68d096a0abebd945461e43c0cc9fb2057558c41
Author:     Nick Clifton <nickc@redhat.com>
AuthorDate: Sun Feb 2 13:46:57 2025 +0000
Commit:     Nick Clifton <nickc@redhat.com>
CommitDate: Sun Feb 2 13:46:57 2025 +0000

    Open the 2.44 branch for further development

 bfd/configure                  | 20 ++++++++++----------
 bfd/development.sh             |  2 +-
 bfd/po/bfd.pot                 |  2 +-
 bfd/version.m4                 |  2 +-
 binutils/configure             | 20 ++++++++++----------
 gas/configure                  | 20 ++++++++++----------
 gprof/configure                | 20 ++++++++++----------
 gprofng/configure              | 20 ++++++++++----------
 gprofng/doc/version.texi       |  4 ++--
 gprofng/libcollector/configure | 20 ++++++++++----------
 ld/configure                   | 20 ++++++++++----------
 opcodes/configure              | 20 ++++++++++----------
 12 files changed, 85 insertions(+), 85 deletions(-)
