commit 80b6c4d0d218a94c767ddc0befe85d1866116684 (HEAD -> gentoo/binutils-2.40, gentoo/gentoo/binutils-2.40)
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Aug 4 15:09:53 2023 +0930

    PR30697, ppc32 mix of local-dynamic and global-dynamic TLS
    
    This fixes miscounting of dynamic relocations on GOT entries when
    a) there are both local-dynamic and global-dynamic tls accesss for a
       given symbol, and
    b) the symbol is global with non-default visibility, and
    c) the __tls_get_addr calls aren't optimised away.
    
            PR 30697
    bfd/
            * elf32-ppc.c (allocate_dynrelocs): Correct local-dynamic
            reloc count.
    ld/
            * testsuite/ld-powerpc/tls32ldgd.d,
            * testsuite/ld-powerpc/tls32ldgd.s: New test.
            * testsuite/ld-powerpc/powerpc.exp: Run it.
    
    (cherry picked from commit ae33771224660dac25e64c3f70943a17bfab7681)
    (cherry picked from commit 391fd4d9ee5d2b78244cbcd57fc405738359b70b)

 bfd/elf32-ppc.c                     | 16 +++++++---------
 ld/testsuite/ld-powerpc/powerpc.exp |  1 +
 ld/testsuite/ld-powerpc/tls32ldgd.d | 13 +++++++++++++
 ld/testsuite/ld-powerpc/tls32ldgd.s | 16 ++++++++++++++++
 4 files changed, 37 insertions(+), 9 deletions(-)

commit fb921b2e7dc26dc9ab117c28d95352ad9cb75202 (tag: gentoo/binutils-2.40-6)
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jun 23 08:48:38 2023 +0930

    [GOLD] powerpc DT_RELACOUNT
    
    DT_RELACOUNT was calculated incorrectly, and relative relocs not
    sorted as they should be to the start of .rela.dyn, due to adding one
    particular class of dynamic reloc using the wrong "add" method.
    
            * powerpc.cc (Target_powerpc::Scan::global): Add relative
            dyn relocs for ADDR64 and similar using add_global_relative.
    
    (cherry picked from commit 027614abf11de9e79a335df4e1f9a788b7ab0063)
    (cherry picked from commit 7ad52a2357f1d6eb886f548bdb4dae7e15d5f827)

 gold/powerpc.cc | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit c2c6db2e9c63558096e058b61b130e5a77d566e1
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jun 21 22:44:09 2023 +0930

    PR30536, ppc64el gold linker produces unusable clang-16 binary
    
    In commit 0961e631575b, the fix for PR30217, make_lplt_section and
    make_brlt_section were changed to use rela_dyn_ rather than their own
    separate dynamic reloc sections.  This fails miserably whenever brlt_
    is needed for long branches, due to needing to iterate sizing and thus
    reset brlt_ sizes.
    
            PR 30536
            PR 30217
            * powerpc.cc (Target_powerpc::make_brlt_section): Don't use
            rela_dyn_.
    
    (cherry picked from commit dc808a2ebab337b5517add4c1aad298cf836c239)
    (cherry picked from commit 03f49a0619c5598eea80511efef5a88c4f7bb293)

 gold/powerpc.cc | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit addc43761d3e69b65c25071c887344de9fd3effd
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue May 23 13:52:23 2023 +0100

    Updated Swedish translation for the opcodes directory
    
    (cherry picked from commit 0dc8f96598ae1facd1933323e0c633b1ed3ca4e7)

 opcodes/ChangeLog |   4 +
 opcodes/po/sv.po  | 489 ++++++++++++++++++++++++++++--------------------------
 2 files changed, 255 insertions(+), 238 deletions(-)

commit 8bb47d922327052b15000b159eca865e775759f0 (tag: gentoo/binutils-2.40-5)
Author: Michael Matz <matz@suse.de>
Date:   Thu Feb 9 15:29:00 2023 +0100

    Fix PR30079: abort on mingw
    
    the early-out in wild_sort is not enough, it might still be
    that filenames are equal _and_ the wildcard list doesn't specify
    a sort order either.  Don't call compare_section then.
    
    Tested on all targets.
    
    (cherry picked from commit b7eab2a9d4f4e92692daf14b09fc95ca11b72e30)

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

commit 9b0f10610f1a5e7b22a60872349abbad5282f78e
Author: Michael Matz <matz@suse.de>
Date:   Tue Apr 18 16:16:01 2023 +0200

    section-select: Fix performance problem (PR30367)
    
    when using many wild-statements with non-wildcard filenames we
    were running into quadraticness via repeatedly using lookup_name
    on a long list of loaded files.  I've originally retained using
    lookup_name because that preserved existing behaviour most obviously.
    In particular in matching wild-statements when using a non-wildcard
    filename it matches against local_sym_name, not the filename member.
    If the wildspec would have an archive-spec or a wildcard it would use
    the filename member, though.  Also it would load the named file
    (and ignore it, as being not equal to the currently considered
    input-statement).
    
    Rewrite this to not use lookup_name but retain the comparison
    against local_sym_name with a comment to that effect.
    
            PR 30367
            * ldlang.c (walk_wild_section_match): Don't use lookup_name
            but directly compare spec and local_sym_name.
    
    (cherry picked from commit 8f5cd47bee6c07c33aeda758d8d8db5f81ae03e7)

 ld/ldlang.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

commit 758a6e42906e7be2ea4f58c8e4368f6a97836322
Author: Michael Matz <matz@suse.de>
Date:   Fri May 5 19:14:52 2023 +0200

    Fix linker performance regression
    
    Source: https://sourceware.org/bugzilla/show_bug.cgi?id=30358#c11
    (see also comments 15 and 16)
    
    Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30358
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 ld/ldlang.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit fd929c959a66dd6e2b17b296ff36574bc1ec4883
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Apr 24 13:07:06 2023 +0100

    New Georgian translation for the bfd sub-directory.
    
    (cherry picked from commit 85c5365527f0f9f0e7dc7e5b7c1e1149fdacc6c3)

 bfd/ChangeLog |    4 +
 bfd/po/ka.po  | 9348 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 9352 insertions(+)

commit c5a925964c14745d8a36d60ffa638d5191afc4e7
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Apr 19 10:37:02 2023 +0100

    Updated Hungarian translation for the gprof directory
    
    (cherry picked from commit 4671be001eb5a899ecac3e2686a92934000f8262)

 gprof/ChangeLog |  4 +++
 gprof/po/hu.po  | 88 ++++++++++++++++++++++++++++-----------------------------
 2 files changed, 48 insertions(+), 44 deletions(-)

commit 8d34aa5a21bd83330b582b153ca3f082552e3a35
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Mar 29 13:06:26 2023 -0700

    lto: Don't add indirect symbols for versioned aliases in IR
    
    Linker adds indirect symbols for versioned symbol aliases, which are
    created by ".symver foo, foo@FOO", by checking symbol type, value and
    section so that references to foo will be replaced by references to
    foo@FOO if foo and foo@FOO have the same symbol type, value and section.
    But in IR, since all symbols of the same type have the same value and
    section, we can't tell if a symbol is an alias of another symbol by
    their types, values and sections.  We shouldn't add indirect symbols
    for versioned symbol aliases in IR.
    
    bfd/
    
            PR ld/30281
            * elflink.c (elf_link_add_object_symbols): Don't add indirect
            symbols for ".symver foo, foo@FOO" aliases in IR.
    
    ld/
    
            PR ld/30281
            * testsuite/ld-plugin/lto.exp: Add PR ld/30281 test.
            * testsuite/ld-plugin/pr30281.t: New file.
            * testsuite/ld-plugin/pr30281.c: Likewise.
    
    (cherry picked from commit 79cfb928f552401e3cec7a208a87eb74aa0d2d8b)
    (cherry picked from commit ded035f913e4d8c989880cf5928b6b5fca9466ae)

 bfd/elflink.c                    | 9 ++++++++-
 ld/testsuite/ld-plugin/lto.exp   | 9 +++++++++
 ld/testsuite/ld-plugin/pr30281.c | 4 ++++
 ld/testsuite/ld-plugin/pr30281.t | 4 ++++
 4 files changed, 25 insertions(+), 1 deletion(-)

commit 8f053089ecb74bd805c63f01d06625b0befbf113
Author: Stam Markianos-Wright <stam.markianos-wright@arm.com>
Date:   Tue Jan 17 13:37:40 2023 +0000

    gas: arm: Change warning message to not reference specific A-class architecture revision
    
    We noticed that a warning message about the use of scalar fp16
    instructions being UNPREDICTABLE when conditionalized in an IT
    block referenced the specific A-class architecture revision
    ARMv8.2-A.
    Many of these instructions are now also part of ARMv8.1-M, so
    the warning message had become misleading.  Here we just change
    the message to not specify an architecture revision at all and
    update all testing accordingly.  This was done with a simple
    find-n-replace within the binutils sources.  No tests have
    regressed for the arm target.
    
    gas/ChangeLog:
    
            * config/tc-arm.c (do_scalar_fp16_v82_encode): Remove
            ARMv8.2-A from the warning message.
            (do_neon_movhf): Likewise
            * testsuite/gas/arm/armv8-2-fp16-scalar-bad.l: Likewise
            * testsuite/gas/arm/mve-vaddsub-it-bad.l: Likewise
            * testsuite/gas/arm/mve-vcvtne-it-bad.l: Likewise
            * testsuite/gas/arm/mve-vcvtne-it.d: Likewise
    
    (cherry picked from commit 74cb2ddeabcfe477eb93ee927a1921802c9c0594)

 gas/config/tc-arm.c                             |   4 +-
 gas/testsuite/gas/arm/armv8-2-fp16-scalar-bad.l | 420 ++++++++++++------------
 gas/testsuite/gas/arm/mve-vaddsub-it-bad.l      |   8 +-
 gas/testsuite/gas/arm/mve-vcvtne-it-bad.l       |   8 +-
 gas/testsuite/gas/arm/mve-vcvtne-it.d           |   8 +-
 5 files changed, 224 insertions(+), 224 deletions(-)

commit 3731cb8034b80a9cb378932f90457a90de7601ab
Author: Stam Markianos-Wright <stam.markianos-wright@arm.com>
Date:   Tue Jan 17 12:57:47 2023 +0000

    gas: arm: Fix a further IT-predicated vcvt issue in the presense of MVE vcvtn
    
    Previously we had experienced issues with assembling a "VCVTNE" instruction
    in the presence of the MVE architecture extension, because it could be
    interpreted both as:
    
    * The base instruction VCVT + NE for IT predication when inside an IT block.
    * The MVE instruction VCVTN + E in the Else of a VPT block.
    
    Given a C reproducer of:
    ```
    int test_function(float value)
    {
      int ret_val = 10;
      if (value != 0.0)
      {
        ret_val = (int) value;
      }
      return ret_val;
    }
    ```
    GCC generates a VCVTNE instruction based on the `truncsisf2_vfp`
    pattern, which will look like:
    `vcvtne.s32.f32 s-reg, s-reg`
    This still triggers an error due to being misidentified as "vcvtn+e"
    Similar errors were found with other type combinations and instruction
    patterns (these have all been added to the testing of this patch).
    
    This class of errors was previously worked around by:
    https://sourceware.org/pipermail/binutils/2020-August/112728.html
    which addressed this by looking at the operand types, however,
    that isn't adequate to cover all the extra cases that have been
    found.  Instead, we add some special-casing logic earlier when
    the instructions are parsed that is conditional on whether we are
    in a VPT block or not, when the instruction is parsed.
    
    gas/ChangeLog:
    
            * config/tc-arm.c (opcode_lookup): Add special vcvtn handling.
            * testsuite/gas/arm/mve-vcvtne-it-bad.l: Add further testing.
            * testsuite/gas/arm/mve-vcvtne-it-bad.s: Likewise.
            * testsuite/gas/arm/mve-vcvtne-it.d: Likewise.
            * testsuite/gas/arm/mve-vcvtne-it.s: Likewise.
    
    (cherry picked from commit 570b9c09bbf4c6715c59b9dd6b49fb4fcd89099a)

 gas/config/tc-arm.c                       | 27 +++++++++++++++++----------
 gas/testsuite/gas/arm/mve-vcvtne-it-bad.l | 15 +++++++++++++++
 gas/testsuite/gas/arm/mve-vcvtne-it-bad.s | 11 +++++++++++
 gas/testsuite/gas/arm/mve-vcvtne-it.d     | 23 ++++++++++++++++++++++-
 gas/testsuite/gas/arm/mve-vcvtne-it.s     | 18 +++++++++++++++++-
 5 files changed, 82 insertions(+), 12 deletions(-)

commit 4537a11229eb0bd8771603d4718da53cea847736 (tag: gentoo/binutils-2.40-4)
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Thu Mar 23 00:15:17 2023 +0000

    libctf: get the offsets of fields of unnamed structs/unions right
    
    We were failing to add the offsets of the containing struct/union
    in this case, leading to all offsets being relative to the unnamed
    struct/union itself.
    
    libctf/
            PR libctf/30264
            * ctf-types.c (ctf_member_info): Add the offset of the unnamed
            member of the current struct as necessary.
            * testsuite/libctf-lookup/unnamed-field-info*: New test.
    
    (cherry picked from commit bddd62e188c120600857209ede4a23ab3ccc4cac)

 libctf/ctf-types.c                                 |  5 +-
 .../libctf-lookup/unnamed-field-info-ctf.c         | 36 ++++++++++
 .../testsuite/libctf-lookup/unnamed-field-info.c   | 79 ++++++++++++++++++++++
 .../testsuite/libctf-lookup/unnamed-field-info.lk  |  2 +
 4 files changed, 121 insertions(+), 1 deletion(-)

commit f18f75d96d1b6e66719b34ac5ce1bb65255cd16b
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Mon Jan 23 13:11:32 2023 +0000

    libctf: fix assertion failure with no system qsort_r
    
    If no suitable qsort_r is found in libc, we fall back to an
    implementation in ctf-qsort.c.  But this implementation routinely calls
    the comparison function with two identical arguments. The comparison
    function that ensures that the order of output types is stable is not
    ready for this, misinterprets it as a type appearing more that once (a
    can-never-happen condition) and fails with an assertion failure.
    
    Fixed, audited for further instances of the same failure (none found)
    and added a no-qsort test to my regular testsuite run.
    
    libctf/:
            PR libctf/30013
            * ctf-dedup.c (sort_output_mapping): Inputs are always equal to
            themselves.
    
    (cherry picked from commit 7aa47eafcce45076ea22deda831acad2df19a8b1)

 libctf/ctf-dedup.c | 4 ++++
 1 file changed, 4 insertions(+)

commit c450a3ac9a3b39dcff66597bf0d0abd4fa8b1603
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Mar 22 10:13:46 2023 +1030

    coff_get_normalized_symtab bfd_release
    
    We can't free "internal" on errors, since bfd_coff_swap_sym_in may
    call bfd_alloc.  For example, _bfd_XXi_swap_sym_in may even create new
    sections, which use bfd_alloc'd memory.  If "internal" is freed, all
    more recently bfd_alloc'd memory is also freed.
    
            * coffgen.c (coff_get_normalized_symtab): Don't bfd_release on
            error.
    
    (cherry picked from commit bcefc6be9754d45fb9391993e6daaf01a68d9bd5)
    (cherry picked from commit 165accf07523db070eb25866a614b9a8f9c8e281)

 bfd/coffgen.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

commit 9e376383853b12c86faec2cd6bf419ff4e97ecc7
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Mar 15 18:07:44 2023 +1030

    PR30217, dynamic relocations using local dynamic symbols
    
    glibc's ld.so ignores local dynamic symbols.  It's been that way
    forever.  We therefore can't use them on dynamic relocations.  Fixing
    that problem uncovered another problem in sorting of dynamic relocs,
    caused no doubt by copying make_iplt_section (where we don't want
    reloc sorting by the generic gold function, we want iplt relocs last)
    to make_lplt_section (where we do want sorting).
    
            PR 30217
            * powerpc.cc (branch_needs_plt_entry): New function.
            (Target_powerpc::plt_off): Use it here..
            (Target_powerpc::Scan::global): ..and here to correct PLT16 reloc
            handling for forced-local global symbols.
            (Output_data_plt_powerpc::add_entry): Rename "stash"
            parameter "is_local".  Emit relative relocs for globals that
            are forced local, and don't set_needs_dynsym_entry.
            (Target_powerpc::make_lplt_section): Don't create a separate
            reloc section, use rela_dyn.
            (Target_powerpc::make_brlt_section): Likewise.
    
    (cherry picked from commit 0961e631575b0a1eafccf32fbde56d456aef9169)
    (cherry picked from commit af35798e957c457b6de8be01f877040c2cbeeec2)

 gold/powerpc.cc | 63 +++++++++++++++++++++++++++++++++++----------------------
 1 file changed, 39 insertions(+), 24 deletions(-)

commit 7a4c72b2692654c609afe803b940b8bc940a22e2
Author: Andreas K. Hüttel <dilfridge@gentoo.org>
Date:   Wed Feb 22 20:05:35 2023 +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 fa10adef9f7782c7ce252665edc5f89857631fc5 (tag: gentoo/binutils-2.40-3)
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Mar 6 10:43:53 2023 +1030

    PR30198, Assertion and segfault when linking x86_64 elf and coff
    
            PR 30198
            * coff-x86_64.c (coff_amd64_reloc): Set *error_message when
            returning bfd_reloc_dangerous.  Also check that __ImageBase is
            defined before accessing h->u.def.
    
    (cherry picked from commit 889d15d574a8c43c44dc0983343897e47874a2b6)
    (cherry picked from commit 18bb604f1e13321347a8919eaec67db36bee76b4)

 bfd/coff-x86_64.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

commit c982dbb491b954eaac91ffbf6088492927dc220b
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Feb 23 18:23:12 2023 +1030

    PR30155, ld segfault in _bfd_nearby_section
    
    The segfault was a symptom of messing with the absolute section next
    field, confusing bfd_section_removed_from_list in linker.c:fix_syms.
    That's not all that was going wrong.  The INSERT list of output
    sections was being inserted into itself, ie. lost from the main
    list of linker statements.
    
            PR 30155
            * ldlang.c (process_insert_statements): Handle pathological
            case of the insert script being inserted before the first
            output section statement in the default script.
            (output_prev_sec_find): Don't test section owner here.
            (insert_os_after): Change parameter to a list union pointer.
            (lang_insert_orphan): Test section owner here and adjust
            insert_os_after call.
    
    (cherry picked from commit 18e7a6587e3f111e9367ea707f9eb21acf4b9af7)
    (cherry picked from commit 34a2b4a0e217476e302f6bcfe01fd1fbb93a93f1)

 ld/ldlang.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 52 insertions(+), 13 deletions(-)

commit f7ffd1d09f5370703f69061ced9d06a76b83d5e4
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Feb 16 20:47:44 2023 +1030

    PR30046, power cmpi leads to unknown architecture
    
    PowerPC ELF always uses bfd_arch_powerpc, so we shouldn't allow the
    gas -mpwr, -mpwr2 or -mpwrx options to choose bfd_arch_rs6000.
    Given the possible values of ppc_cpu, I think the as_fatal at the end
    of ppc_arch will never be reached, so it can be deleted and the code
    simplified a little.
    
            PR 30046
            * config/tc-ppc.c (ppc_arch): Return bfd_arch_powerpc for ELF.
            Delete dead code.
    
    (cherry picked from commit 4d826e132ccc38c3081209bf3a7a107f8b23ffd4)
    (cherry picked from commit 3d0046f39aa097e957c97f88ba24ccd87968f379)

 gas/config/tc-ppc.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit c4dac798487426902366d5c065dfd3da7ab27adf
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Feb 6 12:46:52 2023 +1030

    ppc32 and "LOAD segment with RWX permissions"
    
    When using a bss-plt we'll always trigger the RWX warning, which
    disturbs gcc test results.  On the other hand, there may be reason to
    want the warning when gcc is configured with --enable-secureplt.
    So turning off the warning entirely for powerpc might not be the best
    solution.  Instead, we'll turn off the warning whenever a bss-plt is
    generated, unless the user explicitly asked for the warning.
    
    bfd/
            * elf32-ppc.c (ppc_elf_select_plt_layout): Set
            no_warn_rwx_segments on generating a bss plt, unless explicity
            enabled by the user.  Also show the bss-plt warning when
            --warn-rwx-segments is given without --bss-plt.
    include/
            * bfdlink.h (struct bfd_link_info): Add user_warn_rwx_segments.
    ld/
            * lexsup.c (parse_args): Set user_warn_rwx_segments.
            * testsuite/ld-elf/elf.exp: Pass --secure-plt for powerpc to
            the rwx tests.
    
    (cherry picked from commit 84789002905d6db444ee76431705c86cbcde5616)
    (cherry picked from commit 5c87fb1d59b8414796016af7e5ea8c97675e1141)

 bfd/elf32-ppc.c             | 17 ++++++++++++-----
 include/bfdlink.h           |  3 +++
 ld/lexsup.c                 |  2 ++
 ld/testsuite/ld-elf/elf.exp |  8 ++++++++
 4 files changed, 25 insertions(+), 5 deletions(-)

commit ac6e590c46736766157abb70de6c9111071a55f6
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Feb 27 12:49:24 2023 +0000

    Updated Serbian translations for gold, gprof and opcodes sub-directories
    
    (cherry picked from commit 11f5c1ebf148a5baaaeafb9730b35ebaf18e0a2b)

 gold/ChangeLog    |   4 +
 gold/po/sr.po     | 608 ++++++++++++++++++++++++++++--------------------------
 gprof/ChangeLog   |   4 +
 gprof/po/sr.po    | 107 +++++-----
 opcodes/ChangeLog |   4 +
 opcodes/po/sr.po  | 601 ++++++++++++++++++++++++++---------------------------
 6 files changed, 679 insertions(+), 649 deletions(-)

commit c1cdefa4ead4605f0d2a9f0d4201d31a1df886e7
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Feb 20 12:32:30 2023 +0000

    Updated translations for the bfd and gprof directories.
    
    (cherry picked from commit 38e455b1d9a2a38d87a37180795c0872e08a9bf4)

 bfd/ChangeLog   |    4 +
 bfd/po/sr.po    | 2918 +++++++++++++++++++++++++++++--------------------------
 gprof/ChangeLog |    4 +
 gprof/po/ms.po  |   90 +-
 4 files changed, 1568 insertions(+), 1448 deletions(-)

commit bf0d3938604cf8d704ba05c8781f50343ef85142
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Feb 14 08:35:02 2023 +0100

    gas: correct symbol name comparison in .startof./.sizeof. handling
    
    In 162c6aef1f3a ("gas: fold symbol table entries generated for
    .startof.() / .sizeof.()") I screwed up quite badly, inverting the case
    sensitive and case insensitive comparison functions.
    
    (cherry picked from commit b2bc62b7b4e7638c3a249d2d2728ceb4d5f2b22c)

 gas/expr.c                      | 4 ++--
 gas/testsuite/gas/elf/startof.d | 2 ++
 gas/testsuite/gas/elf/startof.s | 3 +++
 3 files changed, 7 insertions(+), 2 deletions(-)

commit ef0431d27fc8d2ac0d02736bd7dd0349a62a9602
Author: Clément Chigot <chigot@adacore.com>
Date:   Tue Jan 3 14:24:43 2023 +0100

    configure: remove dependencies on gmp and mpfr when gdb is disabled
    
    Since 991180627851801f1999d1ebbc0e569a17e47c74, the configure checks
    about GMP and MPFR for gdb builds have been moved to the toplevel
    configure.
    However, it doesn't take into account the --disable-gdb option. Meaning
    that a build without gdb will require these libraries even if not
    needed.
    
    ChangeLog:
    
            * configure.ac: Skip GMP and MPFR when --disable-gdb is
            provided.
            * configure: Regenerate.
    
    (cherry picked from commit 5fb0e308577143ceb313fde5538dc9ecb038f29f)
    (cherry picked from commit 17294931e3e361bee6810b1a39493e214b38c5e5)

 configure    | 4 +++-
 configure.ac | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

commit 7cbd57742c76e33f6a376ce7ee93a256f3a9d05b (tag: gentoo/binutils-2.40-2)
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Feb 6 10:48:59 2023 +1030

    Regen config files
    
    For the version update to 2.40.0
    
    (cherry picked from commit 1fc096a4c590f28e0efb1823cdca653f2db9de74)

 bfd/configure                  | 20 ++++++++++----------
 binutils/configure             | 20 ++++++++++----------
 gas/configure                  | 20 ++++++++++----------
 gprof/configure                | 20 ++++++++++----------
 gprofng/configure              | 20 ++++++++++----------
 gprofng/doc/version.texi       |  8 ++++----
 gprofng/libcollector/configure | 20 ++++++++++----------
 intl/configure                 |  3 +++
 ld/configure                   | 20 ++++++++++----------
 opcodes/configure              | 20 ++++++++++----------
 10 files changed, 87 insertions(+), 84 deletions(-)

commit c15e70a0f42eb53f10ce4a98093cc942e1fae7be
Author: Romain Geissler <romain.geissler@amadeus.com>
Date:   Sun Feb 5 13:56:34 2023 +0000

    Pass $JANSSON_LIBS and $ZSTD_LIBS to ld-bootstrap/bootrap.exp
    
    (cherry picked from commit e1815414077347097e5bf0d75162add955e241d9)

 ld/Makefile.am                          | 1 +
 ld/Makefile.in                          | 1 +
 ld/testsuite/ld-bootstrap/bootstrap.exp | 4 ++--
 3 files changed, 4 insertions(+), 2 deletions(-)

commit 6f5b0a2a8ca14072aa0bfa70cabc7e9198863cf6
Author: Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
Date:   Fri Feb 3 11:17:49 2023 -0600

    bpf: fix error conversion from long unsigned int to unsigned int [-Werror=overflow]
    
    Regenerating BPF target using the maintainer mode emits:
    .../opcodes/bpf-opc.c:57:11: error: conversion from ‘long unsigned int’ to ‘unsigned int’ changes value from ‘18446744073709486335’ to ‘4294902015’ [-Werror=overflow]
      57 |   64, 64, 0xffffffffffff00ff, { { F (F_IMM32) }, { F (F_OFFSET16) }, { F (F_SRCLE) }, { F (F_OP_CODE) }, { F (F_DSTLE) }, { F (F_OP_SRC) }, { F (F_OP_CLASS) }, { 0 } }
    
    The use of a narrow size to handle the mask CGEN in instruction format
    is causing this error.  Additionally eBPF `call' instructions
    constructed by expressions using symbols (BPF_PSEUDO_CALL) emits
    annotations in `src' field of the instruction, used to identify BPF
    target endianness.
    
    cpu/
            * bpf.cpu (define-call-insn): Remove `src' field from
            instruction mask.
    
    include/
            *opcode/cge.h (CGEN_IFMT): Adjust mask bit width.
    
    opcodes/
            * bpf-opc.c: Regenerate.
    
    (cherry picked from commit 7f6ebecd56e690012b05af0a492280765b17f186)
    (cherry picked from commit 3e888977f165594cf44dbe8f67e3a4960b22c11f)

 cpu/bpf.cpu           |  2 +-
 include/opcode/cgen.h |  2 +-
 opcodes/bpf-opc.c     | 54 +++++++++++++++++++++++++++------------------------
 opcodes/cgen-dis.c    |  2 +-
 4 files changed, 32 insertions(+), 28 deletions(-)

commit 93795a38f082ddccb63e4e0e3d58637b198b9162
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jan 31 13:02:51 2023 +0000

    Updated Swedish translation for the binutils sub-directory
    
    (cherry picked from commit 65dbb94214516c915df5e0fe554ea165557e7ec7)

 binutils/ChangeLog |    4 +
 binutils/po/sv.po  | 1072 +++++++++++++++-------------------------------------
 2 files changed, 314 insertions(+), 762 deletions(-)

commit 84da46baa531b45060eb4acf064cc0858f3e63c2
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Jan 31 09:47:22 2023 +0100

    RISC-V: make C-extension JAL available again for (32-bit) assembly
    
    Along with the normal JAL alias, the C-extension one should have been
    moved as well by 839189bc932e ("RISC-V: re-arrange opcode table for
    consistent alias handling"), for the assembler to actually be able to
    use it where/when possible.
    
    Since neither this nor any other compressed branch insn was being tested
    so far, take the opportunity and introduce a new testcase covering those.
    
    (cherry picked from commit 27f59ec47a18277b6ea3548f405263ef558f5217)

 gas/config/tc-riscv.c                 |  3 +++
 gas/testsuite/gas/riscv/c-branch-na.d | 20 ++++++++++++++++++++
 gas/testsuite/gas/riscv/c-branch.d    | 19 +++++++++++++++++++
 gas/testsuite/gas/riscv/c-branch.s    | 11 +++++++++++
 opcodes/riscv-opc.c                   |  2 +-
 5 files changed, 54 insertions(+), 1 deletion(-)

commit a25dd07f1c47d008dce93eff9f1b382c328db5c0
Author: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
Date:   Wed Jan 25 19:21:38 2023 -0800

    gprofng: PR30043 libgprofng.so.* are installed to a wrong location
    
    gprofng/ChangeLog
    2023-01-25  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
    
            PR gprofng/30043
            PR gprofng/28972
            * src/Makefile.am: Use lib_LTLIBRARIES instead of pkglib_LTLIBRARIES.
            * src/Makefile.in: Rebuild.
    
    (cherry picked from commit edd36b26f3506eeb259534ba2493e15c728cd280)

 gprofng/src/Makefile.am |  7 +----
 gprofng/src/Makefile.in | 76 +++++++++++++++++++++++--------------------------
 2 files changed, 37 insertions(+), 46 deletions(-)

commit 5304effe742c30f388e805065f0dd72844ce5305
Author: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
Date:   Fri Jan 20 15:39:55 2023 -0800

    gprofng: PR29521 [docs] man pages are not in the release tarball
    
    gprofng/ChangeLog
    2023-01-20  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
    
            PR gprofng/29521
            * configure.ac: Check if $MAKEINFO and $HELP2MAN are missing.
            * Makefile.am: Build doc if $MAKEINFO exists.
            * doc/gprofng.texi: Update documentation for gprofng.
            * doc/Makefile.am: Build gprofng.1.
            * src/Makefile.am: Move the build of gprofng.1 to doc/Makefile.am.
            * configure: Rebuild.
            * Makefile.in: Rebuild.
            * doc/Makefile.in: Rebuild.
            * src/Makefile.in: Rebuild.
    
    (cherry picked from commit c6e269febbc946a54ed9dbbb2dc70feba6017607)

 gprofng/Makefile.am      |   2 +-
 gprofng/Makefile.in      |   2 +-
 gprofng/configure        |  79 +++++++++++++++++++---
 gprofng/configure.ac     |  21 ++++--
 gprofng/doc/Makefile.am  |  24 ++++++-
 gprofng/doc/Makefile.in  |  93 ++++++++++++++++++++++----
 gprofng/doc/gprofng.texi | 169 +++++++++++++++++++++++++++++++++++++++++++++++
 gprofng/src/Makefile.am  |   8 +--
 gprofng/src/Makefile.in  |   8 +--
 9 files changed, 364 insertions(+), 42 deletions(-)

commit b31b5911329b0a0d7a2db99501250ffca443483d
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jan 23 10:53:53 2023 +0000

    Updated Swedish translation for the binutils sub-directory
    
    (cherry picked from commit cca59642c9b03000d345d5dd09afa861135224ff)

 binutils/ChangeLog |   4 +
 binutils/po/sv.po  | 646 +++++++++++++++++++++--------------------------------
 2 files changed, 257 insertions(+), 393 deletions(-)

commit 1294043f9e6c4f34528203a6ba56a64efa495aa1
Author: Indu Bhagat <indu.bhagat@oracle.com>
Date:   Wed Jan 18 23:17:49 2023 -0800

    toplevel: Makefile.def: add install-strip dependency on libsframe
    
    As noted in PR libsframe/30014 - FTBFS: install-strip fails because
    bfdlib relinks and fails to find libsframe, the install time
    dependencies of libbfd need to be updated.
    
            PR libsframe/30014
            * Makefile.def: Reflect that libsframe needs to installed before
            libbfd.  Reorder a bit to better track libsframe dependencies.
            * Makefile.in: Regenerate.
    
    (cherry picked from commit b8d21eb0cd10d6127e77cc437d82e949adb0c454)
    (cherry picked from commit bcea253f5fa194e57f9564e8461c718e228bd26e)

 Makefile.def | 5 ++++-
 Makefile.in  | 3 ++-
 2 files changed, 6 insertions(+), 2 deletions(-)

commit 50d04807ab97f802cdb7d8014913ea5c63f02c7e
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jan 17 12:02:56 2023 +0000

    Fix version number snafu in some configuration files: 2.40.00 should be 2.40
    
    (cherry picked from commit 59706683feafb6252d0ad369cf8759f75fd147be)

 binutils/configure             | 20 ++++++++++----------
 gprof/configure                | 20 ++++++++++----------
 gprofng/configure              | 20 ++++++++++----------
 gprofng/doc/version.texi       |  4 ++--
 gprofng/libcollector/configure | 20 ++++++++++----------
 ld/configure                   | 20 ++++++++++----------
 6 files changed, 52 insertions(+), 52 deletions(-)

commit f78abfd35c2594fe87d22618a718d0875bd1788f
Author: Enze Li <enze.li@hotmail.com>
Date:   Sat Jan 14 11:33:48 2023 +0800

    libctf: update regexp to allow makeinfo to build document
    
    While trying to build gdb on latest openSUSE Tumbleweed, I noticed the
    following warning,
    
     checking for makeinfo... makeinfo --split-size=5000000
     configure: WARNING:
     *** Makeinfo is too old. Info documentation will not be built.
    
    then I checked the version of makeinfo, it said,
    ======
    $ makeinfo --version
    texi2any (GNU texinfo) 7.0.1
    
    Copyright (C) 2022 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    ======
    
    After digging a little bit, it became quite obvious that a dot is
    missing in regexp that makes it impossible to match versions higher than
    7.0, and here's the solution:
    
    -       | egrep 'texinfo[^0-9]*(6\.[3-9]|[7-9][0-9])' >/dev/null 2>&1; then
    +       | egrep 'texinfo[^0-9]*(6\.[3-9]|[7-9]\.[0-9])' >/dev/null 2>&1; then
    
    However, Eli pointed out that the solution above has another problem: it
    will stop working when Texinfo 10.1 will be released.  Meanwhile, he
    suggested to solve this problem permanently.  That is, we don't care
    about the minor version for Texinfo > 6.9, we only care about the major
    version.
    
    In this way, the problem will be resolved permanently, thanks to Eli.
    
    libctf/ChangeLog:
    
            * configure: Regenerated.
            * configure.ac: Update regexp to match versions higher than 7.0.
    
    (cherry picked from commit f7c5db99b76e8dde89335d794c82fcbfbf53c612)

 libctf/configure    | 2 +-
 libctf/configure.ac | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 8ed9c55ad51a9650c31371f5eddc06158ad19446
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jan 16 10:44:44 2023 +0000

    Updated translations for the gas and binutils sub-directories
    
    (cherry picked from commit 36795a207d1a6788df21303ba694d3dc3ca294f8)

 binutils/ChangeLog |    4 +
 binutils/po/sv.po  | 5619 +++++++++++++++++++++++++++++-----------------------
 gas/ChangeLog      |    4 +
 gas/po/ru.po       | 5542 ++++++++++++++++++++++++++-------------------------
 4 files changed, 6018 insertions(+), 5151 deletions(-)

commit 9687b88df579936ce292ec786c129ee0dc39da39 (tag: gentoo/binutils-2.40-1)
Author: Andreas K. Huettel <dilfridge@gentoo.org>
Date:   Thu Jan 5 08:35:18 2023 +0000

    Un xfail the PR19719 test for the AArch64 architecture
    
    (cherry picked from commit b26c8438c71d44427fc9c7ef6fa2ab1742d220a9)

 ld/ChangeLog                   | 5 +++++
 ld/testsuite/ld-elf/shared.exp | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

commit 1afe65a4e99d4919a4774a081577a8bf0e7220fc
Author: Andreas K. Hüttel <dilfridge@gentoo.org>
Date:   Sat Jul 31 01:18:18 2021 +0200

    Gentoo: XFAIL 15 broken ld.gold tests
    
    It seems like either the tests or ld.gold in general cannot handle
    compilers built with --enable-default-pie. No fix yet, so let's ignore
    these test failures for the moment. For details see the linked bugs.
    
    Bug: https://bugs.gentoo.org/684046
    Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=22755
    Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=27303

 gold/testsuite/Makefile.am |  6 ++++++
 gold/testsuite/Makefile.in | 16 ++++++++++++----
 2 files changed, 18 insertions(+), 4 deletions(-)

commit c165894896d9bd8dfe795d9447f141623c986617
Author: Andreas K. Hüttel <dilfridge@gentoo.org>
Date:   Sat Jul 24 15:20:16 2021 +0200

    Gentoo: Give also libctf optionally a gentoo-specific soversion

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

commit fcccbd6d737c8d8b98aac54e80635aa40c3c09a8
Author: Andreas K. Hüttel <dilfridge@gentoo.org>
Date:   Tue Jul 20 21:15:24 2021 +0200

    Gentoo: Pass --hash-style=sysv to ld in the testsuite

 binutils/testsuite/lib/binutils-common.exp |  2 +-
 ld/testsuite/lib/ld-lib.exp                | 16 ++++++++++++++--
 2 files changed, 15 insertions(+), 3 deletions(-)

commit 4d8afc0cba949df150d53aff5f5956a37460c27d
Author: Sergei Trofimovich <slyfox@gentoo.org>
Date:   Tue Jul 20 21:12:38 2021 +0200

    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 cd50c95e8574e19a63dc6490b420ffdf7d4bd33a
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Fri Jan 7 00:15:53 2005 -0500

    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 2836d1e38df032d26b23e1b521c9c136659997be
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Tue Jul 20 21:08:31 2021 +0200

    Gentoo: gold/ld: add support for poisoned system directories
    
    This is based on the old CodeSourcery patch written by Joseph Myers to add
    support to the link for detecting & rejecting bad -L paths when using a
    cross-compiler.  The differences here:
    * The command line flags are always available.
    * We can turn on & off the warning via the command line.
    * The configure option controls the default warning behavior.
    * Add support for gold.
    
    It is not currently upstream, nor has it been submitted at all.  There are
    no plans to do so currently either.
    
    BUG=chromium:488360
    TEST=`cbuildbot chromiumos-sdk` passes  # tests arm/amd64/mipsel/x86
    TEST=`cbuildbot panther_moblab-full whirlwind-release` pass
    TEST=`cbuildbot {x32,arm64}-generic-full` has no new failures
    TEST=x86_64-cros-linux-gnu-ld throws warnings when using -L/lib (gold & bfd)
    
    Reviewed-on: https://chromium-review.googlesource.com/272083
    (cherry picked from commit f92dbf35c00ab13cee36f6be8ae5ca46454d9000)
    
    Ported to binutils 2.37 by Andreas K. Hüttel <dilfridge@gentoo.org>
    Ported to binutils 2.39 by WANG Xuerui <xen0n@gentoo.org>

 gold/options.cc | 33 +++++++++++++++++++++++++++++++++
 gold/options.h  |  7 +++++++
 ld/config.in    |  3 +++
 ld/configure    | 20 ++++++++++++++++++--
 ld/configure.ac | 10 ++++++++++
 ld/ld.h         |  7 +++++++
 ld/ld.texi      | 18 ++++++++++++++++++
 ld/ldfile.c     | 20 ++++++++++++++++++++
 ld/ldlex.h      |  3 +++
 ld/ldmain.c     |  7 +++++++
 ld/lexsup.c     | 24 ++++++++++++++++++++++++
 11 files changed, 150 insertions(+), 2 deletions(-)

commit 78eca0130feecb321bb6943045b2161583f61dd2
Author: Nick Clifton <nickc@redhat.com>
Date:   Sat Jan 14 15:34:17 2023 +0000

    Re-enable development.  Update version to 2.40.0

 bfd/development.sh | 2 +-
 bfd/version.m4     | 2 +-
 gas/doc/.dirstamp  | 0
 3 files changed, 2 insertions(+), 2 deletions(-)
