Hello community,

here is the log from the commit of package binutils for openSUSE:Factory 
checked in at 2016-01-21 23:40:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/binutils (Old)
 and      /work/SRC/openSUSE:Factory/.binutils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "binutils"

Changes:
--------
--- /work/SRC/openSUSE:Factory/binutils/binutils.changes        2015-10-19 
22:14:00.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.binutils.new/binutils.changes   2016-01-21 
23:40:24.000000000 +0100
@@ -1,0 +2,6 @@
+Wed Jan 13 08:31:17 UTC 2016 - sch...@suse.de
+
+- gold-relocate-tls.patch: Fix internal error when applying TLSDESC
+  relocations with no TLS segment
+
+-------------------------------------------------------------------
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-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:
----
  gold-relocate-tls.patch

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

Other differences:
------------------
++++++ binutils.spec ++++++
--- /var/tmp/diff_new_pack.ITklsP/_old  2016-01-21 23:40:29.000000000 +0100
+++ /var/tmp/diff_new_pack.ITklsP/_new  2016-01-21 23:40:29.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package binutils
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -106,6 +106,7 @@
 Patch32:        gold-arm64-abi-pagesize.patch
 Patch33:        s390-troo-insn-type.patch
 Patch34:        aarch64-common-pagesize.patch
+Patch35:        gold-relocate-tls.patch
 Patch90:        cross-avr-nesc-as.patch
 Patch92:        cross-avr-omit_section_dynsym.patch
 Patch93:        cross-avr-size.patch
@@ -190,6 +191,7 @@
 %patch32 -p1
 %patch33 -p1
 %patch34 -p1
+%patch35 -p1
 %if "%{TARGET}" == "avr"
 cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
 %patch90

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-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
++++++ gold-relocate-tls.patch ++++++
>From d21f123b0ead1806416cf0dafae12bec4cca8920 Mon Sep 17 00:00:00 2001
From: Cary Coutant <ccout...@gmail.com>
Date: Mon, 11 Jan 2016 23:57:44 -0800
Subject: [PATCH] Fix internal error when applying TLSDESC relocations with no
 TLS segment.

gold/
        PR gold/19353
        * aarch64.cc (Target_aarch64::relocate_tls): Don't insist that
        we have a TLS segment for GD-to-IE optimization.
        * i386.cc (Target_i386::tls_gd_to_ie): Remove tls_segment parameter.
        Adjust all calls.
        (Target_i386::tls_desc_gd_to_ie): Likewise.
        (Target_i386::relocate_tls): Don't insist that we have a TLS segment
        for TLSDESC GD-to-IE optimizations.
        * x86_64.cc (Target_x86_64::tls_gd_to_ie): Remove tls_segment parameter.
        Adjust all calls.
        (Target_x86_64::tls_desc_gd_to_ie): Likewise.
        (Target_x86_64::relocate_tls): Don't insist that we have a TLS segment
        for TLSDESC GD-to-IE optimizations.
---
 gold/ChangeLog  | 16 ++++++++++++++++
 gold/aarch64.cc |  6 ------
 gold/i386.cc    | 14 ++------------
 gold/x86_64.cc  | 14 ++------------
 4 files changed, 20 insertions(+), 30 deletions(-)

Index: binutils-2.25.0/gold/aarch64.cc
===================================================================
--- binutils-2.25.0.orig/gold/aarch64.cc
+++ binutils-2.25.0/gold/aarch64.cc
@@ -3689,12 +3689,6 @@ Target_aarch64<size, big_endian>::Reloca
              }
            if (tlsopt == tls::TLSOPT_TO_IE)
              {
-               if (tls_segment == NULL)
-                 {
-                   gold_assert(parameters->errors()->error_count() > 0
-                               || issue_undefined_symbol_error(gsym));
-                   return aarch64_reloc_funcs::STATUS_BAD_RELOC;
-                 }
                return tls_desc_gd_to_ie(relinfo, target, rela, r_type,
                                         view, psymval, got_entry_address,
                                         address);
Index: binutils-2.25.0/gold/i386.cc
===================================================================
--- binutils-2.25.0.orig/gold/i386.cc
+++ binutils-2.25.0/gold/i386.cc
@@ -654,7 +654,6 @@ class Target_i386 : public Sized_target<
     // Do a TLS General-Dynamic to Initial-Exec transition.
     inline void
     tls_gd_to_ie(const Relocate_info<32, false>*, size_t relnum,
-                Output_segment* tls_segment,
                 const elfcpp::Rel<32, false>&, unsigned int r_type,
                 elfcpp::Elf_types<32>::Elf_Addr value,
                 unsigned char* view,
@@ -673,7 +672,6 @@ class Target_i386 : public Sized_target<
     // transition.
     inline void
     tls_desc_gd_to_ie(const Relocate_info<32, false>*, size_t relnum,
-                     Output_segment* tls_segment,
                      const elfcpp::Rel<32, false>&, unsigned int r_type,
                      elfcpp::Elf_types<32>::Elf_Addr value,
                      unsigned char* view,
@@ -2944,7 +2942,7 @@ Target_i386::Relocate::relocate_tls(cons
            }
          if (optimized_type == tls::TLSOPT_TO_IE)
            {
-             this->tls_gd_to_ie(relinfo, relnum, tls_segment, rel, r_type,
+             this->tls_gd_to_ie(relinfo, relnum, rel, r_type,
                                 got_offset, view, view_size);
              break;
            }
@@ -3006,13 +3004,7 @@ Target_i386::Relocate::relocate_tls(cons
            }
          if (optimized_type == tls::TLSOPT_TO_IE)
            {
-             if (tls_segment == NULL)
-               {
-                 gold_assert(parameters->errors()->error_count() > 0
-                             || issue_undefined_symbol_error(gsym));
-                 return;
-               }
-             this->tls_desc_gd_to_ie(relinfo, relnum, tls_segment, rel, r_type,
+             this->tls_desc_gd_to_ie(relinfo, relnum, rel, r_type,
                                      got_offset, view, view_size);
              break;
            }
@@ -3244,7 +3236,6 @@ Target_i386::Relocate::tls_gd_to_le(cons
 inline void
 Target_i386::Relocate::tls_gd_to_ie(const Relocate_info<32, false>* relinfo,
                                    size_t relnum,
-                                   Output_segment*,
                                    const elfcpp::Rel<32, false>& rel,
                                    unsigned int,
                                    elfcpp::Elf_types<32>::Elf_Addr value,
@@ -3350,7 +3341,6 @@ inline void
 Target_i386::Relocate::tls_desc_gd_to_ie(
     const Relocate_info<32, false>* relinfo,
     size_t relnum,
-    Output_segment*,
     const elfcpp::Rel<32, false>& rel,
     unsigned int r_type,
     elfcpp::Elf_types<32>::Elf_Addr value,
Index: binutils-2.25.0/gold/x86_64.cc
===================================================================
--- binutils-2.25.0.orig/gold/x86_64.cc
+++ binutils-2.25.0/gold/x86_64.cc
@@ -798,7 +798,6 @@ class Target_x86_64 : public Sized_targe
     // Do a TLS General-Dynamic to Initial-Exec transition.
     inline void
     tls_gd_to_ie(const Relocate_info<size, false>*, size_t relnum,
-                Output_segment* tls_segment,
                 const elfcpp::Rela<size, false>&, unsigned int r_type,
                 typename elfcpp::Elf_types<size>::Elf_Addr value,
                 unsigned char* view,
@@ -817,7 +816,6 @@ class Target_x86_64 : public Sized_targe
     // Do a TLSDESC-style General-Dynamic to Initial-Exec transition.
     inline void
     tls_desc_gd_to_ie(const Relocate_info<size, false>*, size_t relnum,
-                     Output_segment* tls_segment,
                      const elfcpp::Rela<size, false>&, unsigned int r_type,
                      typename elfcpp::Elf_types<size>::Elf_Addr value,
                      unsigned char* view,
@@ -3613,7 +3611,7 @@ Target_x86_64<size>::Relocate::relocate_
          if (optimized_type == tls::TLSOPT_TO_IE)
            {
              value = target->got_plt_section()->address() + got_offset;
-             this->tls_gd_to_ie(relinfo, relnum, tls_segment, rela, r_type,
+             this->tls_gd_to_ie(relinfo, relnum, rela, r_type,
                                 value, view, address, view_size);
              break;
            }
@@ -3680,14 +3678,8 @@ Target_x86_64<size>::Relocate::relocate_
            }
          if (optimized_type == tls::TLSOPT_TO_IE)
            {
-             if (tls_segment == NULL)
-               {
-                 gold_assert(parameters->errors()->error_count() > 0
-                             || issue_undefined_symbol_error(gsym));
-                 return;
-               }
              value = target->got_plt_section()->address() + got_offset;
-             this->tls_desc_gd_to_ie(relinfo, relnum, tls_segment,
+             this->tls_desc_gd_to_ie(relinfo, relnum,
                                      rela, r_type, value, view, address,
                                      view_size);
              break;
@@ -3843,7 +3835,6 @@ inline void
 Target_x86_64<size>::Relocate::tls_gd_to_ie(
     const Relocate_info<size, false>* relinfo,
     size_t relnum,
-    Output_segment*,
     const elfcpp::Rela<size, false>& rela,
     unsigned int,
     typename elfcpp::Elf_types<size>::Elf_Addr value,
@@ -3955,7 +3946,6 @@ inline void
 Target_x86_64<size>::Relocate::tls_desc_gd_to_ie(
     const Relocate_info<size, false>* relinfo,
     size_t relnum,
-    Output_segment*,
     const elfcpp::Rela<size, false>& rela,
     unsigned int r_type,
     typename elfcpp::Elf_types<size>::Elf_Addr value,

Reply via email to