Accepting request 929013 from devel:gcc
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941. - Fix empty man-pages from broken release tarball [PR28144]. - Update binutils-skip-rpaths.patch with contained a memory corruption (boo#1191473). - Configure with --disable-x86-used-note on old code streams. - Disable libalternatives temporarily for build cycle reasons. - make TARGET-bfd=headers again, we patch bfd-in.h - This state submitted to SLE12 and SLE15 code streams for annual toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618] - Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for PR28422, PR28192, PR28391. Also adds some s390x arch14 instructions [jsc#SLE-18637]. - Using libalternatives instead of update-alternatives. - Adjust for testsuite fails on older products that configure binutils in different ways, adds binutils-compat-old-behaviour.diff and adjusts binutils-revert-nm-symversion.diff and binutils-revert-plt32-in-branches.diff. - Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941. - Fix empty man-pages from broken release tarball [PR28144]. - Update binutils-skip-rpaths.patch with contained a memory corruption (boo#1191473). OBS-URL: https://build.opensuse.org/request/show/929013 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/binutils?expand=0&rev=151
This commit is contained in:
commit
4f855bd7fc
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:fcfb8e1aba4fc2bb64a6005491e80dafa1741a25aa61b8e4e552711f3d48f78b
|
oid sha256:a180feaacc91632c8418ec9c460309a213ad23f8ed5f08387421759fef042c42
|
||||||
size 88423
|
size 110663
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
Remove the #error to avoid issues with legacy not dealing with this
|
Remove the #error to avoid issues with legacy not dealing with this
|
||||||
|
|
||||||
--- bfd/bfd-in.h.orig 2012-11-30 13:44:35.715871571 +0100
|
Index: bfd/bfd-in.h
|
||||||
+++ bfd/bfd-in.h 2012-11-30 13:44:43.428871298 +0100
|
===================================================================
|
||||||
@@ -25,11 +25,6 @@
|
--- bfd/bfd-in.h.orig
|
||||||
|
+++ bfd/bfd-in.h
|
||||||
|
@@ -23,11 +23,6 @@
|
||||||
#ifndef __BFD_H_SEEN__
|
#ifndef __BFD_H_SEEN__
|
||||||
#define __BFD_H_SEEN__
|
#define __BFD_H_SEEN__
|
||||||
|
|
||||||
|
181
binutils-compat-old-behaviour.diff
Normal file
181
binutils-compat-old-behaviour.diff
Normal file
@ -0,0 +1,181 @@
|
|||||||
|
This adjusts some testcases that expect new behaviour:
|
||||||
|
* that relaxable relocations are generated
|
||||||
|
* that separate-code is default
|
||||||
|
- this also implies that default max-page-size is 0x1000, instead of the
|
||||||
|
old 0x200000, so some testcases need to encode that as well
|
||||||
|
Index: binutils-2.37/ld/testsuite/ld-elf/linux-x86.exp
|
||||||
|
===================================================================
|
||||||
|
--- binutils-2.37.orig/ld/testsuite/ld-elf/linux-x86.exp
|
||||||
|
+++ binutils-2.37/ld/testsuite/ld-elf/linux-x86.exp
|
||||||
|
@@ -125,7 +125,7 @@ proc check_pr25749a {testname srcfilea s
|
||||||
|
}
|
||||||
|
|
||||||
|
# Suppress warning for unsupported attribute from older GCC.
|
||||||
|
- append cflags " -w"
|
||||||
|
+ append cflags " -w -Wa,-mrelax-relocations=yes"
|
||||||
|
|
||||||
|
exec cp $srcdir/$subdir/$srcfilea $srcfilea
|
||||||
|
exec chmod +w $srcfilea
|
||||||
|
@@ -246,7 +246,7 @@ proc check_pr25749b {testname srcfilea s
|
||||||
|
[list \
|
||||||
|
"Build lib${testname}.so ($dsoldflags)" \
|
||||||
|
"-shared $dsoldflags tmpdir/pr25749-bin.o" \
|
||||||
|
- "-fPIC -I../bfd" \
|
||||||
|
+ "-fPIC -I../bfd -Wa,-mrelax-relocations=yes" \
|
||||||
|
[list $srcfileb] \
|
||||||
|
{{readelf {-Wr} pr25749.rd}} \
|
||||||
|
"lib${testname}.so" \
|
||||||
|
Index: binutils-2.37/ld/testsuite/ld-i386/report-reloc-1.d
|
||||||
|
===================================================================
|
||||||
|
--- binutils-2.37.orig/ld/testsuite/ld-i386/report-reloc-1.d
|
||||||
|
+++ binutils-2.37/ld/testsuite/ld-i386/report-reloc-1.d
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
#source: report-reloc-1.s
|
||||||
|
#as: --32
|
||||||
|
-#ld: -pie -melf_i386 -z report-relative-reloc
|
||||||
|
+#ld: -pie -melf_i386 -z report-relative-reloc -z separate-code
|
||||||
|
#warning_output: report-reloc-1.l
|
||||||
|
#readelf: -r --wide
|
||||||
|
|
||||||
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/pe-x86-64.exp
|
||||||
|
===================================================================
|
||||||
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/pe-x86-64.exp
|
||||||
|
+++ binutils-2.37/ld/testsuite/ld-x86-64/pe-x86-64.exp
|
||||||
|
@@ -27,7 +27,7 @@ if {![istarget "x86_64-*-linux*"] } {
|
||||||
|
run_ld_link_tests [list \
|
||||||
|
[list \
|
||||||
|
"Build pe-x86-64-1" \
|
||||||
|
- "-m elf_x86_64 --entry=begin" \
|
||||||
|
+ "-m elf_x86_64 --entry=begin -z separate-code -z max-page-size=4096" \
|
||||||
|
"" \
|
||||||
|
"" \
|
||||||
|
{pe-x86-64-1a.obj.bz2 pe-x86-64-1b.obj.bz2 pe-x86-64-1c.obj.bz2} \
|
||||||
|
@@ -36,7 +36,7 @@ run_ld_link_tests [list \
|
||||||
|
] \
|
||||||
|
[list \
|
||||||
|
"Build pe-x86-64-2" \
|
||||||
|
- "-m elf_x86_64 --entry=begin" \
|
||||||
|
+ "-m elf_x86_64 --entry=begin -z separate-code -z max-page-size=4096" \
|
||||||
|
"" \
|
||||||
|
"" \
|
||||||
|
{pe-x86-64-2a.obj.bz2 pe-x86-64-2b.obj.bz2 pe-x86-64-2c.obj.bz2} \
|
||||||
|
@@ -45,7 +45,7 @@ run_ld_link_tests [list \
|
||||||
|
] \
|
||||||
|
[list \
|
||||||
|
"Build pe-x86-64-3" \
|
||||||
|
- "-m elf_x86_64 --entry=begin" \
|
||||||
|
+ "-m elf_x86_64 --entry=begin -z separate-code -z max-page-size=4096" \
|
||||||
|
"" \
|
||||||
|
"" \
|
||||||
|
{pe-x86-64-3a.obj.bz2 pe-x86-64-3b.obj.bz2 pe-x86-64-3c.obj.bz2 \
|
||||||
|
@@ -55,7 +55,7 @@ run_ld_link_tests [list \
|
||||||
|
] \
|
||||||
|
[list \
|
||||||
|
"Build pe-x86-64-4" \
|
||||||
|
- "-m elf_x86_64 --entry=begin" \
|
||||||
|
+ "-m elf_x86_64 --entry=begin -z separate-code -z max-page-size=4096" \
|
||||||
|
"" \
|
||||||
|
"" \
|
||||||
|
{pe-x86-64-4a.obj.bz2 pe-x86-64-4b.obj.bz2 pe-x86-64-4c.obj.bz2 \
|
||||||
|
@@ -65,7 +65,7 @@ run_ld_link_tests [list \
|
||||||
|
] \
|
||||||
|
[list \
|
||||||
|
"Build pe-x86-64-5" \
|
||||||
|
- "-m elf_x86_64 --entry=begin" \
|
||||||
|
+ "-m elf_x86_64 --entry=begin -z separate-code -z max-page-size=4096" \
|
||||||
|
"" \
|
||||||
|
"" \
|
||||||
|
{pe-x86-64-5.obj.bz2 } \
|
||||||
|
@@ -75,7 +75,7 @@ run_ld_link_tests [list \
|
||||||
|
] \
|
||||||
|
[list \
|
||||||
|
"Build pe-x86-64-6" \
|
||||||
|
- "-m elf_x86_64 --entry=main" \
|
||||||
|
+ "-m elf_x86_64 --entry=main -z separate-code -z max-page-size=4096" \
|
||||||
|
"" \
|
||||||
|
"" \
|
||||||
|
{pe-x86-64-6.obj.bz2 } \
|
||||||
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/report-reloc-1-x32.d
|
||||||
|
===================================================================
|
||||||
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/report-reloc-1-x32.d
|
||||||
|
+++ binutils-2.37/ld/testsuite/ld-x86-64/report-reloc-1-x32.d
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
#source: report-reloc-1.s
|
||||||
|
#as: --x32
|
||||||
|
-#ld: -pie -melf32_x86_64 -z report-relative-reloc
|
||||||
|
+#ld: -pie -melf32_x86_64 -z report-relative-reloc -z separate-code -z max-page-size=4096
|
||||||
|
#warning_output: report-reloc-1.l
|
||||||
|
#readelf: -r --wide
|
||||||
|
|
||||||
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/report-reloc-1.d
|
||||||
|
===================================================================
|
||||||
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/report-reloc-1.d
|
||||||
|
+++ binutils-2.37/ld/testsuite/ld-x86-64/report-reloc-1.d
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
#source: report-reloc-1.s
|
||||||
|
#as: --64
|
||||||
|
-#ld: -pie -melf_x86_64 -z report-relative-reloc
|
||||||
|
+#ld: -pie -melf_x86_64 -z report-relative-reloc -z separate-code -z max-page-size=4096
|
||||||
|
#warning_output: report-reloc-1.l
|
||||||
|
#readelf: -r --wide
|
||||||
|
|
||||||
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/pr19609-4e.d
|
||||||
|
===================================================================
|
||||||
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/pr19609-4e.d
|
||||||
|
+++ binutils-2.37/ld/testsuite/ld-x86-64/pr19609-4e.d
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
#source: pr19609-4.s
|
||||||
|
#as: --64 -mrelax-relocations=yes
|
||||||
|
-#ld: -melf_x86_64 -Ttext=0x70000000 -Tdata=0xa0000000 --no-relax
|
||||||
|
+#ld: -melf_x86_64 -Ttext=0x70000000 -Tdata=0xa0000000 --no-relax -z separate-code -z max-page-size=4096
|
||||||
|
#objdump: -dw
|
||||||
|
|
||||||
|
.*: +file format .*
|
||||||
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/pr19609-6a.d
|
||||||
|
===================================================================
|
||||||
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/pr19609-6a.d
|
||||||
|
+++ binutils-2.37/ld/testsuite/ld-x86-64/pr19609-6a.d
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
#source: pr19609-6.s
|
||||||
|
#as: --64 -mrelax-relocations=yes
|
||||||
|
-#ld: -melf_x86_64 --defsym foobar=0x80000000
|
||||||
|
+#ld: -melf_x86_64 --defsym foobar=0x80000000 -z separate-code -z max-page-size=4096
|
||||||
|
#objdump: -dw
|
||||||
|
|
||||||
|
.*: +file format .*
|
||||||
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/pr19609-6b.d
|
||||||
|
===================================================================
|
||||||
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/pr19609-6b.d
|
||||||
|
+++ binutils-2.37/ld/testsuite/ld-x86-64/pr19609-6b.d
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
#source: pr19609-6.s
|
||||||
|
#as: --64 -mrelax-relocations=yes
|
||||||
|
-#ld: -melf_x86_64 --defsym foobar=0x80000000 --no-relax
|
||||||
|
+#ld: -melf_x86_64 --defsym foobar=0x80000000 --no-relax -z separate-code -z max-page-size=4096
|
||||||
|
#objdump: -dw
|
||||||
|
|
||||||
|
.*: +file format .*
|
||||||
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/pr19609-7b.d
|
||||||
|
===================================================================
|
||||||
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/pr19609-7b.d
|
||||||
|
+++ binutils-2.37/ld/testsuite/ld-x86-64/pr19609-7b.d
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
#source: pr19609-7.s
|
||||||
|
#as: --64 -mrelax-relocations=yes
|
||||||
|
-#ld: -melf_x86_64 -Ttext=0x80000000 --no-relax
|
||||||
|
+#ld: -melf_x86_64 -Ttext=0x80000000 --no-relax -z separate-code -z max-page-size=4096
|
||||||
|
#objdump: -dw
|
||||||
|
|
||||||
|
.*: +file format .*
|
||||||
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/pr19609-7d.d
|
||||||
|
===================================================================
|
||||||
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/pr19609-7d.d
|
||||||
|
+++ binutils-2.37/ld/testsuite/ld-x86-64/pr19609-7d.d
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
#source: pr19609-7.s
|
||||||
|
#as: --x32 -mrelax-relocations=yes
|
||||||
|
-#ld: -melf32_x86_64 -Ttext=0x80000000 --no-relax
|
||||||
|
+#ld: -melf32_x86_64 -Ttext=0x80000000 --no-relax -z separate-code -z max-page-size=4096
|
||||||
|
#objdump: -dw
|
||||||
|
|
||||||
|
.*: +file format .*
|
@ -4,31 +4,60 @@ file with symbol names. ld errors on the '@' characters. Until
|
|||||||
those packages are fixed we use this patch. We have to carry it
|
those packages are fixed we use this patch. We have to carry it
|
||||||
for old code streams forever.
|
for old code streams forever.
|
||||||
|
|
||||||
diff --git a/binutils/nm.c b/binutils/nm.c
|
Index: binutils-2.37/binutils/nm.c
|
||||||
index 2637756c647..253714ef179 100644
|
===================================================================
|
||||||
--- a/binutils/nm.c
|
--- binutils-2.37.orig/binutils/nm.c
|
||||||
+++ b/binutils/nm.c
|
+++ binutils-2.37/binutils/nm.c
|
||||||
@@ -458,7 +458,7 @@ print_symname (const char *form, struct extended_symbol_info *info,
|
@@ -183,7 +183,7 @@ static int show_version = 0; /* Show the
|
||||||
name = alloc;
|
static int show_synthetic = 0; /* Display synthesized symbols too. */
|
||||||
}
|
static int line_numbers = 0; /* Print line numbers for symbols. */
|
||||||
|
static int allow_special_symbols = 0; /* Allow special symbols. */
|
||||||
|
-static int with_symbol_versions = -1; /* Output symbol version information. */
|
||||||
|
+static int with_symbol_versions = 0; /* Output symbol version information. */
|
||||||
|
static int quiet = 0; /* Suppress "no symbols" diagnostic. */
|
||||||
|
|
||||||
- if (info != NULL && info->elfinfo && with_symbol_versions)
|
/* The characters to use for global and local ifunc symbols. */
|
||||||
+ if (info != NULL && info->elfinfo && with_symbol_versions && 0)
|
Index: binutils-2.37/ld/testsuite/ld-elf/shared.exp
|
||||||
{
|
===================================================================
|
||||||
const char *version_string;
|
--- binutils-2.37.orig/ld/testsuite/ld-elf/shared.exp
|
||||||
bool hidden;
|
+++ binutils-2.37/ld/testsuite/ld-elf/shared.exp
|
||||||
diff --git a/ld/testsuite/ld-elf/pr25708.d b/ld/testsuite/ld-elf/pr25708.d
|
@@ -938,8 +938,7 @@ run_cc_link_tests [list \
|
||||||
index 60b8e31807a..1b62e25347e 100644
|
"-fPIC" \
|
||||||
--- a/ld/testsuite/ld-elf/pr25708.d
|
{pr26302b.c} \
|
||||||
+++ b/ld/testsuite/ld-elf/pr25708.d
|
{{readelf {-sW} pr26302.rd} \
|
||||||
@@ -2,8 +2,9 @@
|
- {nm {-u} pr26302.nd} \
|
||||||
#ld: -shared -version-script pr13195.t
|
- {nm {-u -D} pr26302.nd} \
|
||||||
#nm: -D --with-symbol-versions
|
+ {nm {-u --with-symbol-versions} pr26302.nd} \
|
||||||
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
|
{nm {-u -D --with-symbol-versions} pr26302.nd}} \
|
||||||
-#xfail: hppa64-*-* ![check_shared_lib_support]
|
"pr26302b.so" \
|
||||||
+#xfail: *-*-* ![check_shared_lib_support]
|
] \
|
||||||
# h8300 doesn't support -shared, and hppa64 creates .foo
|
Index: binutils-2.37/gas/testsuite/gas/symver/symver0.d
|
||||||
+# our binutils revert the printing of symversions with nm -D
|
===================================================================
|
||||||
|
--- binutils-2.37.orig/gas/testsuite/gas/symver/symver0.d
|
||||||
|
+++ binutils-2.37/gas/testsuite/gas/symver/symver0.d
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-#nm: -n
|
||||||
|
+#nm: -n --with-symbol-versions
|
||||||
|
#name: symver symver0
|
||||||
|
#
|
||||||
|
# The #... and #pass are there to match extra symbols inserted by
|
||||||
|
Index: binutils-2.37/gas/testsuite/gas/symver/symver1.d
|
||||||
|
===================================================================
|
||||||
|
--- binutils-2.37.orig/gas/testsuite/gas/symver/symver1.d
|
||||||
|
+++ binutils-2.37/gas/testsuite/gas/symver/symver1.d
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-#nm: -n
|
||||||
|
+#nm: -n --with-symbol-versions
|
||||||
|
#name: symver symver1
|
||||||
|
#
|
||||||
|
# The #... and #pass are there to match extra symbols inserted by
|
||||||
|
Index: binutils-2.37/gas/testsuite/gas/symver/symver6.d
|
||||||
|
===================================================================
|
||||||
|
--- binutils-2.37.orig/gas/testsuite/gas/symver/symver6.d
|
||||||
|
+++ binutils-2.37/gas/testsuite/gas/symver/symver6.d
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-#nm: -n
|
||||||
|
+#nm: -n --with-symbol-versions
|
||||||
|
#name: symver symver6
|
||||||
|
#
|
||||||
|
|
||||||
#..
|
|
||||||
0+ A VERS_2.0
|
|
||||||
|
@ -79,11 +79,11 @@ Date: Tue Feb 13 07:34:22 2018 -0800
|
|||||||
* testsuite/ld-x86-64/pr22791-2c.s: Likewise.
|
* testsuite/ld-x86-64/pr22791-2c.s: Likewise.
|
||||||
* testsuite/ld-x86-64/x86-64.exp: Run PR ld/22791 tests.
|
* testsuite/ld-x86-64/x86-64.exp: Run PR ld/22791 tests.
|
||||||
|
|
||||||
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
|
Index: binutils-2.37/bfd/elf64-x86-64.c
|
||||||
index dc416a7f..b9f96729 100644
|
===================================================================
|
||||||
--- a/bfd/elf64-x86-64.c
|
--- binutils-2.37.orig/bfd/elf64-x86-64.c
|
||||||
+++ b/bfd/elf64-x86-64.c
|
+++ binutils-2.37/bfd/elf64-x86-64.c
|
||||||
@@ -1832,6 +1832,24 @@ elf_x86_64_convert_load_reloc (bfd *abfd,
|
@@ -1832,6 +1832,24 @@ elf_x86_64_convert_load_reloc (bfd *abfd
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -108,7 +108,7 @@ index dc416a7f..b9f96729 100644
|
|||||||
/* Look through the relocs for a section during the first phase, and
|
/* Look through the relocs for a section during the first phase, and
|
||||||
calculate needed space in the global offset table, procedure
|
calculate needed space in the global offset table, procedure
|
||||||
linkage table, and dynamic reloc sections. */
|
linkage table, and dynamic reloc sections. */
|
||||||
@@ -3159,9 +3177,6 @@ elf_x86_64_relocate_section (bfd *output_bfd,
|
@@ -3154,9 +3172,6 @@ elf_x86_64_relocate_section (bfd *output
|
||||||
&& (eh == NULL
|
&& (eh == NULL
|
||||||
|| !UNDEFINED_WEAK_RESOLVED_TO_ZERO (info,
|
|| !UNDEFINED_WEAK_RESOLVED_TO_ZERO (info,
|
||||||
eh)))
|
eh)))
|
||||||
@ -118,7 +118,7 @@ index dc416a7f..b9f96729 100644
|
|||||||
|| (no_copyreloc_p
|
|| (no_copyreloc_p
|
||||||
&& h->def_dynamic
|
&& h->def_dynamic
|
||||||
&& !(h->root.u.def.section->flags & SEC_CODE))))
|
&& !(h->root.u.def.section->flags & SEC_CODE))))
|
||||||
@@ -3170,20 +3185,25 @@ elf_x86_64_relocate_section (bfd *output_bfd,
|
@@ -3165,20 +3180,25 @@ elf_x86_64_relocate_section (bfd *output
|
||||||
|| bfd_link_dll (info)))
|
|| bfd_link_dll (info)))
|
||||||
{
|
{
|
||||||
bool fail = false;
|
bool fail = false;
|
||||||
@ -148,7 +148,7 @@ index dc416a7f..b9f96729 100644
|
|||||||
}
|
}
|
||||||
else if (no_copyreloc_p || bfd_link_dll (info))
|
else if (no_copyreloc_p || bfd_link_dll (info))
|
||||||
{
|
{
|
||||||
@@ -3192,9 +3212,10 @@ elf_x86_64_relocate_section (bfd *output_bfd,
|
@@ -3187,9 +3207,10 @@ elf_x86_64_relocate_section (bfd *output
|
||||||
relocations against default and protected
|
relocations against default and protected
|
||||||
symbols since address of protected function
|
symbols since address of protected function
|
||||||
and location of protected data may not be in
|
and location of protected data may not be in
|
||||||
@ -161,11 +161,11 @@ index dc416a7f..b9f96729 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (fail)
|
if (fail)
|
||||||
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
|
Index: binutils-2.37/gas/config/tc-i386.c
|
||||||
index d3441988e34..8f8fb086cd8 100644
|
===================================================================
|
||||||
--- a/gas/config/tc-i386.c
|
--- binutils-2.37.orig/gas/config/tc-i386.c
|
||||||
+++ b/gas/config/tc-i386.c
|
+++ binutils-2.37/gas/config/tc-i386.c
|
||||||
@@ -8793,55 +8793,12 @@ output_branch (void)
|
@@ -8770,55 +8770,12 @@ output_branch (void)
|
||||||
frag_var (rs_machine_dependent, 5, i.reloc[0], subtype, sym, off, p);
|
frag_var (rs_machine_dependent, 5, i.reloc[0], subtype, sym, off, p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -221,7 +221,7 @@ index d3441988e34..8f8fb086cd8 100644
|
|||||||
|
|
||||||
if (i.tm.opcode_modifier.jump == JUMP_BYTE)
|
if (i.tm.opcode_modifier.jump == JUMP_BYTE)
|
||||||
{
|
{
|
||||||
@@ -8915,17 +8872,8 @@ output_jump (void)
|
@@ -8892,17 +8849,8 @@ output_jump (void)
|
||||||
abort ();
|
abort ();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -240,7 +240,7 @@ index d3441988e34..8f8fb086cd8 100644
|
|||||||
|
|
||||||
/* All jumps handled here are signed, but don't unconditionally use a
|
/* All jumps handled here are signed, but don't unconditionally use a
|
||||||
signed limit check for 32 and 16 bit jumps as we want to allow wrap
|
signed limit check for 32 and 16 bit jumps as we want to allow wrap
|
||||||
@@ -12184,10 +12132,6 @@ md_estimate_size_before_relax (fragS *fragP, segT segment)
|
@@ -12190,10 +12138,6 @@ md_estimate_size_before_relax (fragS *fr
|
||||||
reloc_type = (enum bfd_reloc_code_real) fragP->fr_var;
|
reloc_type = (enum bfd_reloc_code_real) fragP->fr_var;
|
||||||
else if (size == 2)
|
else if (size == 2)
|
||||||
reloc_type = BFD_RELOC_16_PCREL;
|
reloc_type = BFD_RELOC_16_PCREL;
|
||||||
@ -251,10 +251,10 @@ index d3441988e34..8f8fb086cd8 100644
|
|||||||
else
|
else
|
||||||
reloc_type = BFD_RELOC_32_PCREL;
|
reloc_type = BFD_RELOC_32_PCREL;
|
||||||
|
|
||||||
diff --git a/gas/testsuite/gas/i386/ilp32/reloc64.d b/gas/testsuite/gas/i386/ilp32/reloc64.d
|
Index: binutils-2.37/gas/testsuite/gas/i386/ilp32/reloc64.d
|
||||||
index 78ca3fd9e38..a961679754a 100644
|
===================================================================
|
||||||
--- a/gas/testsuite/gas/i386/ilp32/reloc64.d
|
--- binutils-2.37.orig/gas/testsuite/gas/i386/ilp32/reloc64.d
|
||||||
+++ b/gas/testsuite/gas/i386/ilp32/reloc64.d
|
+++ binutils-2.37/gas/testsuite/gas/i386/ilp32/reloc64.d
|
||||||
@@ -17,7 +17,7 @@ Disassembly of section \.text:
|
@@ -17,7 +17,7 @@ Disassembly of section \.text:
|
||||||
.*[ ]+R_X86_64_PC8[ ]+xtrn\+0x0*1
|
.*[ ]+R_X86_64_PC8[ ]+xtrn\+0x0*1
|
||||||
.*[ ]+R_X86_64_PC32[ ]+xtrn-0x0*4
|
.*[ ]+R_X86_64_PC32[ ]+xtrn-0x0*4
|
||||||
@ -264,10 +264,10 @@ index 78ca3fd9e38..a961679754a 100644
|
|||||||
.*[ ]+R_X86_64_PC8[ ]+xtrn-0x0*1
|
.*[ ]+R_X86_64_PC8[ ]+xtrn-0x0*1
|
||||||
.*[ ]+R_X86_64_GOT32[ ]+xtrn
|
.*[ ]+R_X86_64_GOT32[ ]+xtrn
|
||||||
.*[ ]+R_X86_64_GOT32[ ]+xtrn
|
.*[ ]+R_X86_64_GOT32[ ]+xtrn
|
||||||
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-branch.d b/gas/testsuite/gas/i386/ilp32/x86-64-branch.d
|
Index: binutils-2.37/gas/testsuite/gas/i386/ilp32/x86-64-branch.d
|
||||||
index acf8c42ca97..57845fdc208 100644
|
===================================================================
|
||||||
--- a/gas/testsuite/gas/i386/ilp32/x86-64-branch.d
|
--- binutils-2.37.orig/gas/testsuite/gas/i386/ilp32/x86-64-branch.d
|
||||||
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-branch.d
|
+++ binutils-2.37/gas/testsuite/gas/i386/ilp32/x86-64-branch.d
|
||||||
@@ -20,9 +20,9 @@ Disassembly of section .text:
|
@@ -20,9 +20,9 @@ Disassembly of section .text:
|
||||||
[ ]*[a-f0-9]+: 66 ff 20 data16 jmp \*\(%rax\)
|
[ ]*[a-f0-9]+: 66 ff 20 data16 jmp \*\(%rax\)
|
||||||
[ ]*[a-f0-9]+: e8 00 00 00 00 call (0x)?1f <.*> 1b: R_X86_64_PC32 \*ABS\*\+0x10003c
|
[ ]*[a-f0-9]+: e8 00 00 00 00 call (0x)?1f <.*> 1b: R_X86_64_PC32 \*ABS\*\+0x10003c
|
||||||
@ -281,10 +281,10 @@ index acf8c42ca97..57845fdc208 100644
|
|||||||
[ ]*[a-f0-9]+: 66 c3 data16 ret *
|
[ ]*[a-f0-9]+: 66 c3 data16 ret *
|
||||||
[ ]*[a-f0-9]+: 66 c2 08 00 data16 ret \$0x8
|
[ ]*[a-f0-9]+: 66 c2 08 00 data16 ret \$0x8
|
||||||
[ ]*[a-f0-9]+: 3e 74 03[ ]+je,pt +[0-9a-fx]+ <.*>
|
[ ]*[a-f0-9]+: 3e 74 03[ ]+je,pt +[0-9a-fx]+ <.*>
|
||||||
diff --git a/gas/testsuite/gas/i386/reloc64.d b/gas/testsuite/gas/i386/reloc64.d
|
Index: binutils-2.37/gas/testsuite/gas/i386/reloc64.d
|
||||||
index 540a9b77d35..ea16c68de4b 100644
|
===================================================================
|
||||||
--- a/gas/testsuite/gas/i386/reloc64.d
|
--- binutils-2.37.orig/gas/testsuite/gas/i386/reloc64.d
|
||||||
+++ b/gas/testsuite/gas/i386/reloc64.d
|
+++ binutils-2.37/gas/testsuite/gas/i386/reloc64.d
|
||||||
@@ -20,7 +20,7 @@ Disassembly of section \.text:
|
@@ -20,7 +20,7 @@ Disassembly of section \.text:
|
||||||
.*[ ]+R_X86_64_PC8[ ]+xtrn\+0x0*1
|
.*[ ]+R_X86_64_PC8[ ]+xtrn\+0x0*1
|
||||||
.*[ ]+R_X86_64_PC32[ ]+xtrn-0x0*4
|
.*[ ]+R_X86_64_PC32[ ]+xtrn-0x0*4
|
||||||
@ -294,10 +294,10 @@ index 540a9b77d35..ea16c68de4b 100644
|
|||||||
.*[ ]+R_X86_64_PC8[ ]+xtrn-0x0*1
|
.*[ ]+R_X86_64_PC8[ ]+xtrn-0x0*1
|
||||||
.*[ ]+R_X86_64_GOT64[ ]+xtrn
|
.*[ ]+R_X86_64_GOT64[ ]+xtrn
|
||||||
.*[ ]+R_X86_64_GOT32[ ]+xtrn
|
.*[ ]+R_X86_64_GOT32[ ]+xtrn
|
||||||
diff --git a/gas/testsuite/gas/i386/x86-64-branch-2.d b/gas/testsuite/gas/i386/x86-64-branch-2.d
|
Index: binutils-2.37/gas/testsuite/gas/i386/x86-64-branch-2.d
|
||||||
index fab75a6394c..e025de90b68 100644
|
===================================================================
|
||||||
--- a/gas/testsuite/gas/i386/x86-64-branch-2.d
|
--- binutils-2.37.orig/gas/testsuite/gas/i386/x86-64-branch-2.d
|
||||||
+++ b/gas/testsuite/gas/i386/x86-64-branch-2.d
|
+++ binutils-2.37/gas/testsuite/gas/i386/x86-64-branch-2.d
|
||||||
@@ -9,12 +9,12 @@ Disassembly of section .text:
|
@@ -9,12 +9,12 @@ Disassembly of section .text:
|
||||||
|
|
||||||
0+ <bar-0xb>:
|
0+ <bar-0xb>:
|
||||||
@ -313,10 +313,10 @@ index fab75a6394c..e025de90b68 100644
|
|||||||
[ ]*[a-f0-9]+: 66 c3 retw *
|
[ ]*[a-f0-9]+: 66 c3 retw *
|
||||||
[ ]*[a-f0-9]+: 66 c2 08 00 retw \$0x8
|
[ ]*[a-f0-9]+: 66 c2 08 00 retw \$0x8
|
||||||
#pass
|
#pass
|
||||||
diff --git a/gas/testsuite/gas/i386/x86-64-jump.d b/gas/testsuite/gas/i386/x86-64-jump.d
|
Index: binutils-2.37/gas/testsuite/gas/i386/x86-64-jump.d
|
||||||
index 7d2c994ce26..58ad424badb 100644
|
===================================================================
|
||||||
--- a/gas/testsuite/gas/i386/x86-64-jump.d
|
--- binutils-2.37.orig/gas/testsuite/gas/i386/x86-64-jump.d
|
||||||
+++ b/gas/testsuite/gas/i386/x86-64-jump.d
|
+++ binutils-2.37/gas/testsuite/gas/i386/x86-64-jump.d
|
||||||
@@ -9,7 +9,7 @@ Disassembly of section .text:
|
@@ -9,7 +9,7 @@ Disassembly of section .text:
|
||||||
|
|
||||||
0+ <.text>:
|
0+ <.text>:
|
||||||
@ -335,10 +335,10 @@ index 7d2c994ce26..58ad424badb 100644
|
|||||||
[ ]*[a-f0-9]+: ff 14 25 00 00 00 00 call \*0x0 3d: R_X86_64_32S xxx
|
[ ]*[a-f0-9]+: ff 14 25 00 00 00 00 call \*0x0 3d: R_X86_64_32S xxx
|
||||||
[ ]*[a-f0-9]+: ff d7 call \*%rdi
|
[ ]*[a-f0-9]+: ff d7 call \*%rdi
|
||||||
[ ]*[a-f0-9]+: ff 17 call \*\(%rdi\)
|
[ ]*[a-f0-9]+: ff 17 call \*\(%rdi\)
|
||||||
diff --git a/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d b/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d
|
Index: binutils-2.37/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d
|
||||||
index 795f3fdacc4..1d692e8f04d 100644
|
===================================================================
|
||||||
--- a/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d
|
--- binutils-2.37.orig/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d
|
||||||
+++ b/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d
|
+++ binutils-2.37/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d
|
||||||
@@ -23,9 +23,9 @@ Disassembly of section .text:
|
@@ -23,9 +23,9 @@ Disassembly of section .text:
|
||||||
[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd call 34 <foo2>
|
[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd call 34 <foo2>
|
||||||
|
|
||||||
@ -352,10 +352,10 @@ index 795f3fdacc4..1d692e8f04d 100644
|
|||||||
[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmp 4d <foo2\+0x19> 49: R_X86_64_PLT32 foo-0x4
|
[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmp 4d <foo2\+0x19> 49: R_X86_64_PLT32 foo-0x4
|
||||||
[ ]*[a-f0-9]+: f2 0f 82 00 00 00 00 bnd jb 54 <foo2\+0x20> 50: R_X86_64_PLT32 foo-0x4
|
[ ]*[a-f0-9]+: f2 0f 82 00 00 00 00 bnd jb 54 <foo2\+0x20> 50: R_X86_64_PLT32 foo-0x4
|
||||||
[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd call 5a <foo2\+0x26> 56: R_X86_64_PLT32 foo-0x4
|
[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd call 5a <foo2\+0x26> 56: R_X86_64_PLT32 foo-0x4
|
||||||
diff --git a/gas/testsuite/gas/i386/x86-64-nop-3.d b/gas/testsuite/gas/i386/x86-64-nop-3.d
|
Index: binutils-2.37/gas/testsuite/gas/i386/x86-64-nop-3.d
|
||||||
index 1975481cc59..436487b5a99 100644
|
===================================================================
|
||||||
--- a/gas/testsuite/gas/i386/x86-64-nop-3.d
|
--- binutils-2.37.orig/gas/testsuite/gas/i386/x86-64-nop-3.d
|
||||||
+++ b/gas/testsuite/gas/i386/x86-64-nop-3.d
|
+++ binutils-2.37/gas/testsuite/gas/i386/x86-64-nop-3.d
|
||||||
@@ -18,5 +18,5 @@ Disassembly of section .text:
|
@@ -18,5 +18,5 @@ Disassembly of section .text:
|
||||||
Disassembly of section .altinstr_replacement:
|
Disassembly of section .altinstr_replacement:
|
||||||
|
|
||||||
@ -363,32 +363,32 @@ index 1975481cc59..436487b5a99 100644
|
|||||||
- +[a-f0-9]+: e9 00 00 00 00 jmp 5 <_start\+0x5> 1: R_X86_64_PLT32 foo-0x4
|
- +[a-f0-9]+: e9 00 00 00 00 jmp 5 <_start\+0x5> 1: R_X86_64_PLT32 foo-0x4
|
||||||
+ +[a-f0-9]+: e9 00 00 00 00 jmp 5 <_start\+0x5> 1: R_X86_64_PC32 foo-0x4
|
+ +[a-f0-9]+: e9 00 00 00 00 jmp 5 <_start\+0x5> 1: R_X86_64_PC32 foo-0x4
|
||||||
#pass
|
#pass
|
||||||
diff --git a/gas/testsuite/gas/i386/x86-64-nop-4.d b/gas/testsuite/gas/i386/x86-64-nop-4.d
|
Index: binutils-2.37/gas/testsuite/gas/i386/x86-64-nop-4.d
|
||||||
index 2da858db994..e390628b335 100644
|
===================================================================
|
||||||
--- a/gas/testsuite/gas/i386/x86-64-nop-4.d
|
--- binutils-2.37.orig/gas/testsuite/gas/i386/x86-64-nop-4.d
|
||||||
+++ b/gas/testsuite/gas/i386/x86-64-nop-4.d
|
+++ binutils-2.37/gas/testsuite/gas/i386/x86-64-nop-4.d
|
||||||
@@ -21,5 +21,5 @@ Disassembly of section .altinstr_replacement:
|
@@ -21,5 +21,5 @@ Disassembly of section .altinstr_replace
|
||||||
+[a-f0-9]+: 89 c0 mov %eax,%eax
|
+[a-f0-9]+: 89 c0 mov %eax,%eax
|
||||||
+[a-f0-9]+: 89 c0 mov %eax,%eax
|
+[a-f0-9]+: 89 c0 mov %eax,%eax
|
||||||
+[a-f0-9]+: 89 c0 mov %eax,%eax
|
+[a-f0-9]+: 89 c0 mov %eax,%eax
|
||||||
- +[a-f0-9]+: e9 00 00 00 00 jmp b <_start\+0xb> 7: R_X86_64_PLT32 foo-0x4
|
- +[a-f0-9]+: e9 00 00 00 00 jmp b <_start\+0xb> 7: R_X86_64_PLT32 foo-0x4
|
||||||
+ +[a-f0-9]+: e9 00 00 00 00 jmp b <_start\+0xb> 7: R_X86_64_PC32 foo-0x4
|
+ +[a-f0-9]+: e9 00 00 00 00 jmp b <_start\+0xb> 7: R_X86_64_PC32 foo-0x4
|
||||||
#pass
|
#pass
|
||||||
diff --git a/gas/testsuite/gas/i386/x86-64-nop-5.d b/gas/testsuite/gas/i386/x86-64-nop-5.d
|
Index: binutils-2.37/gas/testsuite/gas/i386/x86-64-nop-5.d
|
||||||
index d5c84c1edf8..69820d54de8 100644
|
===================================================================
|
||||||
--- a/gas/testsuite/gas/i386/x86-64-nop-5.d
|
--- binutils-2.37.orig/gas/testsuite/gas/i386/x86-64-nop-5.d
|
||||||
+++ b/gas/testsuite/gas/i386/x86-64-nop-5.d
|
+++ binutils-2.37/gas/testsuite/gas/i386/x86-64-nop-5.d
|
||||||
@@ -24,5 +24,5 @@ Disassembly of section .altinstr_replacement:
|
@@ -24,5 +24,5 @@ Disassembly of section .altinstr_replace
|
||||||
+[a-f0-9]+: 89 c0 mov %eax,%eax
|
+[a-f0-9]+: 89 c0 mov %eax,%eax
|
||||||
+[a-f0-9]+: 89 c0 mov %eax,%eax
|
+[a-f0-9]+: 89 c0 mov %eax,%eax
|
||||||
+[a-f0-9]+: 89 c0 mov %eax,%eax
|
+[a-f0-9]+: 89 c0 mov %eax,%eax
|
||||||
- +[a-f0-9]+: e9 00 00 00 00 jmp d <_start\+0xd> 9: R_X86_64_PLT32 foo-0x4
|
- +[a-f0-9]+: e9 00 00 00 00 jmp d <_start\+0xd> 9: R_X86_64_PLT32 foo-0x4
|
||||||
+ +[a-f0-9]+: e9 00 00 00 00 jmp d <_start\+0xd> 9: R_X86_64_PC32 foo-0x4
|
+ +[a-f0-9]+: e9 00 00 00 00 jmp d <_start\+0xd> 9: R_X86_64_PC32 foo-0x4
|
||||||
#pass
|
#pass
|
||||||
diff --git a/gas/testsuite/gas/i386/x86-64-relax-2.d b/gas/testsuite/gas/i386/x86-64-relax-2.d
|
Index: binutils-2.37/gas/testsuite/gas/i386/x86-64-relax-2.d
|
||||||
index fba47c14850..0949ab23907 100644
|
===================================================================
|
||||||
--- a/gas/testsuite/gas/i386/x86-64-relax-2.d
|
--- binutils-2.37.orig/gas/testsuite/gas/i386/x86-64-relax-2.d
|
||||||
+++ b/gas/testsuite/gas/i386/x86-64-relax-2.d
|
+++ binutils-2.37/gas/testsuite/gas/i386/x86-64-relax-2.d
|
||||||
@@ -11,12 +11,12 @@ Disassembly of section .text:
|
@@ -11,12 +11,12 @@ Disassembly of section .text:
|
||||||
0+ <foo>:
|
0+ <foo>:
|
||||||
[ ]*[a-f0-9]+: eb 24 jmp 26 <local>
|
[ ]*[a-f0-9]+: eb 24 jmp 26 <local>
|
||||||
@ -407,10 +407,10 @@ index fba47c14850..0949ab23907 100644
|
|||||||
|
|
||||||
0+22 <hidden_def>:
|
0+22 <hidden_def>:
|
||||||
[ ]*[a-f0-9]+: c3 ret *
|
[ ]*[a-f0-9]+: c3 ret *
|
||||||
diff --git a/gas/testsuite/gas/i386/x86-64-relax-3.d b/gas/testsuite/gas/i386/x86-64-relax-3.d
|
Index: binutils-2.37/gas/testsuite/gas/i386/x86-64-relax-3.d
|
||||||
index 01df9ef340e..d16e6a55395 100644
|
===================================================================
|
||||||
--- a/gas/testsuite/gas/i386/x86-64-relax-3.d
|
--- binutils-2.37.orig/gas/testsuite/gas/i386/x86-64-relax-3.d
|
||||||
+++ b/gas/testsuite/gas/i386/x86-64-relax-3.d
|
+++ binutils-2.37/gas/testsuite/gas/i386/x86-64-relax-3.d
|
||||||
@@ -12,10 +12,10 @@ Disassembly of section .text:
|
@@ -12,10 +12,10 @@ Disassembly of section .text:
|
||||||
[ ]*[a-f0-9]+: eb 1b jmp 1f <hidden_def>
|
[ ]*[a-f0-9]+: eb 1b jmp 1f <hidden_def>
|
||||||
[ ]*[a-f0-9]+: eb 1b jmp 21 <global_def>
|
[ ]*[a-f0-9]+: eb 1b jmp 21 <global_def>
|
||||||
@ -426,37 +426,34 @@ index 01df9ef340e..d16e6a55395 100644
|
|||||||
|
|
||||||
0+1f <hidden_def>:
|
0+1f <hidden_def>:
|
||||||
[ ]*[a-f0-9]+: c3 ret *
|
[ ]*[a-f0-9]+: c3 ret *
|
||||||
diff --git a/ld/testsuite/ld-x86-64/mpx1c.rd b/ld/testsuite/ld-x86-64/mpx1c.rd
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/mpx1c.rd
|
||||||
index d66524c8834..d3b292cbdc1 100644
|
===================================================================
|
||||||
--- a/ld/testsuite/ld-x86-64/mpx1c.rd
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/mpx1c.rd
|
||||||
+++ b/ld/testsuite/ld-x86-64/mpx1c.rd
|
+++ binutils-2.37/ld/testsuite/ld-x86-64/mpx1c.rd
|
||||||
@@ -1,3 +1,3 @@
|
@@ -1,3 +1,3 @@
|
||||||
#...
|
#...
|
||||||
-[0-9a-f ]+R_X86_64_PLT32 +0+ +.*
|
-[0-9a-f ]+R_X86_64_PLT32 +0+ +.*
|
||||||
+[0-9a-f ]+R_X86_64_PC32 +0+ +.*
|
+[0-9a-f ]+R_X86_64_PC32 +0+ +.*
|
||||||
#...
|
#...
|
||||||
diff --git a/ld/testsuite/ld-x86-64/pr22791-1.err b/ld/testsuite/ld-x86-64/pr22791-1.err
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/pr22791-1.err
|
||||||
deleted file mode 100644
|
===================================================================
|
||||||
index 8c5565992e7..00000000000
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/pr22791-1.err
|
||||||
--- a/ld/testsuite/ld-x86-64/pr22791-1.err
|
|
||||||
+++ /dev/null
|
+++ /dev/null
|
||||||
@@ -1,2 +0,0 @@
|
@@ -1,2 +0,0 @@
|
||||||
-.*relocation R_X86_64_PC32 against symbol `foo' can not be used when making a PIE object; recompile with -fPIE
|
-.*relocation R_X86_64_PC32 against symbol `foo' can not be used when making a PIE object; recompile with -fPIE
|
||||||
-#...
|
-#...
|
||||||
diff --git a/ld/testsuite/ld-x86-64/pr22791-1a.c b/ld/testsuite/ld-x86-64/pr22791-1a.c
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/pr22791-1a.c
|
||||||
deleted file mode 100644
|
===================================================================
|
||||||
index cd0130cacdf..00000000000
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/pr22791-1a.c
|
||||||
--- a/ld/testsuite/ld-x86-64/pr22791-1a.c
|
|
||||||
+++ /dev/null
|
+++ /dev/null
|
||||||
@@ -1,4 +0,0 @@
|
@@ -1,4 +0,0 @@
|
||||||
-void
|
-void
|
||||||
-foo (void)
|
-foo (void)
|
||||||
-{
|
-{
|
||||||
-}
|
-}
|
||||||
diff --git a/ld/testsuite/ld-x86-64/pr22791-1b.s b/ld/testsuite/ld-x86-64/pr22791-1b.s
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/pr22791-1b.s
|
||||||
deleted file mode 100644
|
===================================================================
|
||||||
index 9751db49aa5..00000000000
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/pr22791-1b.s
|
||||||
--- a/ld/testsuite/ld-x86-64/pr22791-1b.s
|
|
||||||
+++ /dev/null
|
+++ /dev/null
|
||||||
@@ -1,6 +0,0 @@
|
@@ -1,6 +0,0 @@
|
||||||
- .text
|
- .text
|
||||||
@ -465,10 +462,9 @@ index 9751db49aa5..00000000000
|
|||||||
-main:
|
-main:
|
||||||
- movl foo(%rip), %eax
|
- movl foo(%rip), %eax
|
||||||
- .size main, .-main
|
- .size main, .-main
|
||||||
diff --git a/ld/testsuite/ld-x86-64/pr22791-2.rd b/ld/testsuite/ld-x86-64/pr22791-2.rd
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/pr22791-2.rd
|
||||||
deleted file mode 100644
|
===================================================================
|
||||||
index 70deb30d84d..00000000000
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/pr22791-2.rd
|
||||||
--- a/ld/testsuite/ld-x86-64/pr22791-2.rd
|
|
||||||
+++ /dev/null
|
+++ /dev/null
|
||||||
@@ -1,6 +0,0 @@
|
@@ -1,6 +0,0 @@
|
||||||
-#failif
|
-#failif
|
||||||
@ -477,10 +473,9 @@ index 70deb30d84d..00000000000
|
|||||||
-#...
|
-#...
|
||||||
-[0-9a-f ]+R_X86_64_NONE.*
|
-[0-9a-f ]+R_X86_64_NONE.*
|
||||||
-#...
|
-#...
|
||||||
diff --git a/ld/testsuite/ld-x86-64/pr22791-2a.s b/ld/testsuite/ld-x86-64/pr22791-2a.s
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/pr22791-2a.s
|
||||||
deleted file mode 100644
|
===================================================================
|
||||||
index 0a855024d74..00000000000
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/pr22791-2a.s
|
||||||
--- a/ld/testsuite/ld-x86-64/pr22791-2a.s
|
|
||||||
+++ /dev/null
|
+++ /dev/null
|
||||||
@@ -1,8 +0,0 @@
|
@@ -1,8 +0,0 @@
|
||||||
- .text
|
- .text
|
||||||
@ -491,10 +486,9 @@ index 0a855024d74..00000000000
|
|||||||
- jmp bar
|
- jmp bar
|
||||||
- .size foo, .-foo
|
- .size foo, .-foo
|
||||||
- .section .note.GNU-stack,"",@progbits
|
- .section .note.GNU-stack,"",@progbits
|
||||||
diff --git a/ld/testsuite/ld-x86-64/pr22791-2b.c b/ld/testsuite/ld-x86-64/pr22791-2b.c
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/pr22791-2b.c
|
||||||
deleted file mode 100644
|
===================================================================
|
||||||
index 79ef27c0857..00000000000
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/pr22791-2b.c
|
||||||
--- a/ld/testsuite/ld-x86-64/pr22791-2b.c
|
|
||||||
+++ /dev/null
|
+++ /dev/null
|
||||||
@@ -1,7 +0,0 @@
|
@@ -1,7 +0,0 @@
|
||||||
-#include <stdio.h>
|
-#include <stdio.h>
|
||||||
@ -504,10 +498,9 @@ index 79ef27c0857..00000000000
|
|||||||
-{
|
-{
|
||||||
- puts ("PASS");
|
- puts ("PASS");
|
||||||
-}
|
-}
|
||||||
diff --git a/ld/testsuite/ld-x86-64/pr22791-2c.s b/ld/testsuite/ld-x86-64/pr22791-2c.s
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/pr22791-2c.s
|
||||||
deleted file mode 100644
|
===================================================================
|
||||||
index 1460d1b8288..00000000000
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/pr22791-2c.s
|
||||||
--- a/ld/testsuite/ld-x86-64/pr22791-2c.s
|
|
||||||
+++ /dev/null
|
+++ /dev/null
|
||||||
@@ -1,12 +0,0 @@
|
@@ -1,12 +0,0 @@
|
||||||
- .text
|
- .text
|
||||||
@ -522,10 +515,10 @@ index 1460d1b8288..00000000000
|
|||||||
- ret
|
- ret
|
||||||
- .size main, .-main
|
- .size main, .-main
|
||||||
- .section .note.GNU-stack,"",@progbits
|
- .section .note.GNU-stack,"",@progbits
|
||||||
diff --git a/ld/testsuite/ld-x86-64/pr22842b.S b/ld/testsuite/ld-x86-64/pr22842b.S
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/pr22842b.S
|
||||||
index f0659cd901e..b9dd81345b7 100644
|
===================================================================
|
||||||
--- a/ld/testsuite/ld-x86-64/pr22842b.S
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/pr22842b.S
|
||||||
+++ b/ld/testsuite/ld-x86-64/pr22842b.S
|
+++ binutils-2.37/ld/testsuite/ld-x86-64/pr22842b.S
|
||||||
@@ -7,7 +7,7 @@ main:
|
@@ -7,7 +7,7 @@ main:
|
||||||
leaq bar(%rip), %rdi
|
leaq bar(%rip), %rdi
|
||||||
addq %rax, %rdi
|
addq %rax, %rdi
|
||||||
@ -535,15 +528,14 @@ index f0659cd901e..b9dd81345b7 100644
|
|||||||
xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
popq %rcx
|
popq %rcx
|
||||||
retq
|
retq
|
||||||
diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp
|
Index: binutils-2.37/ld/testsuite/ld-x86-64/x86-64.exp
|
||||||
index 17fd10ee121..b4ae52ab376 100644
|
===================================================================
|
||||||
--- a/ld/testsuite/ld-x86-64/x86-64.exp
|
--- binutils-2.37.orig/ld/testsuite/ld-x86-64/x86-64.exp
|
||||||
+++ b/ld/testsuite/ld-x86-64/x86-64.exp
|
+++ binutils-2.37/ld/testsuite/ld-x86-64/x86-64.exp
|
||||||
@@ -1264,44 +1264,6 @@ if { [isnative] && [check_compiler_available] } {
|
@@ -1272,44 +1272,6 @@ if { [isnative] && [check_compiler_avail
|
||||||
{readelf -lW pr22393-3b.rd}} \
|
|
||||||
"pr22393-3-static" \
|
"pr22393-3-static" \
|
||||||
] \
|
] \
|
||||||
- [list \
|
[list \
|
||||||
- "Build pr22791-1.so" \
|
- "Build pr22791-1.so" \
|
||||||
- "-shared" \
|
- "-shared" \
|
||||||
- "-fPIC -Wa,-mx86-used-note=yes" \
|
- "-fPIC -Wa,-mx86-used-note=yes" \
|
||||||
@ -581,14 +573,14 @@ index 17fd10ee121..b4ae52ab376 100644
|
|||||||
- {{readelf -drW pr22791-2.rd}} \
|
- {{readelf -drW pr22791-2.rd}} \
|
||||||
- "pr22791-2" \
|
- "pr22791-2" \
|
||||||
- ] \
|
- ] \
|
||||||
[list \
|
- [list \
|
||||||
"Build pr22842.so" \
|
"Build pr22842.so" \
|
||||||
"-shared" \
|
"-shared" \
|
||||||
@@ -1703,15 +1665,6 @@ if { [isnative] && [check_compiler_available] } {
|
"-fPIC -Wa,-mx86-used-note=yes" \
|
||||||
"pr22393-3-static" \
|
@@ -1719,15 +1681,6 @@ if { [isnative] && [check_compiler_avail
|
||||||
"pass.out" \
|
"pass.out" \
|
||||||
] \
|
] \
|
||||||
- [list \
|
[list \
|
||||||
- "Run pr22791-2" \
|
- "Run pr22791-2" \
|
||||||
- "-pie -Wl,--no-as-needed tmpdir/pr22791-2.so" \
|
- "-pie -Wl,--no-as-needed tmpdir/pr22791-2.so" \
|
||||||
- "-Wa,-mx86-used-note=yes" \
|
- "-Wa,-mx86-used-note=yes" \
|
||||||
@ -597,6 +589,32 @@ index 17fd10ee121..b4ae52ab376 100644
|
|||||||
- "pass.out" \
|
- "pass.out" \
|
||||||
- "$NOPIE_CFLAGS" \
|
- "$NOPIE_CFLAGS" \
|
||||||
- ] \
|
- ] \
|
||||||
[list \
|
- [list \
|
||||||
"Run pr22842" \
|
"Run pr22842" \
|
||||||
"-pie -Wl,--no-as-needed tmpdir/pr22842.so" \
|
"-pie -Wl,--no-as-needed tmpdir/pr22842.so" \
|
||||||
|
"-Wa,-mx86-used-note=yes" \
|
||||||
|
Index: binutils-2.37/gas/testsuite/gas/i386/x86-64-branch-3.d
|
||||||
|
===================================================================
|
||||||
|
--- binutils-2.37.orig/gas/testsuite/gas/i386/x86-64-branch-3.d
|
||||||
|
+++ binutils-2.37/gas/testsuite/gas/i386/x86-64-branch-3.d
|
||||||
|
@@ -8,15 +8,15 @@
|
||||||
|
Disassembly of section .text:
|
||||||
|
|
||||||
|
0+ <bar-0xd>:
|
||||||
|
-[ ]*[a-f0-9]+: 66 e9 00 00 00 00 data16 jmp 6 <bar-0x7> 2: R_X86_64_PLT32 foo-0x4
|
||||||
|
-[ ]*[a-f0-9]+: 66 48 e9 00 00 00 00 data16 rex\.W jmp d <bar> 9: R_X86_64_PLT32 foo-0x4
|
||||||
|
+[ ]*[a-f0-9]+: 66 e9 00 00 00 00 data16 jmp 6 <bar-0x7> 2: R_X86_64_PC32 foo-0x4
|
||||||
|
+[ ]*[a-f0-9]+: 66 48 e9 00 00 00 00 data16 rex\.W jmp d <bar> 9: R_X86_64_PC32 foo-0x4
|
||||||
|
|
||||||
|
0+d <bar>:
|
||||||
|
[ ]*[a-f0-9]+: 89 c3 mov %eax,%ebx
|
||||||
|
-[ ]*[a-f0-9]+: 66 e8 00 00 00 00 data16 call 15 <bar\+0x8> 11: R_X86_64_PLT32 foo-0x4
|
||||||
|
-[ ]*[a-f0-9]+: 66 48 e8 00 00 00 00 data16 rex\.W call 1c <bar\+0xf> 18: R_X86_64_PLT32 foo-0x4
|
||||||
|
+[ ]*[a-f0-9]+: 66 e8 00 00 00 00 data16 call 15 <bar\+0x8> 11: R_X86_64_PC32 foo-0x4
|
||||||
|
+[ ]*[a-f0-9]+: 66 48 e8 00 00 00 00 data16 rex\.W call 1c <bar\+0xf> 18: R_X86_64_PC32 foo-0x4
|
||||||
|
[ ]*[a-f0-9]+: 66 c7 f8 00 00 xbeginw 21 <bar\+0x14> 1f: R_X86_64_PC16 foo-0x2
|
||||||
|
-[ ]*[a-f0-9]+: 66 48 c7 f8 00 00 00 00 data16 rex\.W xbegin 29 <bar\+0x1c> 25: R_X86_64_PLT32 foo-0x4
|
||||||
|
+[ ]*[a-f0-9]+: 66 48 c7 f8 00 00 00 00 data16 rex\.W xbegin 29 <bar\+0x1c> 25: R_X86_64_PC32 foo-0x4
|
||||||
|
[ ]*[a-f0-9]+: 48 ff 18 lcallq \*\(%rax\)
|
||||||
|
[ ]*[a-f0-9]+: 48 ff 29 ljmpq \*\(%rcx\)
|
||||||
|
#pass
|
||||||
|
@ -56,7 +56,7 @@ index 2e27cf48a8..7162d0cf91 100644
|
|||||||
asection *sinterp;
|
asection *sinterp;
|
||||||
bfd *abfd;
|
bfd *abfd;
|
||||||
struct bfd_link_hash_entry *ehdr_start = NULL;
|
struct bfd_link_hash_entry *ehdr_start = NULL;
|
||||||
@@ -1572,7 +1597,65 @@ ldelf_before_allocation (char *audit, char *depaudit,
|
@@ -1608,7 +1633,67 @@ ldelf_before_allocation (char *audit, char *depaudit,
|
||||||
by dynamic linking. */
|
by dynamic linking. */
|
||||||
rpath = command_line.rpath;
|
rpath = command_line.rpath;
|
||||||
if (rpath == NULL)
|
if (rpath == NULL)
|
||||||
@ -73,12 +73,14 @@ index 2e27cf48a8..7162d0cf91 100644
|
|||||||
+ fseek (ldso, 0, SEEK_END);
|
+ fseek (ldso, 0, SEEK_END);
|
||||||
+ endcur = ftell (ldso);
|
+ endcur = ftell (ldso);
|
||||||
+ fseek (ldso, 0, SEEK_SET);
|
+ fseek (ldso, 0, SEEK_SET);
|
||||||
+ dirs = xmalloc (endcur);
|
+ dirs = xmalloc (endcur + 1);
|
||||||
+ if (fread (dirs, 1, endcur, ldso) != (size_t) endcur)
|
+ if (fread (dirs, 1, endcur, ldso) != (size_t) endcur)
|
||||||
+ {
|
+ {
|
||||||
+ free (dirs);
|
+ free (dirs);
|
||||||
+ dirs = NULL;
|
+ dirs = NULL;
|
||||||
+ }
|
+ }
|
||||||
|
+ else
|
||||||
|
+ dirs[endcur] = '\0';
|
||||||
+ }
|
+ }
|
||||||
+ if (dirs)
|
+ if (dirs)
|
||||||
+ {
|
+ {
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -36,6 +36,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -101,12 +110,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -118,7 +132,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -192,6 +210,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -202,6 +223,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -272,6 +309,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -284,6 +322,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -351,6 +399,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -369,7 +418,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -388,12 +437,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -465,35 +526,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -512,7 +595,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -531,6 +620,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 3 08:23:52 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Rebase binutils-2.37-branch.diff: fixes PR28523 aka boo#1188941.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 15:57:53 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Fix empty man-pages from broken release tarball [PR28144].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 09:34:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update binutils-skip-rpaths.patch with contained a memory corruption
|
||||||
|
(boo#1191473).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:11:44 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Configure with --disable-x86-used-note on old code streams.
|
||||||
|
- Disable libalternatives temporarily for build cycle reasons.
|
||||||
|
- make TARGET-bfd=headers again, we patch bfd-in.h
|
||||||
|
- This state submitted to SLE12 and SLE15 code streams for annual
|
||||||
|
toolchain update. [jsc#PM-2767, jsc#SLE-21561, jsc#SLE-19618]
|
||||||
|
- Bump binutils-2.37-branch.diff to 66d5c7003, to include fixes for
|
||||||
|
PR28422, PR28192, PR28391. Also adds some s390x arch14
|
||||||
|
instructions [jsc#SLE-18637].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 10 23:16:12 CEST 2021 - Stefan Schubert schubi@suse.de
|
||||||
|
|
||||||
|
- Using libalternatives instead of update-alternatives.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 8 15:09:58 UTC 2021 - Michael Matz <matz@suse.com>
|
||||||
|
|
||||||
|
- Adjust for testsuite fails on older products that configure
|
||||||
|
binutils in different ways, adds binutils-compat-old-behaviour.diff
|
||||||
|
and adjusts binutils-revert-nm-symversion.diff and
|
||||||
|
binutils-revert-plt32-in-branches.diff.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
Tue Aug 3 13:36:19 UTC 2021 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
@ -39,6 +39,15 @@ BuildRequires: zlib-devel
|
|||||||
%endif
|
%endif
|
||||||
Version: 2.37
|
Version: 2.37
|
||||||
Release: 0
|
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
|
||||||
|
%bcond_without libalternatives
|
||||||
|
%else
|
||||||
|
%bcond_with libalternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# RUN_TESTS
|
# RUN_TESTS
|
||||||
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
%define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?)
|
||||||
@ -104,12 +113,17 @@ Patch38: binutils-fix-invalid-op-errata.diff
|
|||||||
Patch39: binutils-revert-nm-symversion.diff
|
Patch39: binutils-revert-nm-symversion.diff
|
||||||
Patch40: binutils-fix-abierrormsg.diff
|
Patch40: binutils-fix-abierrormsg.diff
|
||||||
Patch41: binutils-fix-relax.diff
|
Patch41: binutils-fix-relax.diff
|
||||||
|
Patch42: binutils-compat-old-behaviour.diff
|
||||||
Patch100: add-ulp-section.diff
|
Patch100: add-ulp-section.diff
|
||||||
Patch90: cross-avr-nesc-as.patch
|
Patch90: cross-avr-nesc-as.patch
|
||||||
Patch92: cross-avr-omit_section_dynsym.patch
|
Patch92: cross-avr-omit_section_dynsym.patch
|
||||||
Patch93: cross-avr-size.patch
|
Patch93: cross-avr-size.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
|
||||||
@ -121,7 +135,11 @@ Summary: The gold linker
|
|||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
Requires: binutils = %{version}-%{release}
|
Requires: binutils = %{version}-%{release}
|
||||||
|
%if %{with libalternatives}
|
||||||
|
Requires: alts
|
||||||
|
%else
|
||||||
PreReq: update-alternatives
|
PreReq: update-alternatives
|
||||||
|
%endif
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
%define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc
|
||||||
%endif
|
%endif
|
||||||
@ -195,6 +213,9 @@ echo "make check will return with %{make_check_handling} in case of testsuite fa
|
|||||||
%patch39 -p1
|
%patch39 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
|
%if %{suse_version} < 1550
|
||||||
|
%patch42 -p1
|
||||||
|
%endif
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%if "%{TARGET}" == "avr"
|
%if "%{TARGET}" == "avr"
|
||||||
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
||||||
@ -205,6 +226,22 @@ cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
|
|||||||
#
|
#
|
||||||
# test_vanilla
|
# test_vanilla
|
||||||
%endif
|
%endif
|
||||||
|
# in parallel builds, when the flex or bison inputs are patched (possibly
|
||||||
|
# in the ...-branch.diff) it might happen that the dependency tracking
|
||||||
|
# of automake is confused and uses the old .c files from srcdir/ld/ while
|
||||||
|
# also generating the new .c files in builddir/ld leading to trouble.
|
||||||
|
# I haven't found the right entries to ensure this doesn't happen, so
|
||||||
|
# simply remove the intermediates
|
||||||
|
rm -f ld/ldlex.c
|
||||||
|
rm -f ld/ldgram.c ld/ldgram.h
|
||||||
|
|
||||||
|
# The 2.37 released tarball contains wrongly pre-generated (empty) man pages
|
||||||
|
# so we remove those here as well. Consider removing for later releases.
|
||||||
|
rm -f binutils/doc/*.1
|
||||||
|
rm -f binutils/doc/cxxfilt.man
|
||||||
|
rm -f gprof/*.1
|
||||||
|
rm -f gas/doc/*.1
|
||||||
|
rm -f ld/*.1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define _lto_cflags %{nil}
|
%define _lto_cflags %{nil}
|
||||||
@ -275,6 +312,7 @@ cd build-dir
|
|||||||
--enable-compressed-debug-sections=gas \
|
--enable-compressed-debug-sections=gas \
|
||||||
%endif
|
%endif
|
||||||
%if %{suse_version} < 1550
|
%if %{suse_version} < 1550
|
||||||
|
--disable-x86-used-note \
|
||||||
--disable-separate-code \
|
--disable-separate-code \
|
||||||
%endif
|
%endif
|
||||||
--enable-new-dtags \
|
--enable-new-dtags \
|
||||||
@ -287,6 +325,16 @@ cd build-dir
|
|||||||
%endif
|
%endif
|
||||||
--enable-obsolete
|
--enable-obsolete
|
||||||
|
|
||||||
|
# we patch headers (bfd-in.h) that are input to other headers
|
||||||
|
# which are generated only with --enable-maintainer-mode (which we
|
||||||
|
# don't do) or explicitely by make headers, so do this:
|
||||||
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
# the above interacts with --enable-pgo-build=lto because all-bfd doesn't
|
||||||
|
# have the PGO handling, hence it's config.cache files are wrong
|
||||||
|
# remove all of those for reconfigure
|
||||||
|
rm */config.cache
|
||||||
|
# force reconfiguring
|
||||||
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
@ -354,6 +402,7 @@ EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
|
|||||||
%endif
|
%endif
|
||||||
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"}
|
||||||
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
|
||||||
|
rm */config.cache
|
||||||
# force reconfiguring
|
# force reconfiguring
|
||||||
rm bfd/Makefile
|
rm bfd/Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -372,7 +421,7 @@ cd build-dir
|
|||||||
%if 0%{?cross:1}
|
%if 0%{?cross:1}
|
||||||
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" CFLAGS_FOR_TARGET="-O2 -g" CXXFLAGS_FOR_TARGET="-O2 -g" || %{make_check_handling}
|
||||||
%else
|
%else
|
||||||
make -k check CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="$RPM_OPT_FLAGS" || %{make_check_handling}
|
make -k check CFLAGS="-g $RPM_OPT_FLAGS" CXXFLAGS="-g $RPM_OPT_FLAGS" CFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" CXXFLAGS_FOR_TARGET="-g $RPM_OPT_FLAGS" || %{make_check_handling}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -391,12 +440,24 @@ if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then
|
|||||||
else
|
else
|
||||||
rm -f "%buildroot/%_bindir/ld";
|
rm -f "%buildroot/%_bindir/ld";
|
||||||
fi
|
fi
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
mkdir -p "%buildroot/%_sysconfdir/alternatives";
|
||||||
# Keep older versions of brp-symlink happy
|
# Keep older versions of brp-symlink happy
|
||||||
%if %{suse_version} < 1310
|
%if %{suse_version} < 1310
|
||||||
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"
|
||||||
%endif
|
%endif
|
||||||
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld";
|
||||||
|
%else
|
||||||
|
ln -s %{_bindir}/alts "%buildroot/%_bindir/ld";
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/libalternatives/ld;
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/1.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.gold
|
||||||
|
EOF
|
||||||
|
cat > %{buildroot}%{_datadir}/libalternatives/ld/2.conf <<EOF
|
||||||
|
binary=%{_bindir}/ld.bfd
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
|
||||||
@ -468,35 +529,57 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
|
|||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
%if ! %{with libalternatives}
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
|
||||||
|
%endif
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%post gold
|
%post gold
|
||||||
"%_sbindir/update-alternatives" --install \
|
"%_sbindir/update-alternatives" --install \
|
||||||
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
"%_bindir/ld" ld "%_bindir/ld.gold" 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n libctf0 -p /sbin/ldconfig
|
%post -n libctf0 -p /sbin/ldconfig
|
||||||
%post -n libctf-nobfd0 -p /sbin/ldconfig
|
%post -n libctf-nobfd0 -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;
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
|
||||||
|
%if ! %{with libalternatives}
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with libalternatives}
|
||||||
%preun gold
|
%preun gold
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
|
||||||
fi;
|
fi;
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun -n libctf0 -p /sbin/ldconfig
|
%postun -n libctf0 -p /sbin/ldconfig
|
||||||
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
%postun -n libctf-nobfd0 -p /sbin/ldconfig
|
||||||
@ -515,7 +598,13 @@ fi;
|
|||||||
%dir %{_libdir}/bfd-plugins
|
%dir %{_libdir}/bfd-plugins
|
||||||
%{_libdir}/bfd-plugins/libdep.so
|
%{_libdir}/bfd-plugins/libdep.so
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%if ! 0%{with libalternatives}
|
||||||
%ghost %_sysconfdir/alternatives/ld
|
%ghost %_sysconfdir/alternatives/ld
|
||||||
|
%else
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/2.conf
|
||||||
|
%endif
|
||||||
%ifarch %gold_archs
|
%ifarch %gold_archs
|
||||||
%exclude %{_bindir}/gold
|
%exclude %{_bindir}/gold
|
||||||
%exclude %{_bindir}/ld.gold
|
%exclude %{_bindir}/ld.gold
|
||||||
@ -534,6 +623,11 @@ fi;
|
|||||||
%doc gold/NEWS gold/README
|
%doc gold/NEWS gold/README
|
||||||
%{_bindir}/gold
|
%{_bindir}/gold
|
||||||
%{_bindir}/ld.gold
|
%{_bindir}/ld.gold
|
||||||
|
%if %{with libalternatives}
|
||||||
|
%dir %{_datadir}/libalternatives
|
||||||
|
%dir %{_datadir}/libalternatives/ld
|
||||||
|
%{_datadir}/libalternatives/ld/1.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{!?cross:1}
|
%if 0%{!?cross:1}
|
||||||
|
Loading…
Reference in New Issue
Block a user