forked from pool/binutils
- 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
86 lines
4.2 KiB
Diff
86 lines
4.2 KiB
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-10 17:19:10.507052021 +0100
|
|
@@ -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-10 17:35:09.627318609 +0100
|
|
@@ -746,7 +746,8 @@ OPCODES = ../opcodes/libopcodes.la
|
|
@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-10 17:48:32.624849274 +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-10 17:48:51.441165631 +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 \
|