commit 58b6e1c1eaa70731b9a4c5ce99ee44fac2efbe63 (HEAD -> gentoo/binutils-2.45)
Author:     Nick Alcock <nick.alcock@oracle.com>
AuthorDate: Wed Jul 23 14:20:26 2025 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 13:39:48 2025 +0200

    libctf: link: rejig lazy opening to not need weak symbols
    
    The ctf_link_add_ctf API function has a 'lazy opening' feature whereby,
    if you pass in the file but not a CTF archive, the archive is opened
    as late as possible during links.  This is valuable mostly in
    cu-mapped links (a feature not accessible via GNU ld), where it
    ensures that, rather than eventually needing memory for the original
    link inputs, the smushed-together cu-mapped intermediate outputs,
    *and* the final output, we only need enough memory for the smushed-
    together outputs, the final output, and one input, since the inputs
    can be closed immediately after they are smushed together.
    
    (In GNU ld, the feature is useless because it loads all sections into
    memory anyway.)
    
    The lazy-opening feature uses libctf's ctf_open function, which uses
    BFD: so it is not available in libctf-nobfd -- except that I thought I
    had a cunning trick, and used a weak symbol so that if you linked
    libctf-nobfd into your program and then also linked in bfd, the feature
    stayed enabled.
    
    This is silly -- if your program is licensed such that you can link in
    BFD, you can just link in libctf.so and not bother with libctf-nobfd.so
    in the first place.  Worse, the weak symbol usage broke MacOS builds,
    since MacOS's system compiler uses a different means of introducing weak
    symbols.  We could test for and use it, but this is the only place in
    libctf to use weak symbols at all, and the feature of lazy-opening with
    libctf-nobfd is so marginal we might as well drop it: it's almost
    certain there are zero users, certainly fewer users than users of MacOS
    with the system compiler.
    
    While we're at it, simplify things by deleting the never-implemented
    feature (not exposed in the API) to allow linking together raw buffers
    of CTF data.  If we need it we can bring it back, but all it's doing
    right now is complicating the code to no end at all.
    
    libctf/
            PR libctf/33194
            * ctf-link.c (ctf_open): Delete weak pragma.
            (ctf_link_add): Fuse with...
            (ctf_link_add_ctf): ... this function.  Drop BUF, N args
            and corresponding unimplemented feature warnings.  Only check
            NOBFD to see whether lazy loading is available, not PIC as
            well.
            (ctf_link_lazy_open): Likewise.
    
    (cherry picked from commit d3e582895b2038feb47b68f1e03efaa0d9dae325)
    (cherry picked from commit 2b2e51a31ec7c48ef830f7e8415b42d4b95e335a)

 libctf/ctf-link.c | 88 +++++++++++++++++--------------------------------------
 1 file changed, 27 insertions(+), 61 deletions(-)

commit 7d11adf50a777fa06118019132a226c04e5bfb18
Author:     Nick Alcock <nick.alcock@oracle.com>
AuthorDate: Thu Jul 17 17:45:02 2025 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 13:39:19 2025 +0200

    libctf: don't run tests requiring deduplicating linker unless one is in use
    
    Before now, we were relying on gcc -B to repoint GCC at our freshly-built
    linker, and assuming we could use this to run tests that do linker dedup.
    
    This is, alas, not reliable (building --with-ld=/an/absolute/path bypasses
    -B searches for the linker), and we would like the libctf tests in
    particular to not fail if the compiler uses a linker that cannot deduplicate
    (simply skipping such tests).
    
    Add a new testsuite function that tries to link one of the lookup tests'
    testcases (which is known to produce conflicting types, i.e. a dict with
    per-translation-unit children) and then does an objdump and greps it for
    signs of the per-translation-unit children.  If there are none, the linker
    probably just concatenated the sections: i.e., it is not a linker that
    can deduplicate CTF.
    
    libctf/
            PR libctf/33162
            * testsuite/config/default.exp (objdump): Introduce.
            (OBJDUMPFLAGS): Likewise.
            * testsuite/lib/ctf-lib.exp (check_ctf_linker_dedup): New.
            * testsuite/libctf-lookup/lookup.exp: Use it.
            * testsuite/libctf-regression/libctf-repeat-cu.exp: Likewise.
            * testsuite/libctf-regression/regression.exp: Likewise.
    
    (cherry picked from commit 4983bb052d3a57fe1b43334071ba61a8443bb5aa)
    (cherry picked from commit ae8c1b4241ada295a2a914311c03b239327285b9)

 libctf/testsuite/config/default.exp                |  8 +++-
 libctf/testsuite/lib/ctf-lib.exp                   | 45 ++++++++++++++++++++++
 libctf/testsuite/libctf-lookup/lookup.exp          |  5 +++
 .../libctf-regression/libctf-repeat-cu.exp         |  5 +++
 libctf/testsuite/libctf-regression/regression.exp  |  5 +++
 5 files changed, 67 insertions(+), 1 deletion(-)

commit f79635c02491604eed72897750384603c0518632
Author:     Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
AuthorDate: Wed Jul 16 16:55:51 2025 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 13:38:49 2025 +0200

    libctf: exclude always-emitted Solaris symbols from the symtypetab
    
    If we're skipping _BEGIN_ and _END_ we should certainly skip all the other
    ABI-required always-emitted symbols given in ld/emultempl/solaris2*em as
    well.  (This fixes a couple of diagnostics tests, but that's just because
    the tests are quite sensitive to CTF section sizes, and introducing any
    symtypetab entries for those tests perturbs those.)
    
    Some of these are usually STT_NOTYPE, but not always: if programs already
    emitted the symbol they might end up with any type, in particular
    STT_OBJECT, and appear in the symtypetabs.
    
    [nca: added commit log, added more symbols]
    
    libctf/
            PR libctf/33162
            * ctf-serialize.c (ctf_symtab_skippable): Skip
            more always-emitted Solaris symbols.
    
    (cherry picked from commit 4214ca9036c8f5d01025d0505ff1167700af5f98)
    (cherry picked from commit e54a1de95156e7f60908dc2ac0d3b16d2ae5e5fb)

 libctf/ctf-serialize.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 629485d402526703dc36d28e605a9863768560ec
Author:     Nick Alcock <nick.alcock@oracle.com>
AuthorDate: Wed Jul 16 14:43:25 2025 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 13:38:25 2025 +0200

    libctf: get libctf-nobfd.ver from the right place with Solaris ld
    
    We generate de-commented version scripts for Solaris ld (whose
    -z gnu-version-script linker option does not support comments),
    but after we switched to generating libctf-nobfd.ver itself, we
    failed to adjust this code to pick it up from the new location.
    
    libctf/
            PR libctf/33161
            * configure.ac: Fix libctf-nobfd.ver path on Solaris.
            * configure: Regenerated.
    
    (cherry picked from commit 3ff8956e4bf46ffd638bf12ea4788a858e905023)
    (cherry picked from commit 32830073ea0086ad6f258cd536de680d9c546157)

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

commit 4f588e3ab838b7f4ef8804ffb954be94d250d9ee
Author:     Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
AuthorDate: Wed Jul 16 13:10:05 2025 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 13:38:07 2025 +0200

    libctf: do not use mmap on Solaris 11
    
    Writable mmaps and read are inconsistent with each other on Solaris 11.4,
    which breaks archive writing.  Simply assert that Solaris 2.11 doesn't have
    mmap, falling back to read(): the archive format is being bumped shortly, to
    one with completely different writeout code, so this workaround need not
    stay for long.
    
    [nca: added commit log]
    
    libctf/
            PR libctf/29292
            * configure.ac: Turn off mmap on Solaris 2.11.
            * configure: Regenerated.
    
    (cherry picked from commit 00d853d1fe7885d0a685584f32b7ed70485c6def)
    (cherry picked from commit 404cb58a92f5a0e52b9e148e188760397a062dc8)

 libctf/configure    | 8 ++++++++
 libctf/configure.ac | 8 ++++++++
 2 files changed, 16 insertions(+)

commit f171e94ff9d30461e12eb970c1002b2abb48f419
Author:     Xi Ruoyao <xry111@xry111.site>
AuthorDate: Wed Aug 6 12:19:22 2025 +0800
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 13:37:47 2025 +0200

    LoongArch: Fix symbol size after relaxation
    
    There's a logic error in loongarch_relax_perform_deletes: when there's
    not any delete operation of which the start address is strictly smaller
    than the symbol address, splay_tree_predecessor() will return nullptr
    and the symbol size will be unchanged even if some bytes of it are
    removed.
    
    Make the logic more complete to fix this issue.  Also factor out the
    symbol size adjustment logic into a function to avoid code bloating.
    
    Tested-by: WANG Xuerui <git@xen0n.name>
    Signed-off-by: Xi Ruoyao <xry111@xry111.site>
    (cherry picked from commit 99f48156dd1d02193e3b550c85cc8925826752b7)

 bfd/elfnn-loongarch.c                              | 102 ++++++++++++---------
 ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp |   2 +
 ld/testsuite/ld-loongarch-elf/relax-sym-size-1.d   |   7 ++
 ld/testsuite/ld-loongarch-elf/relax-sym-size-1.s   |   8 ++
 ld/testsuite/ld-loongarch-elf/relax-sym-size-2.d   |   7 ++
 ld/testsuite/ld-loongarch-elf/relax-sym-size-2.s   |  19 ++++
 6 files changed, 102 insertions(+), 43 deletions(-)

commit d4275ca2fa05ba3903e5a093a513a2d9800aeb41
Author:     Matthieu Longo <matthieu.longo@arm.com>
AuthorDate: Mon Aug 4 11:04:13 2025 +0100
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 13:37:25 2025 +0200

    libiberty: sync with gcc
    
    Import the following commits from GCC as of r16-3056-gca2169c65bd169:
            0d0837df697 libiberty: disable logging of list content for doubly-linked list tests
    
    (cherry picked from commit d45e8bff0b4279009f7962ce6e65795f34133c46)

 libiberty/ChangeLog                           | 11 +++++++++++
 libiberty/testsuite/test-doubly-linked-list.c | 13 ++++++++++---
 2 files changed, 21 insertions(+), 3 deletions(-)

commit ec0a8822bebb7d55e251c9efc3d5a10629101a6f
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Sat Aug 2 10:12:21 2025 +0930
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 13:37:02 2025 +0200

    Re: resbin: don't pass NULL as printf %s arg
    
    Commit c6c8d0b82175 went completely the wrong way.  "key" needs to be
    NULL as that reads a different type of data.
    
            PR 33244
            * resbin.c (get_version_header): Don't pass a NULL key on to
            toosmall.
            (bin_to_res_version): Restore NULL key cases.
    
    (cherry picked from commit 891d1654d7314fa520f708dbc5f1bf855d15bd40)
    (cherry picked from commit b09f71c1c4680a639ab83bb273aea1f3f4380a6a)

 binutils/resbin.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit e895feadaafbdf95f6faa3a5875cd7c8996ed465
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Wed Jul 30 08:18:19 2025 +0930
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Aug 30 13:36:38 2025 +0200

    PR 33229 nds32 gas segfaults on gcc output
    
    Commit 1ac26e9f7ac2 replaced ISSPACE with is_whitespace, but the
    former returns true on EOL while the latter does not.  Sprinkle
    is_end_of_stmt tests to fix this bug.
    
    The same segfault can be triggered by a ".relax_hint" with no
    following instructions.  Fix that too.
    
            * config/tc-nds32.c (nds32_lookup_pseudo_opcode): Use
            is_end_of_stmt along with is_whitespace.
            (nds32_relax_relocs, nds32_relax_hint, nds32_flag),
            (ict_model: Likewise.
            (nds32_elf_append_relax_relocs): Return on no opcode.
            * testsuite/gas/nds32/nds32.exp: Find .d files automatically.
            * testsuite/gas/nds32/pr33229.d,
            * testsuite/gas/nds32/pr33229.s: New test.
    
    (cherry picked from commit 303045d9539d9032208b8b67f222943ff4c96b05)
    (cherry picked from commit 72d7cfff264820841f469e3bf34ff1b76efa5240)

 gas/config/tc-nds32.c             | 17 +++++++++++------
 gas/testsuite/gas/nds32/nds32.exp | 22 +++++++++-------------
 gas/testsuite/gas/nds32/pr33229.d |  2 ++
 gas/testsuite/gas/nds32/pr33229.s |  3 +++
 4 files changed, 25 insertions(+), 19 deletions(-)

commit 1a63e7683f1d2f1b2a56c626273a7163494cbf48 (gentoo/gentoo/binutils-2.45)
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Sun Aug 3 10:28:40 2025 -0700
Commit:     Sam James <sam@gentoo.org>
CommitDate: Sat Aug 30 11:53:23 2025 +0100

    strip: Don't treat fat IR objects as plugin object
    
    Fat IR objects contains both regular sections and IR sections.  After
    
    commit 717a38e9a02109fcbcb18bb2ec3aa251e2ad0a0d
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Sun May 4 05:12:46 2025 +0800
    
        strip: Add GCC LTO IR support
    
    "strip --strip-debug" no longer strips debug sections in fat IR objects
    since fat IR objects are recognized as plugin object and copied as unknown
    objects.  Add a is_strip_input field to bfd to indicate called from strip.
    Update bfd_check_format_matches not to treat archive member nor standalone
    fat IR object as IR object so that strip can remove debug and IR sections
    in fat IR object.  For archive member, it is copied as an unknown object
    if the plugin target is in use or it is a slim IR object.  For standalone
    fat IR object, it is copied as non-IR object.
    
    bfd/
    
            PR binutils/33246
            * archive.c: Include "plugin-api.h" and "plugin.h" if plugin is
            enabled.
            (_bfd_compute_and_write_armap): Don't complain plugin is needed
            when the plugin target is in use.
            * bfd-in2.h: Regenerated.
            * bfd.c (bfd): Add is_strip_input.
            * format.c (bfd_set_lto_type): If there is .llvm.lto section,
            set LTO type to lto_fat_ir_object.
            (bfd_check_format_matches): Don't set LTO type when setting
            format.  When called from strip, don't treat archive member nor
            standalone fat IR object as an IR object.
            * plugin.c (bfd_plugin_get_symbols_in_object_only): Copy LTO
            type derived from input sections.
    
    nm/
    
            PR binutils/33246
            * nm.c (filter_symbols): Don't complain plugin is needed when
            the plugin target is in use.
            (display_rel_file): Likewise.
            * objcopy.c (copy_archive): Set the BFD is_strip_input field of
            archive member to 1 to indicate called from strip.  Also copy
            slim IR archive member as unknown object.
            (copy_file): Set the BFD is_strip_input field of input bfd to
            1 to indicate called from strip.
            (strip_main): Keep .gnu.debuglto_* sections unless all GCC LTO
            sections will be removed.
    
    ld/
    
            PR binutils/33246
            * testsuite/ld-plugin/lto-binutils.exp (run_pr33246_test): New.
            Run binutils/33246 tests with GCC and Clang.
            * testsuite/ld-plugin/pr33246.c: New file.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    (cherry picked from commit c2729c37f10af09126b2916215cae425ae724f55)

 bfd/archive.c                           |  10 ++
 bfd/bfd-in2.h                           |   3 +
 bfd/bfd.c                               |   3 +
 bfd/format.c                            |  25 ++++-
 bfd/plugin.c                            |   3 +
 binutils/nm.c                           |   9 +-
 binutils/objcopy.c                      |  13 ++-
 ld/testsuite/ld-plugin/lto-binutils.exp | 175 ++++++++++++++++++++++++++++++++
 ld/testsuite/ld-plugin/pr33246.c        |   4 +
 9 files changed, 238 insertions(+), 7 deletions(-)

commit 3f1fc401d4dcc6c087eb62d1e7c48c5d8591bc37
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Wed Jul 30 20:34:46 2025 -0700
Commit:     Sam James <sam@gentoo.org>
CommitDate: Sat Aug 30 11:53:03 2025 +0100

    strip: Treat "default" output_target as unspecified
    
    Treat output target as unspecified if it is set to "default".
    
    binutils/
    
            PR binutils/33230
            * objcopy.c (copy_file): Treat "default" output_target as
            unspecified.
    
    binutils/testsuite/
    
            PR binutils/33230
            * binutils-all/x86-64/x86-64.exp (run_pr33230_test): New.
            Run binutils/33230 tests with readelf if supported.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    (cherry picked from commit 3ac83564eb3c858eb1add02b6e86b5628e4abd78)

 binutils/objcopy.c                                |  6 +-
 binutils/testsuite/binutils-all/x86-64/x86-64.exp | 76 +++++++++++++++++------
 2 files changed, 60 insertions(+), 22 deletions(-)

commit 82845a234dd488a5d1efbb049e430d37c9f5a346
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Wed Jul 30 08:53:11 2025 -0700
Commit:     Sam James <sam@gentoo.org>
CommitDate: Sat Aug 30 11:52:55 2025 +0100

    strip: Don't check target_defaulted in input BFD
    
    The target_defaulted field in BFD is set to true if the target isn't
    specified.  After
    
    commit 717a38e9a02109fcbcb18bb2ec3aa251e2ad0a0d
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Sun May 4 05:12:46 2025 +0800
    
        strip: Add GCC LTO IR support
    
    the target is set to "plugin" if BFD supports plugin when the target
    isn't specified nor default.  Update strip to check the input target,
    instead of the target_defaulted field in input BFD.
    
            PR binutils/33230
            * objcopy.c (copy_object): Add a bool argument, target_defaulted,
            to indicate if the input target isn't specified nor default.
            Check it instead of ibfd->target_defaulted.
            (copy_archive): Add a bool argument, target_defaulted, and pass
            it to copy_object.
            (copy_file): Set target_defaulted to true if the input target
            isn't specified and pass it to copy_archive and copy_object.
            * testsuite/binutils-all/x86-64/pr33230.obj.bz2: New file.
            * testsuite/binutils-all/x86-64/x86-64.exp: Run PR binutils/33230
            tests.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
    (cherry picked from commit 8e885fece150ee97e5b0e78363e7fe9888ae9c29)

 binutils/objcopy.c                                 |  17 +++++++----
 .../testsuite/binutils-all/x86-64/pr33230.obj.bz2  | Bin 0 -> 411 bytes
 binutils/testsuite/binutils-all/x86-64/x86-64.exp  |  33 +++++++++++++++++++++
 3 files changed, 44 insertions(+), 6 deletions(-)

commit 3d6a0b4a3f6b0582781979062cc6730e858997ae
Author:     H.J. Lu <hjl.tools@gmail.com>
AuthorDate: Mon Mar 10 17:07:16 2025 -0700
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Mon Jul 28 14:22:04 2025 +0200

    Adjust testsuites for -flto and without -g
    
    Adjust testsuites for binutils built with -flto and without -g:
    
    1. Pass -fno-lto to objcopy tests which don't work with LTO.
    2. Update gprof testsuite to avoid LTO and compile with -g for line
    number info checked by tst-gmon-gprof-l.sh.
    3. Append $NOLTO_CFLAGS in ctf.exp.
    4. For libctf, filter out -flto in CFLAGS for "make check" and also
    prune lto-wrapper warnings.
    
    binutils/
    
            PR binutils/32773
            * testsuite/binutils-all/objcopy.exp (no_lto_flags): New.
            (strip_test): Pass $no_lto_flags to target_compile.
            (strip_test_with_saving_a_symbol): Likewise.
            (objcopy_test_without_global_symbol): Likewise.
    
    gprof/
    
            PR binutils/32773
            PR gprof/32779
            * testsuite/Makefile.am (GPROF_FLAGS): Add -g.
            (COMPILE): Set to "$(CC) $(AM_CFLAGS) $(GPROF_FLAGS)".
            (LINK) Set to "$(CC) $(AM_CFLAGS) $(GPROF_FLAGS) $(AM_LDFLAGS)
            $(LDFLAGS) -o $@".
            * testsuite/Makefile.in: Regenerated.
    
    ld/
    
            PR binutils/32773
            * testsuite/ld-ctf/ctf.exp (old_CFLAGS): New.
            (CFLAGS_FOR_TARGET): Append $NOLTO_CFLAGS.
    
    libctf/
    
            PR binutils/32773
            * Makefile.am (check-DEJAGNU): Filter out -flto in CFLAGS.
            * Makefile.in: Regenerated.
            * testsuite/lib/ctf-lib.exp (prune_warnings_lto): New.
            (run_lookup_test): Replace prune_warnings with
            prune_warnings_lto.
            (run_lookup_test): Likewise.
    
    Signed-off-by: H.J. Lu <hjl.tools@gmail.com>

 binutils/testsuite/binutils-all/objcopy.exp | 14 +++++++++++---
 ld/testsuite/ld-ctf/ctf.exp                 |  5 +++++
 libctf/Makefile.am                          |  3 ++-
 libctf/Makefile.in                          |  3 ++-
 libctf/testsuite/lib/ctf-lib.exp            | 14 ++++++++++++--
 5 files changed, 32 insertions(+), 7 deletions(-)

commit 845089ce66869d79e86869ec1972a33036010706
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 Jul 28 14:22:01 2025 +0200

    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 ef7b999d6d7748f0b6e159df52b4b663e5032072
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 Jul 28 14:21:57 2025 +0200

    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 062144ba260931e309a621355b92a2ca3b1ec12c
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 Jul 28 14:21:54 2025 +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    | 17 +++++++++++++++--
 bfd/configure.ac |  7 +++++++
 4 files changed, 31 insertions(+), 2 deletions(-)

commit bd82239c2a628ace1b6fddcec96871641fadfbec
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 Jul 28 14:15:23 2025 +0200

    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 f3ac50887e84402056af584a766449b65735cc6b
Author:     GDB Administrator <gdbadmin@sourceware.org>
AuthorDate: Mon Jul 28 00:02:01 2025 +0000
Commit:     GDB Admin <brobecker@adacore.com>
CommitDate: Mon Jul 28 00:02:01 2025 +0000

    Automatic date update in version.in

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

commit 879eabba0fcfd56738ecb91743236eda0fb08dde
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Fri Jul 18 16:53:38 2025 +0930
Commit:     Alan Modra <amodra@gmail.com>
CommitDate: Mon Jul 28 09:09:09 2025 +0930

    Fix more unused variable warnings
    
    (cherry picked from commit 9472a0558d67610b07776d34b1dbdcc8e40f393c)

 gas/config/tc-cr16.c    | 3 ---
 gas/config/tc-mn10200.c | 5 ++---
 gas/config/tc-v850.c    | 5 -----
 gas/config/tc-xgate.c   | 2 --
 gas/config/tc-z8k.c     | 3 +--
 gas/ecoff.c             | 3 ---
 gas/write.c             | 6 +++---
 7 files changed, 6 insertions(+), 21 deletions(-)

commit 29996106c19da84c522dbfa9d986f0e18540a9fc
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Fri Jul 18 14:40:17 2025 +0930
Commit:     Alan Modra <amodra@gmail.com>
CommitDate: Mon Jul 28 09:09:09 2025 +0930

    Fix unused variable warnings
    
    (cherry picked from commit 1cfce7750aefc84768e143076bac239134ceb40d)

 bfd/coff-mips.c        | 3 +--
 bfd/elf32-arm.c        | 5 ++---
 bfd/elf32-bfin.c       | 3 +--
 bfd/elf32-csky.c       | 5 ++---
 bfd/elf32-microblaze.c | 7 ++-----
 bfd/elf32-nds32.c      | 5 ++---
 bfd/elf64-ppc.c        | 5 ++---
 bfd/elfnn-aarch64.c    | 3 +--
 8 files changed, 13 insertions(+), 23 deletions(-)

commit 5541a7e7712ddc5f2eaf4321675201f281610c85
Author:     Sam James <sam@gentoo.org>
AuthorDate: Thu Jul 17 13:18:05 2025 +0100
Commit:     Alan Modra <amodra@gmail.com>
CommitDate: Mon Jul 28 09:09:08 2025 +0930

    binutils: drop unused note_size, contents, old variables
    
    GCC trunk recently had improvements to its -Wunused-but-set-variable which
    picked up that contents and hence note_size & old aren't used at all in the
    end.
    
            * objcopy.c (merge_gnu_build_notes): Drop unused 'note_size', 'contents',
            and 'old' variables.
    
    (cherry picked from commit d3d1718602b179d8ec833851f5cb67ab9d314a92)

 binutils/objcopy.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

commit f4290b2509788d1a284d8287cf078041d427c96e
Author:     Sam James <sam@gentoo.org>
AuthorDate: Thu Jul 17 13:16:31 2025 +0100
Commit:     Alan Modra <amodra@gmail.com>
CommitDate: Mon Jul 28 09:09:08 2025 +0930

    bfd: drop unused elt_no
    
    GCC trunk recently had improvements to its -Wunused-but-set-variable which
    picked up that elt_no isn't used at all in the end.
    
            * archive.c (_bfd_compute_and_write_armap): Drop unused elt_no.
    
    (cherry picked from commit 11153b13a56dae4ddd068ccf812ebc295783edf9)

 bfd/archive.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 2a07e06e26918c83071cb7c5789439315f505430
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Mon Jul 28 08:21:51 2025 +0930
Commit:     Alan Modra <amodra@gmail.com>
CommitDate: Mon Jul 28 09:08:39 2025 +0930

    Re: Re-enable development on the 2.45 branch
    
    regen configure for the version bump 2.45 -> 2.45.0

 bfd/configure      | 20 ++++++++++----------
 binutils/configure | 20 ++++++++++----------
 gas/configure      | 20 ++++++++++----------
 gprof/configure    | 20 ++++++++++----------
 ld/configure       | 20 ++++++++++----------
 opcodes/configure  | 20 ++++++++++----------
 6 files changed, 60 insertions(+), 60 deletions(-)

commit ad8cf343ab5c442e62e0b2606732760787ae735a
Author:     Nick Clifton <nickc@redhat.com>
AuthorDate: Sun Jul 27 10:53:38 2025 +0100
Commit:     Nick Clifton <nickc@redhat.com>
CommitDate: Sun Jul 27 10:53:38 2025 +0100

    Re-enable development on the 2.45 branch

 bfd/development.sh | 2 +-
 bfd/version.m4     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
