Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package binutils for openSUSE:Factory 
checked in at 2026-04-23 17:05:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/binutils (Old)
 and      /work/SRC/openSUSE:Factory/.binutils.new.11940 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "binutils"

Thu Apr 23 17:05:35 2026 rev:184 rq:1347293 version:2.45

Changes:
--------
--- /work/SRC/openSUSE:Factory/binutils/binutils.changes        2025-11-11 
19:18:26.968208079 +0100
+++ /work/SRC/openSUSE:Factory/.binutils.new.11940/binutils.changes     
2026-04-23 17:09:37.725135059 +0200
@@ -1,0 +2,12 @@
+Tue Mar 10 16:57:59 UTC 2026 - Michael Matz <[email protected]>
+
+- Migrate from update-alternatives to libalternatives (jsc#PED-15667).
+- Update %suse_version > 1600 checks (jsc#PED-15792).
+- Split new libsframe2 package from binutils (shared lib policy).
+- Make (currently inactive) gold subpackage no require binutils
+  in a specific version.
+- Add binutils-workaround-premature-libsframe-uninst.diff for
+  this to temporarily avoid 99-check-remove-rpms getting in the way.
+- Add binutils-fix-c23.diff to fix a compile error with new glibc.
+
+-------------------------------------------------------------------

New:
----
  binutils-fix-c23.diff
  binutils-workaround-premature-libsframe-uninst.diff

----------(New B)----------
  New:  this to temporarily avoid 99-check-remove-rpms getting in the way.
- Add binutils-fix-c23.diff to fix a compile error with new glibc.
  New:  in a specific version.
- Add binutils-workaround-premature-libsframe-uninst.diff for
  this to temporarily avoid 99-check-remove-rpms getting in the way.
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ binutils.spec ++++++
--- /var/tmp/diff_new_pack.LFWU6L/_old  2026-04-23 17:09:38.997187395 +0200
+++ /var/tmp/diff_new_pack.LFWU6L/_new  2026-04-23 17:09:39.001187559 +0200
@@ -67,9 +67,10 @@
 Version:        2.45
 Release:        0
 
-# disable libalternatives for now until it's changed to not
-# introduce cmake/cunit-tests into the bootstrap cycle
-%if 0 && 0%{?suse_version} > 1500
+# for SLE16 and beyond use libalternatives; the update from update-alternatives
+# is hairy and complex due to unrelated packages that also want to provide
+# choices for /usr/bin/ld
+%if 0%{?suse_version} >= 1600
 %bcond_without libalternatives
 %else
 %bcond_with libalternatives
@@ -164,11 +165,27 @@
 Patch75:        pr33457.diff
 Patch76:        pr33499.diff
 Patch77:        pr33502.diff
+Patch78:        binutils-fix-c23.diff
 Patch90:        cross-avr-nesc-as.patch
 Patch92:        cross-avr-omit_section_dynsym.patch
 Patch93:        cross-avr-size.patch
+Patch100:       binutils-workaround-premature-libsframe-uninst.diff
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+# Hack.  See binutils-workaround-premature-libsframe-uninst.diff
+# until libsframe2, the package, is in the distro we need to
+# link all internal components of binutils statically against libsframe.
+# But then there's no reason for rpm to generate a dependency against
+# libsframe.so.2, but we _need_ that dependency to exist once we want
+# to link dynamically again.  So, force it for now.  Remove this when
+# the above patch is removed.
+Requires:       libsframe2
 %if %{with libalternatives}
+# For the update path from pre-libalternatives to libalternatives
+# we need to remove the old traces, so we need it in our pre-scripts
+# This is the magic incantation to make zypp load this at the right time
+OrderWithRequires(pre): update-alternatives
+Suggests:       update-alternatives
+BuildRequires:  alts
 Requires:       alts
 %else
 PreReq:         update-alternatives
@@ -183,7 +200,11 @@
 Summary:        The gold linker
 License:        GPL-3.0-or-later
 Group:          Development/Tools/Building
-Requires:       binutils = %{version}-%{release}
+# we once required binutils=version-release here, but that seems
+# overly strict; requiring binutils itself is not required for pure
+# functionality of gold, but is for packaging reasons, the update-alternatives
+# update to libalternatives will be easier with that
+Requires:       binutils
 %if %{with libalternatives}
 Requires:       alts
 %else
@@ -234,6 +255,16 @@
 This package includes the libctf-nobfd shared library.
 The Compact C Type Format (CTF) is a way of representing information about a 
binary program
 
+%package -n libsframe2
+Summary:        SFrame stack trace format library (runtime)
+License:        GFDL-1.3-only AND GPL-3.0-or-later
+Group:          Development/Tools/Building
+
+%description -n libsframe2
+This package includes the libsframe shared library.
+The SFrame format is a compact way to represent information
+necessary to generate stack traces.
+
 %package -n gprofng
 Summary:        The next generation profiling tool for Linux
 License:        GFDL-1.3-only AND GPL-3.0-or-later
@@ -306,12 +337,14 @@
 %patch -P 75 -p1
 %patch -P 76 -p1
 %patch -P 77 -p1
+%patch -P 78 -p1
 %if "%{TARGET}" == "avr"
 cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
 %patch -P 90
 %patch -P 92
 %patch -P 93 -p1
 %endif
+%patch -P 100 -p1
 #
 # test_vanilla
 %endif
@@ -330,7 +363,7 @@
 # gcc15 and up default to c23, these older binutils would need patches
 # for that.  As an impeding version update fixes that as well, simply
 # override the compiler instead of bothering with backports
-%if %{suse_version} > 1600
+%if %{suse_version} >= 1699
 CC="gcc -std=gnu17"
 export CC
 %endif
@@ -427,7 +460,7 @@
 
 # FIXME: enable in future, when at least llvm15,llvm17,golang are
 # fixed to accept zstd
-#%if %{suse_version} > 1600
+#%if %{suse_version} >= 1699
 #  --enable-default-compressed-debug-sections-algorithm=zstd \
 #%endif
 
@@ -567,9 +600,11 @@
 %else
 ln -s %{_bindir}/alts "%{buildroot}/%_bindir/ld";
 mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
+%ifarch %gold_archs
 cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
 binary=%{_bindir}/ld.gold
 EOF
+%endif
 cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
 binary=%{_bindir}/ld.bfd
 EOF
@@ -671,19 +706,18 @@
 
 %post -n libctf0 -p /sbin/ldconfig
 %post -n libctf-nobfd0 -p /sbin/ldconfig
+%post -n libsframe2 -p /sbin/ldconfig
 
 %if %{with libalternatives}
 %pre
-# removing old update-alternatives entries
-if [ "$1" -gt 0 ] && [ -f %{_sbindir}/update-alternatives ] ; then
-       "%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
-fi;
-
-%pre gold
-# removing old update-alternatives entries
-if [ "$1" -gt 0 ] && [ -f %{_sbindir}/update-alternatives ] ; then
-       "%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
-fi;
+# remove old update-alternatives entries, and do that for _all_ of
+# them, even those not belonging to us, otherwise a /usr/bin/ld symlink
+# (to /etc/alternatives/ld) would continue to exist that would conflict
+# with our /usr/bin/ld symlink (to 'alts').  This is what makes binutils
+# the master package for /usr/bin/ld.
+if [ $1 -eq 2 ] && [ -f %{_sbindir}/update-alternatives ] && [ -f 
%{_sysconfdir}/alternatives/ld ] ; then
+  "%_sbindir/update-alternatives" --remove-all ld
+fi
 %endif
 
 %preun
@@ -707,6 +741,7 @@
 
 %postun -n libctf0 -p /sbin/ldconfig
 %postun -n libctf-nobfd0 -p /sbin/ldconfig
+%postun -n libsframe2 -p /sbin/ldconfig
 
 %postun -p /sbin/ldconfig
 %endif
@@ -718,7 +753,6 @@
 %{_prefix}/%{HOST}/bin/*
 %{_prefix}/%{HOST}/lib/ldscripts
 %{_libdir}/ldscripts
-%{_libdir}/libsframe.so.*
 %if %build_gprofng
 %{_libdir}/libgprofng.so.*
 %endif
@@ -777,6 +811,10 @@
 %defattr(-,root,root)
 %{_libdir}/libctf-nobfd.so.*
 
+%files -n libsframe2
+%defattr(-,root,root)
+%{_libdir}/libsframe.so.*
+
 %if %{suse_version} > 1500
 %ifarch %ix86 x86_64 %x86_64 aarch64
 %files -n gprofng

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.LFWU6L/_old  2026-04-23 17:09:39.109192003 +0200
+++ /var/tmp/diff_new_pack.LFWU6L/_new  2026-04-23 17:09:39.113192168 +0200
@@ -1,5 +1,5 @@
-mtime: 1762178899
-commit: f011f32384fc4e66e5b2551096b1edf58307322a4be369f120a67e80863465c5
+mtime: 1776347260
+commit: f4823460434dd78b76783148c43db046447ca99171b720fe75602e42e071e27a
 url: https://src.opensuse.org/gcc/binutils.git
 revision: main
 


++++++ binutils-fix-c23.diff ++++++
commit 5f66aee7f4bec7a2d8378034116f5e5c3dc50f41
Author: Andreas Schwab <[email protected]>
Date:   Sat Nov 22 11:29:43 2025 +0100

    gprofng: protect against standard library macros
    
    The CALL_UTIL macro can expand to an unparsable expression of the argument
    is a macro, like with the new const-preserving standard library macros in
    C23.
    
            * gprofng/src/collector_module.h (CALL_UTIL): Add parens to not
            expand its argument if it is a function-like macro.

diff --git a/gprofng/src/collector_module.h b/gprofng/src/collector_module.h
index b64d69c45ab..859a6dd1f7d 100644
--- a/gprofng/src/collector_module.h
+++ b/gprofng/src/collector_module.h
@@ -119,7 +119,7 @@ typedef struct CollectorUtilFuncs
 extern CollectorUtilFuncs __collector_util_funcs;
 extern int __collector_dlsym_guard;
 
-#define CALL_UTIL(x) __collector_util_funcs.x
+#define CALL_UTIL(x) (__collector_util_funcs.x)
 
 /* The following constants define the meaning of the "void *arg"
  * argument of getFrameInfo().

++++++ binutils-workaround-premature-libsframe-uninst.diff ++++++
Hack alert related to the introduction of the libsframe2 package!

Normally readelf is linked dynamically against libsframe.so.2, this
makes it link statically for the following reason:

after rpmbuild builds the package we run a couple checks, among them
we install the just built rpms, and then remove them again
(in 99-check-remove-rpms).  But we don't remove packages that were
already installed before.  When we split libsframe2 from binutils
the following situation occurs in the build system:

1) binutils from distro is installed, no libsframe2 exists yet
2) ... package builds ...
3) binutils and libsframe2 (just built) are installed
4) libsframe2 is removed, binutils is _not_ removed (it was
   installed before building already)

The readelf that's now in the buildroot (from the new binutils packages)
links against libsframe.so.2 dynamic, but that one was removed in step 4
above!  readelf can't be executed and rpmlint completely falls over
failing the build.

So, as temporary measure, we link statically.  The removal of the
libsframe2 package then doesn't matter.  Once we get this in the distro
we can switch back to linking dynamically because then the libsframe2
package will have been installed before build as well (like binutils)
and will _not_ be removed by the post-build-checks.


Index: binutils-2.45/binutils/Makefile.am
===================================================================
--- binutils-2.45.orig/binutils/Makefile.am     2025-07-27 01:00:00.000000000 
+0200
+++ binutils-2.45/binutils/Makefile.am  2026-03-12 15:02:18.419018064 +0100
@@ -164,7 +164,7 @@ BULIBS = bucomm.c version.c filemode.c
 # Code shared by the ELF related programs.
 ELFLIBS = elfcomm.c
 
-BFDLIB = ../bfd/libbfd.la
+BFDLIB = ../bfd/libbfd.la ../libsframe/.libs/libsframe.a
 
 OPCODES = ../opcodes/libopcodes.la
 
@@ -176,7 +176,8 @@ LIBCTF =
 LIBCTF_NOBFD =
 endif
 
-LIBSFRAME = ../libsframe/libsframe.la
+#LIBSFRAME = ../libsframe/libsframe.la
+LIBSFRAME = ../libsframe/.libs/libsframe.a
 
 LIBIBERTY = ../libiberty/libiberty.a
 
Index: binutils-2.45/binutils/Makefile.in
===================================================================
--- binutils-2.45.orig/binutils/Makefile.in     2025-07-27 01:00:00.000000000 
+0200
+++ binutils-2.45/binutils/Makefile.in  2026-03-12 15:15:04.438033508 +0100
@@ -740,13 +740,14 @@ BULIBS = bucomm.c version.c filemode.c
 
 # Code shared by the ELF related programs.
 ELFLIBS = elfcomm.c
-BFDLIB = ../bfd/libbfd.la
+BFDLIB = ../bfd/libbfd.la ../libsframe/.libs/libsframe.a
 OPCODES = ../opcodes/libopcodes.la
 @ENABLE_LIBCTF_FALSE@LIBCTF = 
 @ENABLE_LIBCTF_TRUE@LIBCTF = ../libctf/libctf.la
 @ENABLE_LIBCTF_FALSE@LIBCTF_NOBFD = 
 @ENABLE_LIBCTF_TRUE@LIBCTF_NOBFD = ../libctf/libctf-nobfd.la
-LIBSFRAME = ../libsframe/libsframe.la
+#LIBSFRAME = ../libsframe/libsframe.la
+LIBSFRAME = ../libsframe/.libs/libsframe.a
 LIBIBERTY = ../libiberty/libiberty.a
 POTFILES = $(CFILES) $(DEBUG_SRCS) $(HFILES)
 EXPECT = expect
Index: binutils-2.45/bfd/Makefile.am
===================================================================
--- binutils-2.45.orig/bfd/Makefile.am  2025-07-27 01:00:00.000000000 +0200
+++ binutils-2.45/bfd/Makefile.am       2026-03-12 15:41:18.368949368 +0100
@@ -785,7 +785,8 @@ ofiles: stamp-ofiles ; @true
 libbfd_la_SOURCES = $(BFD32_LIBS_CFILES)
 EXTRA_libbfd_la_SOURCES = $(CFILES)
 libbfd_la_DEPENDENCIES = $(OFILES) ofiles ../libsframe/libsframe.la
-libbfd_la_LIBADD = `cat ofiles` @SHARED_LIBADD@ $(LIBDL) $(ZLIB) $(ZSTD_LIBS) 
../libsframe/libsframe.la
+#libbfd_la_LIBADD = `cat ofiles` @SHARED_LIBADD@ $(LIBDL) $(ZLIB) $(ZSTD_LIBS) 
../libsframe/libsframe.la
+libbfd_la_LIBADD = `cat ofiles` @SHARED_LIBADD@ $(LIBDL) $(ZLIB) $(ZSTD_LIBS) 
../libsframe/.libs/libsframe.a
 libbfd_la_LDFLAGS += -release `cat libtool-soversion` @SHARED_LDFLAGS@
 
 # This file holds an array associating configuration triplets and
Index: binutils-2.45/bfd/Makefile.in
===================================================================
--- binutils-2.45.orig/bfd/Makefile.in  2025-07-27 01:00:00.000000000 +0200
+++ binutils-2.45/bfd/Makefile.in       2026-03-12 15:41:25.130065023 +0100
@@ -1212,7 +1212,8 @@ OFILES = $(BFD_BACKENDS) $(BFD_MACHINES)
 libbfd_la_SOURCES = $(BFD32_LIBS_CFILES)
 EXTRA_libbfd_la_SOURCES = $(CFILES)
 libbfd_la_DEPENDENCIES = $(OFILES) ofiles ../libsframe/libsframe.la
-libbfd_la_LIBADD = `cat ofiles` @SHARED_LIBADD@ $(LIBDL) $(ZLIB) $(ZSTD_LIBS) 
../libsframe/libsframe.la
+#libbfd_la_LIBADD = `cat ofiles` @SHARED_LIBADD@ $(LIBDL) $(ZLIB) $(ZSTD_LIBS) 
../libsframe/libsframe.la
+libbfd_la_LIBADD = `cat ofiles` @SHARED_LIBADD@ $(LIBDL) $(ZLIB) $(ZSTD_LIBS) 
../libsframe/.libs/libsframe.a
 BFD_H_FILES = bfd-in.h libbfd.c hash.c section.c syms.c \
        archive.c archures.c bfd.c bfdio.c \
        cache.c compress.c corefile.c format.c linker.c opncls.c \
Index: binutils-2.45/gas/Makefile.am
===================================================================
--- binutils-2.45.orig/gas/Makefile.am  2026-03-12 15:53:57.773938766 +0100
+++ binutils-2.45/gas/Makefile.am       2026-03-12 15:54:10.174150854 +0100
@@ -408,7 +408,7 @@ AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -
 # How to link with both our special library facilities
 # and the system's installed libraries.
 
-GASLIBS = @OPCODES_LIB@ ../bfd/libbfd.la ../libiberty/libiberty.a
+GASLIBS = @OPCODES_LIB@ ../bfd/libbfd.la ../libsframe/libsframe.la 
../libiberty/libiberty.a
 
 # Files to be copied away after each stage in building.
 STAGESTUFF = *.@OBJEXT@ $(noinst_PROGRAMS)
Index: binutils-2.45/gas/Makefile.in
===================================================================
--- binutils-2.45.orig/gas/Makefile.in  2025-07-27 01:00:00.000000000 +0200
+++ binutils-2.45/gas/Makefile.in       2026-03-12 15:54:23.734382812 +0100
@@ -897,7 +897,7 @@ AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -
 
 # How to link with both our special library facilities
 # and the system's installed libraries.
-GASLIBS = @OPCODES_LIB@ ../bfd/libbfd.la ../libiberty/libiberty.a
+GASLIBS = @OPCODES_LIB@ ../bfd/libbfd.la ../libsframe/libsframe.la 
../libiberty/libiberty.a
 
 # Files to be copied away after each stage in building.
 STAGESTUFF = *.@OBJEXT@ $(noinst_PROGRAMS)
Index: binutils-2.45/gprof/Makefile.am
===================================================================
--- binutils-2.45.orig/gprof/Makefile.am        2025-07-27 01:00:00.000000000 
+0200
+++ binutils-2.45/gprof/Makefile.am     2026-03-12 15:55:21.326367850 +0100
@@ -46,7 +46,7 @@ sources = basic_blocks.c call_graph.c cg
        i386.c alpha.c vax.c sparc.c mips.c aarch64.c
 gprof_SOURCES = $(sources) flat_bl.c bsd_callg_bl.c fsf_callg_bl.c
 gprof_DEPENDENCIES = ../bfd/libbfd.la ../libiberty/libiberty.a $(LIBINTL_DEP)
-gprof_LDADD = ../bfd/libbfd.la ../libiberty/libiberty.a $(LIBINTL)
+gprof_LDADD = ../bfd/libbfd.la ../libsframe/libsframe.la 
../libiberty/libiberty.a $(LIBINTL)
 
 noinst_HEADERS = \
        basic_blocks.h call_graph.h cg_arcs.h cg_dfn.h cg_print.h \
Index: binutils-2.45/gprof/Makefile.in
===================================================================
--- binutils-2.45.orig/gprof/Makefile.in        2025-07-27 01:00:00.000000000 
+0200
+++ binutils-2.45/gprof/Makefile.in     2026-03-12 15:55:33.751580377 +0100
@@ -469,7 +469,7 @@ sources = basic_blocks.c call_graph.c cg
 
 gprof_SOURCES = $(sources) flat_bl.c bsd_callg_bl.c fsf_callg_bl.c
 gprof_DEPENDENCIES = ../bfd/libbfd.la ../libiberty/libiberty.a $(LIBINTL_DEP)
-gprof_LDADD = ../bfd/libbfd.la ../libiberty/libiberty.a $(LIBINTL)
+gprof_LDADD = ../bfd/libbfd.la ../libsframe/libsframe.la 
../libiberty/libiberty.a $(LIBINTL)
 noinst_HEADERS = \
        basic_blocks.h call_graph.h cg_arcs.h cg_dfn.h cg_print.h \
        corefile.h gmon.h gmon_io.h gmon_out.h gprof.h hertz.h hist.h \
Index: binutils-2.45/ld/Makefile.am
===================================================================
--- binutils-2.45.orig/ld/Makefile.am   2025-07-27 01:00:00.000000000 +0200
+++ binutils-2.45/ld/Makefile.am        2026-03-12 15:54:47.614791250 +0100
@@ -142,7 +142,7 @@ AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -
        @INCINTL@ $(HDEFINES) $(CFLAGS) @LARGEFILE_CPPFLAGS@ \
        -DLOCALEDIR="\"$(datadir)/locale\""
 
-BFDLIB = ../bfd/libbfd.la
+BFDLIB = ../bfd/libbfd.la ../libsframe/libsframe.la
 LIBIBERTY = ../libiberty/libiberty.a
 if ENABLE_LIBCTF
 LIBCTF = ../libctf/libctf.la
Index: binutils-2.45/ld/Makefile.in
===================================================================
--- binutils-2.45.orig/ld/Makefile.in   2025-07-27 01:00:00.000000000 +0200
+++ binutils-2.45/ld/Makefile.in        2026-03-12 15:55:00.920018798 +0100
@@ -656,7 +656,7 @@ AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -
        @INCINTL@ $(HDEFINES) $(CFLAGS) @LARGEFILE_CPPFLAGS@ \
        -DLOCALEDIR="\"$(datadir)/locale\""
 
-BFDLIB = ../bfd/libbfd.la
+BFDLIB = ../bfd/libbfd.la ../libsframe/libsframe.la
 LIBIBERTY = ../libiberty/libiberty.a
 @ENABLE_LIBCTF_FALSE@LIBCTF = 
 @ENABLE_LIBCTF_TRUE@LIBCTF = ../libctf/libctf.la


++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-04-16 15:49:06.000000000 +0200
@@ -0,0 +1 @@
+.osc

Reply via email to