Hello community,

here is the log from the commit of package binutils for openSUSE:Factory 
checked in at 2018-06-13 15:12:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/binutils (Old)
 and      /work/SRC/openSUSE:Factory/.binutils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "binutils"

Wed Jun 13 15:12:49 2018 rev:128 rq:613986 version:2.30

Changes:
--------
--- /work/SRC/openSUSE:Factory/binutils/binutils.changes        2018-04-04 
11:01:03.917506777 +0200
+++ /work/SRC/openSUSE:Factory/.binutils.new/binutils.changes   2018-06-13 
15:12:52.994925146 +0200
@@ -1,0 +2,11 @@
+Mon Jun  4 09:49:37 UTC 2018 - [email protected]
+
+- riscv-relax-versioned-hidden.patch: RISC-V: Fix symbol address problem
+  with versioned symbols (PR ld/22756)
+
+-------------------------------------------------------------------
+Sat May 12 20:57:32 UTC 2018 - [email protected]
+
+- Restore riscv64-elf cross prefix via symlinks
+
+-------------------------------------------------------------------
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

New:
----
  riscv-relax-versioned-hidden.patch

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

Other differences:
------------------
++++++ binutils.spec ++++++
--- /var/tmp/diff_new_pack.Y2wkDB/_old  2018-06-13 15:12:58.566721868 +0200
+++ /var/tmp/diff_new_pack.Y2wkDB/_new  2018-06-13 15:12:58.570721722 +0200
@@ -96,6 +96,7 @@
 Patch36:        binutils-pr22868.diff
 Patch37:        riscv-relax-size.patch
 Patch38:        riscv-relax-relocatable.patch
+Patch39:        riscv-relax-versioned-hidden.patch
 Patch90:        cross-avr-nesc-as.patch
 Patch92:        cross-avr-omit_section_dynsym.patch
 Patch93:        cross-avr-size.patch
@@ -169,6 +170,7 @@
 %patch36 -p1
 %patch37 -p1
 %patch38 -p1
+%patch39 -p1
 %if "%{TARGET}" == "avr"
 cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
 %patch90
@@ -409,6 +411,14 @@
     ln -sf %{_bindir}/$T-$(basename $f) %buildroot%{_bindir}/$p-$(basename $f)
   done
 done
+%endif
+%if "%{TARGET}" == "riscv64"
+# Instead of building duplicate binutils, add symlinks
+for f in %buildroot/usr/$T/bin/* ; do
+  for p in riscv64-elf; do
+    ln -sf %{_bindir}/$T-$(basename $f) %buildroot%{_bindir}/$p-$(basename $f)
+  done
+done
 %endif
 %if "%{TARGET}" == "avr"
 install -c gas-nesc/as-new $RPM_BUILD_ROOT%{_prefix}/bin/%{TARGET_OS}-nesc-as

++++++ cross-aarch64-binutils.spec ++++++
--- /var/tmp/diff_new_pack.Y2wkDB/_old  2018-06-13 15:12:58.590720993 +0200
+++ /var/tmp/diff_new_pack.Y2wkDB/_new  2018-06-13 15:12:58.594720847 +0200
@@ -99,6 +99,7 @@
 Patch36:        binutils-pr22868.diff
 Patch37:        riscv-relax-size.patch
 Patch38:        riscv-relax-relocatable.patch
+Patch39:        riscv-relax-versioned-hidden.patch
 Patch90:        cross-avr-nesc-as.patch
 Patch92:        cross-avr-omit_section_dynsym.patch
 Patch93:        cross-avr-size.patch
@@ -172,6 +173,7 @@
 %patch36 -p1
 %patch37 -p1
 %patch38 -p1
+%patch39 -p1
 %if "%{TARGET}" == "avr"
 cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
 %patch90
@@ -412,6 +414,14 @@
     ln -sf %{_bindir}/$T-$(basename $f) %buildroot%{_bindir}/$p-$(basename $f)
   done
 done
+%endif
+%if "%{TARGET}" == "riscv64"
+# Instead of building duplicate binutils, add symlinks
+for f in %buildroot/usr/$T/bin/* ; do
+  for p in riscv64-elf; do
+    ln -sf %{_bindir}/$T-$(basename $f) %buildroot%{_bindir}/$p-$(basename $f)
+  done
+done
 %endif
 %if "%{TARGET}" == "avr"
 install -c gas-nesc/as-new $RPM_BUILD_ROOT%{_prefix}/bin/%{TARGET_OS}-nesc-as

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
++++++ riscv-relax-versioned-hidden.patch ++++++
2018-06-03  Jim Wilson  <[email protected]>

        PR ld/22756
        * elfnn-riscv.c (riscv_relax_delete_bytes): Add versioned_hidden check
        to code that ignores duplicate symbols.

Index: binutils-2.30/bfd/elfnn-riscv.c
===================================================================
--- binutils-2.30.orig/bfd/elfnn-riscv.c
+++ binutils-2.30/bfd/elfnn-riscv.c
@@ -2666,9 +2666,12 @@ riscv_relax_delete_bytes (bfd *abfd, ase
         call to SYMBOL as well. Since both __wrap_SYMBOL and SYMBOL reference
         the same symbol (which is __wrap_SYMBOL), but still exist as two
         different symbols in 'sym_hashes', we don't want to adjust
-        the global symbol __wrap_SYMBOL twice.
-        This check is only relevant when symbols are being wrapped.  */
-      if (link_info->wrap_hash != NULL)
+        the global symbol __wrap_SYMBOL twice.  */
+      /* The same problem occurs with symbols that are versioned_hidden, as
+        foo becomes an alias for foo@BAR, and hence they need the same
+        treatment.  */
+      if (link_info->wrap_hash != NULL
+         || sym_hash->versioned == versioned_hidden)
        {
          struct elf_link_hash_entry **cur_sym_hashes;
 

Reply via email to