Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package binutils for openSUSE:Factory checked in at 2021-04-08 21:01:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/binutils (Old) and /work/SRC/openSUSE:Factory/.binutils.new.2401 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "binutils" Thu Apr 8 21:01:19 2021 rev:148 rq:881490 version:2.36 Changes: -------- --- /work/SRC/openSUSE:Factory/binutils/binutils.changes 2021-03-10 08:49:06.190384110 +0100 +++ /work/SRC/openSUSE:Factory/.binutils.new.2401/binutils.changes 2021-04-08 21:01:22.493849401 +0200 @@ -1,0 +2,10 @@ +Fri Mar 26 10:06:58 UTC 2021 - Martin Li??ka <[email protected]> + +- Update 2.36 branch diff which fixes PR27587. + +------------------------------------------------------------------- +Wed Mar 3 12:53:27 UTC 2021 - Martin Li??ka <[email protected]> + +- Do not run make TARGET-bfd=headers separately. + +------------------------------------------------------------------- cross-aarch64-binutils.changes: same change cross-arm-binutils.changes: same change cross-avr-binutils.changes: same change cross-epiphany-binutils.changes: same change cross-hppa-binutils.changes: same change cross-hppa64-binutils.changes: same change cross-i386-binutils.changes: same change cross-ia64-binutils.changes: same change cross-m68k-binutils.changes: same change cross-mips-binutils.changes: same change cross-ppc-binutils.changes: same change cross-ppc64-binutils.changes: same change cross-ppc64le-binutils.changes: same change cross-riscv64-binutils.changes: same change cross-rx-binutils.changes: same change cross-s390-binutils.changes: same change cross-s390x-binutils.changes: same change cross-sparc-binutils.changes: same change cross-sparc64-binutils.changes: same change cross-spu-binutils.changes: same change cross-x86_64-binutils.changes: same change cross-xtensa-binutils.changes: same change ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ binutils.spec ++++++ --- /var/tmp/diff_new_pack.IlUp9S/_old 2021-04-08 21:01:25.505852654 +0200 +++ /var/tmp/diff_new_pack.IlUp9S/_new 2021-04-08 21:01:25.505852654 +0200 @@ -113,7 +113,6 @@ size, strings, and strip. These utilities are needed whenever you want to compile a program or kernel. - %package gold Summary: The gold linker License: GPL-3.0-or-later @@ -281,9 +280,6 @@ %endif --enable-shared \ --enable-obsolete -make %{?_smp_mflags} all-bfd TARGET-bfd=headers -# force reconfiguring (???) -rm bfd/Makefile make %{?_smp_mflags} %else cross-aarch64-binutils.spec: same change cross-arm-binutils.spec: same change cross-avr-binutils.spec: same change cross-epiphany-binutils.spec: same change cross-hppa-binutils.spec: same change cross-hppa64-binutils.spec: same change cross-i386-binutils.spec: same change cross-ia64-binutils.spec: same change cross-m68k-binutils.spec: same change cross-mips-binutils.spec: same change cross-ppc-binutils.spec: same change cross-ppc64-binutils.spec: same change cross-ppc64le-binutils.spec: same change cross-riscv64-binutils.spec: same change cross-rx-binutils.spec: same change cross-s390-binutils.spec: same change cross-s390x-binutils.spec: same change cross-sparc-binutils.spec: same change cross-sparc64-binutils.spec: same change cross-spu-binutils.spec: same change cross-x86_64-binutils.spec: same change cross-xtensa-binutils.spec: same change ++++++ binutils-2.36-branch.diff.gz ++++++ --- /var/tmp/diff_new_pack.IlUp9S/_old 2021-04-08 21:01:26.013853203 +0200 +++ /var/tmp/diff_new_pack.IlUp9S/_new 2021-04-08 21:01:26.017853207 +0200 @@ -1,8 +1,17 @@ diff --git a/ChangeLog b/ChangeLog -index 185bde7efbd..8420c77ff49 100644 +index 185bde7efbd..1a00154ef51 100644 --- a/ChangeLog +++ b/ChangeLog -@@ -1,3 +1,8 @@ +@@ -1,3 +1,17 @@ ++2021-03-18 Nick Alcock <[email protected]> ++ ++ PR libctf/27482 ++ * Makefile.def: Add install-bfd dependencies for install-libctf and ++ install-ld, and install-strip-bfd dependencies for ++ install-strip-libctf and install-strip-ld; move the install-ld ++ dependency on install-libctf to join it. ++ * Makefile.in: Regenerated. ++ +2021-01-26 Nick Alcock <[email protected]> + + * Makefile.def: Add install-libctf dependency to install-ld. @@ -12,34 +21,57 @@ * 2.36 release branch crated. diff --git a/Makefile.def b/Makefile.def -index cc429aa8628..b45e580da5b 100644 +index cc429aa8628..eb15489390e 100644 --- a/Makefile.def +++ b/Makefile.def -@@ -448,6 +448,7 @@ dependencies = { module=all-binutils; on=all-intl; }; - dependencies = { module=all-binutils; on=all-gas; }; - dependencies = { module=all-binutils; on=all-libctf; }; - dependencies = { module=all-ld; on=all-libctf; }; +@@ -455,6 +455,14 @@ dependencies = { module=all-ld; on=all-libctf; }; + dependencies = { module=install-binutils; on=install-opcodes; }; + dependencies = { module=install-strip-binutils; on=install-strip-opcodes; }; + ++// Likewise for ld, libctf, and bfd. ++dependencies = { module=install-libctf; on=install-bfd; }; ++dependencies = { module=install-ld; on=install-bfd; }; +dependencies = { module=install-ld; on=install-libctf; }; - - // We put install-opcodes before install-binutils because the installed - // binutils might be on PATH, and they might need the shared opcodes ++dependencies = { module=install-strip-libctf; on=install-strip-bfd; }; ++dependencies = { module=install-strip-ld; on=install-strip-bfd; }; ++dependencies = { module=install-strip-ld; on=install-strip-libctf; }; ++ + // libopcodes depends on libbfd + dependencies = { module=install-opcodes; on=install-bfd; }; + dependencies = { module=install-strip-opcodes; on=install-strip-bfd; }; diff --git a/Makefile.in b/Makefile.in -index 4fe7321786e..c2c852c5660 100644 +index 4fe7321786e..a63050cd3e6 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -52111,6 +52111,7 @@ all-stage3-ld: maybe-all-stage3-libctf - all-stage4-ld: maybe-all-stage4-libctf - all-stageprofile-ld: maybe-all-stageprofile-libctf +@@ -52113,6 +52113,12 @@ all-stageprofile-ld: maybe-all-stageprofile-libctf all-stagefeedback-ld: maybe-all-stagefeedback-libctf -+install-ld: maybe-install-libctf install-binutils: maybe-install-opcodes install-strip-binutils: maybe-install-strip-opcodes ++install-libctf: maybe-install-bfd ++install-ld: maybe-install-bfd ++install-ld: maybe-install-libctf ++install-strip-libctf: maybe-install-strip-bfd ++install-strip-ld: maybe-install-strip-bfd ++install-strip-ld: maybe-install-strip-libctf install-opcodes: maybe-install-bfd + install-strip-opcodes: maybe-install-strip-bfd + configure-gas: maybe-configure-intl diff --git a/bfd/ChangeLog b/bfd/ChangeLog -index 91a828c550a..d49efdb618a 100644 +index 91a828c550a..24d25dc1a46 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog -@@ -1,3 +1,72 @@ +@@ -1,3 +1,83 @@ ++2021-03-22 H.J. Lu <[email protected]> ++ ++ PR ld/27587 ++ * dwarf2.c (read_attribute_value): Check version >= 3 for ++ DW_FORM_ref_addr. ++ ++2021-03-02 Alan Modra <[email protected]> ++ ++ * elf64-ppc.c (ppc64_elf_relocate_section): Don't optimise got ++ indirect to pc-relative or toc-relative for undefined symbols. ++ +2021-03-01 Alan Modra <[email protected]> + + Apply from mainline @@ -212,9 +244,18 @@ # Indicate whether this is a release branch. experimental=false diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c -index 292d60c33d4..240138d5982 100644 +index 292d60c33d4..5651696c0f7 100644 --- a/bfd/dwarf2.c +++ b/bfd/dwarf2.c +@@ -1195,7 +1195,7 @@ read_attribute_value (struct attribute * attr, + case DW_FORM_ref_addr: + /* DW_FORM_ref_addr is an address in DWARF2, and an offset in + DWARF3. */ +- if (unit->version == 3 || unit->version == 4) ++ if (unit->version >= 3) + { + if (unit->offset_size == 4) + attr->u.val = read_4_bytes (unit->abfd, info_ptr, info_ptr_end); @@ -3289,9 +3289,6 @@ read_rnglists (struct comp_unit *unit, struct arange *arange, return FALSE; } @@ -252,6 +293,40 @@ if (ft32_reloc_map [i].bfd_reloc_val == code) return & ft32_elf_howto_table [ft32_reloc_map[i].ft32_reloc_val]; +diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c +index 3119aaca84c..77f2c855864 100644 +--- a/bfd/elf64-ppc.c ++++ b/bfd/elf64-ppc.c +@@ -16071,6 +16071,9 @@ ppc64_elf_relocate_section (bfd *output_bfd, + break; + from = TOCstart + htab->sec_info[input_section->id].toc_off; + if (relocation + addend - from + 0x8000 < 0x10000 ++ && sec != NULL ++ && sec->output_section != NULL ++ && !discarded_section (sec) + && (h == NULL || SYMBOL_REFERENCES_LOCAL (info, &h->elf))) + { + insn = bfd_get_32 (input_bfd, contents + (rel->r_offset & ~3)); +@@ -16091,6 +16094,9 @@ ppc64_elf_relocate_section (bfd *output_bfd, + break; + from = TOCstart + htab->sec_info[input_section->id].toc_off; + if (relocation + addend - from + 0x80008000ULL < 0x100000000ULL ++ && sec != NULL ++ && sec->output_section != NULL ++ && !discarded_section (sec) + && (h == NULL || SYMBOL_REFERENCES_LOCAL (info, &h->elf))) + { + insn = bfd_get_32 (input_bfd, contents + (rel->r_offset & ~3)); +@@ -16119,6 +16125,9 @@ ppc64_elf_relocate_section (bfd *output_bfd, + + input_section->output_section->vma + + input_section->output_offset); + if (!(relocation - from + (1ULL << 33) < 1ULL << 34 ++ && sec != NULL ++ && sec->output_section != NULL ++ && !discarded_section (sec) + && (h == NULL || SYMBOL_REFERENCES_LOCAL (info, &h->elf)))) + break; + diff --git a/bfd/elflink.c b/bfd/elflink.c index 27564adb8c3..08f241d79a5 100644 --- a/bfd/elflink.c @@ -905,7 +980,7 @@ "%P: warning: GNU indirect functions with DT_TEXTREL may result in a segfault " "at runtime; recompile with %s\n" diff --git a/bfd/version.h b/bfd/version.h -index bb5893386f5..03820cf2c8f 100644 +index bb5893386f5..1a98aa0021b 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -16,7 +16,7 @@ @@ -913,7 +988,7 @@ In releases, the date is not included in either version strings or sonames. */ -#define BFD_VERSION_DATE 20210124 -+#define BFD_VERSION_DATE 20210301 ++#define BFD_VERSION_DATE 20210326 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ @@ -3269,10 +3344,27 @@ }; diff --git a/ld/ChangeLog b/ld/ChangeLog -index 1a2a60e70e7..bb21b1b8ee6 100644 +index 1a2a60e70e7..7c5237a73df 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog -@@ -1,3 +1,70 @@ +@@ -1,3 +1,87 @@ ++2021-03-22 H.J. Lu <[email protected]> ++ ++ PR ld/27587 ++ * testsuite/ld-x86-64/pr27587.err: New file. ++ * testsuite/ld-x86-64/pr27587a.obj.bz2: Likewise. ++ * testsuite/ld-x86-64/pr27587b.obj.bz2: Likewise. ++ * testsuite/ld-x86-64/x86-64.exp: Run PR ld/27587 test. ++ ++2021-03-02 Alan Modra <[email protected]> ++ ++ * testsuite/ld-powerpc/weak1.d, ++ * testsuite/ld-powerpc/weak1.r, ++ * testsuite/ld-powerpc/weak1.s, ++ * testsuite/ld-powerpc/weak1so.d, ++ * testsuite/ld-powerpc/weak1so.r: New tests. ++ * testsuite/ld-powerpc/powerpc.exp: Run them. ++ +2021-02-07 H.J. Lu <[email protected]> + + PR ld/27358 @@ -3827,6 +3919,139 @@ +{ + return 0; +} +diff --git a/ld/testsuite/ld-powerpc/powerpc.exp b/ld/testsuite/ld-powerpc/powerpc.exp +index 45485e6c5d1..8aa0eccfa0e 100644 +--- a/ld/testsuite/ld-powerpc/powerpc.exp ++++ b/ld/testsuite/ld-powerpc/powerpc.exp +@@ -344,6 +344,12 @@ set ppc64elftests { + {"group3" "-melf64ppc -e foo" "" "-a64" {group3.s group2.s group1.s} + {{objdump {-d} group2.d} + {readelf {-s} group3.sym}} "group3"} ++ {"weak1" "-melf64ppc --hash-style=both" "" ++ "-a64 -mpower10" {weak1.s} ++ {{objdump -d weak1.d} {readelf {-srW} weak1.r}} "weak1"} ++ {"weak1.so" "-shared -melf64ppc --hash-style=both" "" ++ "-a64 -mpower10" {weak1.s} ++ {{objdump -d weak1so.d} {readelf {-srW} weak1so.r}} "weak1.so"} + } + + set ppceabitests { +diff --git a/ld/testsuite/ld-powerpc/weak1.d b/ld/testsuite/ld-powerpc/weak1.d +new file mode 100644 +index 00000000000..c0127539ddd +--- /dev/null ++++ b/ld/testsuite/ld-powerpc/weak1.d +@@ -0,0 +1,26 @@ ++ ++.*: file format .* ++ ++Disassembly of section \.text: ++ ++.*0c0 <_start>: ++.*0c0: (04 10 00 01|01 00 10 04) pld r3,65888 ++.*0c4: (e4 60 01 60|60 01 60 e4) ++.*0c8: (04 10 00 01|01 00 10 04) pld r3,65856 ++.*0cc: (e4 60 01 40|40 01 60 e4) ++.*0d0: (04 10 00 01|01 00 10 04) pld r3,65864 ++.*0d4: (e4 60 01 48|48 01 60 e4) ++.*0d8: (04 10 00 01|01 00 10 04) pld r3,65848 ++.*0dc: (e4 60 01 38|38 01 60 e4) ++.*0e0: (e8 62 80 20|20 80 62 e8) ld r3,-32736\(r2\) ++.*0e4: (e8 62 80 08|08 80 62 e8) ld r3,-32760\(r2\) ++.*0e8: (e8 62 80 18|18 80 62 e8) ld r3,-32744\(r2\) ++.*0ec: (e8 62 80 10|10 80 62 e8) ld r3,-32752\(r2\) ++.*0f0: (60 00 00 00|00 00 00 60) nop ++.*0f4: (e8 62 80 20|20 80 62 e8) ld r3,-32736\(r2\) ++.*0f8: (60 00 00 00|00 00 00 60) nop ++.*0fc: (e8 62 80 08|08 80 62 e8) ld r3,-32760\(r2\) ++.*100: (60 00 00 00|00 00 00 60) nop ++.*104: (e8 62 80 18|18 80 62 e8) ld r3,-32744\(r2\) ++.*108: (60 00 00 00|00 00 00 60) nop ++.*10c: (e8 62 80 10|10 80 62 e8) ld r3,-32752\(r2\) +diff --git a/ld/testsuite/ld-powerpc/weak1.r b/ld/testsuite/ld-powerpc/weak1.r +new file mode 100644 +index 00000000000..7d73f38cbb3 +--- /dev/null ++++ b/ld/testsuite/ld-powerpc/weak1.r +@@ -0,0 +1,5 @@ ++ ++There are no relocations in this file. ++ ++Symbol table '\.symtab' .* ++#pass +diff --git a/ld/testsuite/ld-powerpc/weak1.s b/ld/testsuite/ld-powerpc/weak1.s +new file mode 100644 +index 00000000000..0f370d974ba +--- /dev/null ++++ b/ld/testsuite/ld-powerpc/weak1.s +@@ -0,0 +1,22 @@ ++ .weak x1, x2, x3, x4 ++ .protected x2 ++ .hidden x3 ++ .internal x4 ++ .global _start ++_start: ++ pld 3,x1@got@pcrel ++ pld 3,x2@got@pcrel ++ pld 3,x3@got@pcrel ++ pld 3,x4@got@pcrel ++ ld 3,x1@got(2) ++ ld 3,x2@got(2) ++ ld 3,x3@got(2) ++ ld 3,x4@got(2) ++ addis 9,2,x1@got@ha ++ ld 3,x1@got@l(9) ++ addis 9,2,x2@got@ha ++ ld 3,x2@got@l(9) ++ addis 9,2,x3@got@ha ++ ld 3,x3@got@l(9) ++ addis 9,2,x4@got@ha ++ ld 3,x4@got@l(9) +diff --git a/ld/testsuite/ld-powerpc/weak1so.d b/ld/testsuite/ld-powerpc/weak1so.d +new file mode 100644 +index 00000000000..0d34b3b4840 +--- /dev/null ++++ b/ld/testsuite/ld-powerpc/weak1so.d +@@ -0,0 +1,26 @@ ++ ++.*: file format .* ++ ++Disassembly of section \.text: ++ ++0+1c0 <_start>: ++ 1c0: (04 10 00 01|01 00 10 04) pld r3,66144 ++ 1c4: (e4 60 02 60|60 02 60 e4) ++ 1c8: (04 10 00 01|01 00 10 04) pld r3,66112 ++ 1cc: (e4 60 02 40|40 02 60 e4) ++ 1d0: (04 10 00 01|01 00 10 04) pld r3,66120 ++ 1d4: (e4 60 02 48|48 02 60 e4) ++ 1d8: (04 10 00 01|01 00 10 04) pld r3,66104 ++ 1dc: (e4 60 02 38|38 02 60 e4) ++ 1e0: (e8 62 80 20|20 80 62 e8) ld r3,-32736\(r2\) ++ 1e4: (e8 62 80 08|08 80 62 e8) ld r3,-32760\(r2\) ++ 1e8: (e8 62 80 18|18 80 62 e8) ld r3,-32744\(r2\) ++ 1ec: (e8 62 80 10|10 80 62 e8) ld r3,-32752\(r2\) ++ 1f0: (60 00 00 00|00 00 00 60) nop ++ 1f4: (e8 62 80 20|20 80 62 e8) ld r3,-32736\(r2\) ++ 1f8: (60 00 00 00|00 00 00 60) nop ++ 1fc: (e8 62 80 08|08 80 62 e8) ld r3,-32760\(r2\) ++ 200: (60 00 00 00|00 00 00 60) nop ++ 204: (e8 62 80 18|18 80 62 e8) ld r3,-32744\(r2\) ++ 208: (60 00 00 00|00 00 00 60) nop ++ 20c: (e8 62 80 10|10 80 62 e8) ld r3,-32752\(r2\) +diff --git a/ld/testsuite/ld-powerpc/weak1so.r b/ld/testsuite/ld-powerpc/weak1so.r +new file mode 100644 +index 00000000000..dcc91f1879a +--- /dev/null ++++ b/ld/testsuite/ld-powerpc/weak1so.r +@@ -0,0 +1,7 @@ ++#... ++.* R_PPC64_GLOB_DAT +0+ x1 \+ 0 ++#... ++.* 0+ +0 NOTYPE +WEAK +DEFAULT +UND x1 ++#... ++.* 0+ +0 NOTYPE +WEAK +DEFAULT +UND x1 ++#pass diff --git a/ld/testsuite/ld-tic6x/tic6x.exp b/ld/testsuite/ld-tic6x/tic6x.exp index e11699bed31..0a913da25d9 100644 --- a/ld/testsuite/ld-tic6x/tic6x.exp @@ -3843,11 +4068,40 @@ } run_ld_link_tests $shlibtests +diff --git a/ld/testsuite/ld-x86-64/pr27587.err b/ld/testsuite/ld-x86-64/pr27587.err +new file mode 100644 +index 00000000000..fa870790813 +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr27587.err +@@ -0,0 +1,3 @@ ++#... ++.*pr27587.i:4: undefined reference to `stack_size' ++#... +diff --git a/ld/testsuite/ld-x86-64/pr27587a.obj.bz2 b/ld/testsuite/ld-x86-64/pr27587a.obj.bz2 +new file mode 100644 +index 00000000000..eebcf54d44d +Binary files /dev/null and b/ld/testsuite/ld-x86-64/pr27587a.obj.bz2 differ +diff --git a/ld/testsuite/ld-x86-64/pr27587b.obj.bz2 b/ld/testsuite/ld-x86-64/pr27587b.obj.bz2 +new file mode 100644 +index 00000000000..8506e4eccdb +Binary files /dev/null and b/ld/testsuite/ld-x86-64/pr27587b.obj.bz2 differ diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp -index 83fdaa7db65..da0d2a76f3b 100644 +index 83fdaa7db65..d2ec1ddc328 100644 --- a/ld/testsuite/ld-x86-64/x86-64.exp +++ b/ld/testsuite/ld-x86-64/x86-64.exp -@@ -1582,69 +1582,6 @@ if { [isnative] && [check_compiler_available] } { +@@ -221,6 +221,11 @@ set x86_64tests { + "-melf_x86_64 -pie -z notext tmpdir/pr20550a.o tmpdir/pr20550b.so" + "" + "--64" { dummy.s } {} "pr20550"} ++ {"Build pr27587" ++ "-melf_x86_64 -e main" ++ "" "" ++ { pr27587a.obj.bz2 pr27587b.obj.bz2 } ++ {{ld "pr27587.err"}} "pr27587"} + } + + run_ld_link_tests $x86_64tests +@@ -1582,69 +1587,6 @@ if { [isnative] && [check_compiler_available] } { {pass.c property-stack.S} \ "property-3-static" "pass.out" \ ] \
