[packages/binutils] up to 2.39 (gasp disabled by default)
atler
atler at pld-linux.org
Sat Aug 6 17:34:45 CEST 2022
commit 4a5e8616ae6af7297c01b1479e8eff91141522cb
Author: Jan Palus <atler at pld-linux.org>
Date: Sat Aug 6 17:32:58 2022 +0200
up to 2.39 (gasp disabled by default)
- gasp no longer links, feel free to maintain the patch
- enabled jansson and msgpack by default
- CVE-2019-1010204 affects binutils until 2.31.1 so should be fixed for
a while now hence dropped the patch
binutils-CVE-2019-1010204.patch | 15 --------
binutils.spec | 61 ++++++++++++++++++++++++++-----
x86_crash.patch | 79 -----------------------------------------
3 files changed, 53 insertions(+), 102 deletions(-)
---
diff --git a/binutils.spec b/binutils.spec
index 5392b5b..f6d49b9 100644
--- a/binutils.spec
+++ b/binutils.spec
@@ -7,7 +7,10 @@
%bcond_with pax # without PaX flags (for upstream bugreports)
%bcond_without gold # don't build gold (no C++ dependencies)
%bcond_without default_bfd # default ld.bfd instead of gold
-%bcond_without gasp # gasp
+%bcond_with gasp # gasp
+%bcond_without gprofng # gprofng
+%bcond_without jansson # Package Metadata embedding support
+%bcond_without msgpack # msgpack support
%bcond_with tests # check target
%ifnarch %{ix86} %{x8664} x32 aarch64 %{arm}
@@ -16,6 +19,9 @@
%ifarch %{arm}
%undefine with_gasp
%endif
+%ifnarch %{ix86} %{x8664} aarch64
+%undefine with_gprofng 1
+%endif
Summary: GNU Binary Utility Development Utilities
Summary(de.UTF-8): GNU Binary Utility Development Utilities
@@ -27,13 +33,13 @@ Summary(ru.UTF-8): Набор инструментов GNU для построе
Summary(tr.UTF-8): GNU geliştirme araçları
Summary(uk.UTF-8): Набір інструментів GNU для побудови виконуваних програм
Name: binutils
-Version: 2.38
-Release: 2
+Version: 2.39
+Release: 1
Epoch: 4
License: GPL v3+
Group: Development/Tools
Source0: https://ftp.gnu.org/gnu/binutils/%{name}-%{version}.tar.lz
-# Source0-md5: a54dd3cba0f276a52063b7de151e6334
+# Source0-md5: 061a1460a09cc71e51886c008be55d44
Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
# Source1-md5: a717d9707ec77d82acb6ec9078c472d6
Patch0: %{name}-gasp.patch
@@ -45,18 +51,20 @@ Patch6: %{name}-absolute-gnu_debuglink-path.patch
Patch7: %{name}-libtool-m.patch
Patch9: %{name}-tooldir.patch
Patch10: %{name}-sanity-check.patch
-Patch11: binutils-CVE-2019-1010204.patch
-Patch12: x86_crash.patch
URL: http://www.sourceware.org/binutils/
BuildRequires: autoconf >= 2.69
BuildRequires: automake >= 1:1.11
BuildRequires: bison
BuildRequires: flex
BuildRequires: gettext-tools
+%{?with_jansson:BuildRequires: jansson-devel}
%{?with_gold:BuildRequires: libstdc++-devel >= 6:4.0-1}
%{?with_tests:BuildRequires: libstdc++-static >= 6:4.0}
BuildRequires: lzip
+%{?with_msgpack:BuildRequires: msgpack-devel}
BuildRequires: perl-tools-pod
+BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.527
%ifarch sparc sparc32
BuildRequires: sparc32
%endif
@@ -173,8 +181,8 @@ niektórych pakietów.
%patch7 -p1
%patch9 -p1
%patch10 -p1
-%patch11 -p1
-%patch12 -p1
+
+%{__sed} -i -e '1s,.*env perl,#!%{__perl},' gprofng/gp-display-html/gp-display-html.in
# file contains hacks for ac 2.69 only
%{__rm} config/override.m4
@@ -227,6 +235,7 @@ sparc32 \
--libdir=%{_libdir} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
+ --sysconfdir=%{_sysconfdir} \
--disable-debug \
--disable-silent-rules \
--disable-werror \
@@ -247,6 +256,8 @@ sparc32 \
%if %{with gold}
--enable-gold%{!?with_default_bfd:=default} --enable-ld%{?with_default_bfd:=default} \
%endif
+ %{__enable_disable msgpack} \
+ %{__enable_disable jansson}
%{__make}
@@ -321,11 +332,20 @@ rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%doc README
%{?with_gold:%doc gold-doc}
+%{?with_gprofng:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gprofng.rc}
%attr(755,root,root) %{_bindir}/addr2line
%attr(755,root,root) %{_bindir}/ar
%attr(755,root,root) %{_bindir}/as
%attr(755,root,root) %{_bindir}/c++filt
%attr(755,root,root) %{_bindir}/elfedit
+%if %{with gprofng}
+%attr(755,root,root) %{_bindir}/gp-archive
+%attr(755,root,root) %{_bindir}/gp-collect-app
+%attr(755,root,root) %{_bindir}/gp-display-html
+%attr(755,root,root) %{_bindir}/gp-display-src
+%attr(755,root,root) %{_bindir}/gp-display-text
+%attr(755,root,root) %{_bindir}/gprofng
+%endif
%attr(755,root,root) %{_bindir}/gprof
%attr(755,root,root) %{_bindir}/ld
%attr(755,root,root) %{_bindir}/ld.bfd
@@ -341,17 +361,36 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/size
%attr(755,root,root) %{_bindir}/strings
%attr(755,root,root) %{_bindir}/strip
+%if %{with gprofng}
+%dir %{_libdir}/gprofng
+%attr(755,root,root) %{_libdir}/gprofng/libgp-collector.so
+%attr(755,root,root) %{_libdir}/gprofng/libgp-collectorAPI.so
+%attr(755,root,root) %{_libdir}/gprofng/libgp-heap.so
+%attr(755,root,root) %{_libdir}/gprofng/libgp-iotrace.so
+%attr(755,root,root) %{_libdir}/gprofng/libgp-sync.so
+%attr(755,root,root) %{_libdir}/gprofng/libgprofng.so.*.*.*
+%attr(755,root,root) %{_libdir}/gprofng/libgprofng.so.0
+%endif
%{_prefix}/lib/ldscripts
%{_infodir}/as.info*
%{_infodir}/binutils.info*
%{_infodir}/ctf-spec.info*
%{_infodir}/gprof.info*
+%{?with_gprofng:%{_infodir}/gprofng.info*}
%{_infodir}/ld.info*
%{_mandir}/man1/addr2line.1*
%{_mandir}/man1/ar.1*
%{_mandir}/man1/as.1*
%{_mandir}/man1/c++filt.1*
%{_mandir}/man1/elfedit.1*
+%if %{with gprofng}
+%{_mandir}/man1/gp-archive.*
+%{_mandir}/man1/gp-collect-app.*
+%{_mandir}/man1/gp-display-html.*
+%{_mandir}/man1/gp-display-src.*
+%{_mandir}/man1/gp-display-text.*
+%{_mandir}/man1/gprofng.1*
+%endif
%{_mandir}/man1/gprof.1*
%{_mandir}/man1/ld.1*
%{_mandir}/man1/nm.1*
@@ -388,6 +427,7 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_libdir}/libctf.so
%attr(755,root,root) %{_libdir}/libctf-nobfd.so
%attr(755,root,root) %{_libdir}/libopcodes.so
+%{?with_gprofng:%attr(755,root,root) %{_libdir}/gprofng/libgprofng.so}
%{_libdir}/libbfd.la
%{_libdir}/libctf.la
%{_libdir}/libctf-nobfd.la
@@ -403,6 +443,11 @@ rm -rf $RPM_BUILD_ROOT
%{_includedir}/plugin-api.h
%{_includedir}/symcat.h
%{_includedir}/libiberty
+%if %{with gprofng}
+%{_includedir}/collectorAPI.h
+%{_includedir}/libcollector.h
+%{_includedir}/libfcollector.h
+%endif
%{_infodir}/bfd.info*
%files static
diff --git a/binutils-CVE-2019-1010204.patch b/binutils-CVE-2019-1010204.patch
deleted file mode 100644
index 56434b1..0000000
--- a/binutils-CVE-2019-1010204.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- binutils.orig/gold/fileread.cc 2019-08-06 14:22:08.669313110 +0100
-+++ binutils-2.32/gold/fileread.cc 2019-08-06 14:22:28.799177543 +0100
-@@ -381,6 +381,12 @@ File_read::do_read(off_t start, section_
- ssize_t bytes;
- if (this->whole_file_view_ != NULL)
- {
-+ // See PR 23765 for an example of a testcase that triggers this error.
-+ if (((ssize_t) start) < 0)
-+ gold_fatal(_("%s: read failed, starting offset (%#llx) less than zero"),
-+ this->filename().c_str(),
-+ static_cast<long long>(start));
-+
- bytes = this->size_ - start;
- if (static_cast<section_size_type>(bytes) >= size)
- {
diff --git a/x86_crash.patch b/x86_crash.patch
deleted file mode 100644
index 469243f..0000000
--- a/x86_crash.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From ae1cab7d3f39686d9c7ddadbac297e9ae76ffccf Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools at gmail.com>
-Date: Tue, 15 Feb 2022 15:03:02 -0800
-Subject: [PATCH] i386: Update I386_NEED_DYNAMIC_RELOC_TYPE_P for DT_TEXTREL
-
-Update I386_NEED_DYNAMIC_RELOC_TYPE_P to allow R_386_TLS_IE for relocation
-in read-only section.
-
-bfd/
-
- PR ld/28894
- * elfxx-x86.h (I386_NEED_DYNAMIC_RELOC_TYPE_P): Allow
- R_386_TLS_IE.
-
-ld/
- PR ld/28894
- * testsuite/ld-i386/i386.exp: Run pr28894.
- * testsuite/ld-i386/pr28894.d: New file.
- * testsuite/ld-i386/pr28894.s: Likewise.
-
-(cherry picked from commit 3319ba7a8d6a42ba071d691789bc184632399331)
----
- bfd/elfxx-x86.h | 1 +
- ld/testsuite/ld-i386/i386.exp | 1 +
- ld/testsuite/ld-i386/pr28894.d | 3 +++
- ld/testsuite/ld-i386/pr28894.s | 7 +++++++
- 4 files changed, 12 insertions(+)
- create mode 100644 ld/testsuite/ld-i386/pr28894.d
- create mode 100644 ld/testsuite/ld-i386/pr28894.s
-
-diff --git a/bfd/elfxx-x86.h b/bfd/elfxx-x86.h
-index 3219f363a9a..77fb1ad72bc 100644
---- a/bfd/elfxx-x86.h
-+++ b/bfd/elfxx-x86.h
-@@ -80,6 +80,7 @@
- #define I386_NEED_DYNAMIC_RELOC_TYPE_P(TYPE) \
- (I386_SIZE_TYPE_P (TYPE) \
- || I386_RELATIVE_RELOC_TYPE_P (TYPE) \
-+ || (TYPE) == R_386_TLS_IE \
- || (TYPE) == R_386_TLS_LE \
- || (TYPE) == R_386_TLS_LE_32)
- #define X86_NEED_DYNAMIC_RELOC_TYPE_P(IS_X86_64, TYPE) \
-diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp
-index d997c757325..fadbd160420 100644
---- a/ld/testsuite/ld-i386/i386.exp
-+++ b/ld/testsuite/ld-i386/i386.exp
-@@ -510,6 +510,7 @@ run_dump_test "pr27491-4"
- run_dump_test "dt-relr-1a"
- run_dump_test "dt-relr-1b"
- run_dump_test "pr28870"
-+run_dump_test "pr28894"
-
- if { !([istarget "i?86-*-linux*"]
- || [istarget "i?86-*-gnu*"]
-diff --git a/ld/testsuite/ld-i386/pr28894.d b/ld/testsuite/ld-i386/pr28894.d
-new file mode 100644
-index 00000000000..a8d1111eb1f
---- /dev/null
-+++ b/ld/testsuite/ld-i386/pr28894.d
-@@ -0,0 +1,3 @@
-+#as: --32
-+#ld: -shared -melf_i386 --warn-shared-textrel --fatal-warnings
-+#error: .*warning: creating DT_TEXTREL in a shared object
-diff --git a/ld/testsuite/ld-i386/pr28894.s b/ld/testsuite/ld-i386/pr28894.s
-new file mode 100644
-index 00000000000..1d3e3f37f3e
---- /dev/null
-+++ b/ld/testsuite/ld-i386/pr28894.s
-@@ -0,0 +1,7 @@
-+ .text
-+ addl foo at INDNTPOFF, %eax
-+ .section .tbss,"awT", at nobits
-+ .globl foo
-+ .hidden foo
-+foo:
-+ .byte 0
---
-2.27.0
-
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/binutils.git/commitdiff/4a5e8616ae6af7297c01b1479e8eff91141522cb
More information about the pld-cvs-commit
mailing list