Your message dated Thu, 15 Feb 2018 03:04:34 +0000
with message-id <e1em9qc-000ifz...@fasolo.debian.org>
and subject line Bug#890359: fixed in binutils 2.30-5
has caused the Debian Bug report #890359,
regarding binutils: Fix GOT relocation overflow on SPARC
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
890359: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890359
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: binutils
Version: 2.30-4
Severity: normal
Tags: patch upstream
User: debian-sp...@lists.debian.org
Usertags: sparc64

Hi!

binutils upstream contains another fix for sparc64 which we
need to address some memory corruption issues for the generated
binaries.

In particular, the fix is necessary to further unbreak the rust
compiler on sparc64, with one other fix necessary to completely
fix rustc on sparc64.

Since this particular bug causes the generated binaries to be
corrupted, it's rather important to have this patch soonish.

Thanks,
Adrian

--
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
Description: Fix GOT relocation overflow on SPARC.
 There are 2 failures left in the linker testsuite on SPARC64/Linux and
 they are caused by 2 different issues leading to the same end effect:
 the overflow of the relocation section for the GOT, i.e. the linker
 generates too many dynamic relocations for the GOT wrt the size of the
 relocation section, leading to memory corruption and missing relocations
 in the final binary.
 .
 The first issue was introduced by:
  https://sourceware.org/ml/binutils/2017-06/msg00368.html
 which makes the linker generate more R_SPARC_RELATIVE relocations for
 the GOT without adjusting the size of the relocation section.  This is
 fixed by (1) preventively adjusting this size in allocate_dynrelocs and
 (2) generating R_SPARC_NONE if needed when R_SPARC_GOTDATA_OP is relaxed.
 .
 The second issue is that we generate a GOT relocation for an undefined
 weak symbol with non-default visibility in a PIC binary without accounting
 for that  in the size of the relocation section.  Since the address of the
 symbol should resolve to 0 at run time, it is fixed by not generating the
 relocation at all, i.e. leaving the GOT entry zeroed.
 .
Author: Eric Botcazou <ebotca...@gcc.gnu.org>
Last-Update: 2018-02-11

--- binutils-2.30.orig/bfd/elfxx-sparc.c
+++ binutils-2.30/bfd/elfxx-sparc.c
@@ -673,9 +673,9 @@ _bfd_sparc_elf_info_to_howto (bfd *abfd
   ((EH)->elf.root.type == bfd_link_hash_undefweak              \
    && bfd_link_executable (INFO)                               \
    && (_bfd_sparc_elf_hash_table (INFO)->interp == NULL                \
-       || !(EH)->has_got_reloc                                 \
+       || !(INFO)->dynamic_undefined_weak                      \
        || (EH)->has_non_got_reloc                              \
-       || !(INFO)->dynamic_undefined_weak))
+       || !(EH)->has_got_reloc))
 
 /* SPARC ELF linker hash entry.  */
 
@@ -750,6 +750,7 @@ sparc_elf_append_rela (bfd *abfd, asecti
   bfd_byte *loc;
 
   bed = get_elf_backend_data (abfd);
+  BFD_ASSERT (s->reloc_count * bed->s->sizeof_rela < s->size);
   loc = s->contents + (s->reloc_count++ * bed->s->sizeof_rela);
   bed->s->swap_reloca_out (abfd, rel, loc);
 }
@@ -1310,8 +1311,7 @@ _bfd_sparc_elf_copy_indirect_symbol (str
       eind->dyn_relocs = NULL;
     }
 
-  if (ind->root.type == bfd_link_hash_indirect
-      && dir->got.refcount <= 0)
+  if (ind->root.type == bfd_link_hash_indirect && dir->got.refcount <= 0)
     {
       edir->tls_type = eind->tls_type;
       eind->tls_type = GOT_UNKNOWN;
@@ -2004,8 +2004,8 @@ _bfd_sparc_elf_adjust_dynamic_symbol (st
       if (h->plt.refcount <= 0
          || (h->type != STT_GNU_IFUNC
              && (SYMBOL_CALLS_LOCAL (info, h)
-                 || (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
-                     && h->root.type == bfd_link_hash_undefweak))))
+                 || (h->root.type == bfd_link_hash_undefweak
+                     && ELF_ST_VISIBILITY (h->other) != STV_DEFAULT))))
        {
          /* This case can occur if we saw a WPLT30 reloc in an input
             file, but the symbol was never referred to by a dynamic
@@ -2124,12 +2124,11 @@ allocate_dynrelocs (struct elf_link_hash
          && h->def_regular
          && h->ref_regular))
     {
-      /* Make sure this symbol is output as a dynamic symbol.
-        Undefined weak syms won't yet be marked as dynamic.  */
-      if (h->dynindx == -1
-         && !h->forced_local
+      /* Undefined weak syms won't yet be marked as dynamic.  */
+      if (h->root.type == bfd_link_hash_undefweak
          && !resolved_to_zero
-         && h->root.type == bfd_link_hash_undefweak)
+         && h->dynindx == -1
+         && !h->forced_local)
        {
          if (! bfd_elf_link_record_dynamic_symbol (info, h))
            return FALSE;
@@ -2237,12 +2236,11 @@ allocate_dynrelocs (struct elf_link_hash
       bfd_boolean dyn;
       int tls_type = _bfd_sparc_elf_hash_entry(h)->tls_type;
 
-      /* Make sure this symbol is output as a dynamic symbol.
-        Undefined weak syms won't yet be marked as dynamic.  */
-      if (h->dynindx == -1
-         && !h->forced_local
+      /* Undefined weak syms won't yet be marked as dynamic.  */
+      if (h->root.type == bfd_link_hash_undefweak
          && !resolved_to_zero
-         && h->root.type == bfd_link_hash_undefweak)
+         && h->dynindx == -1
+         && !h->forced_local)
        {
          if (! bfd_elf_link_record_dynamic_symbol (info, h))
            return FALSE;
@@ -2256,21 +2254,25 @@ allocate_dynrelocs (struct elf_link_hash
        s->size += SPARC_ELF_WORD_BYTES (htab);
       dyn = htab->elf.dynamic_sections_created;
       /* R_SPARC_TLS_IE_{HI22,LO10} needs one dynamic relocation,
-        R_SPARC_TLS_GD_{HI22,LO10} needs one if local symbol and two if
-        global.  No dynamic relocations are needed against resolved
-        undefined weak symbols in an executable.  */
+        R_SPARC_TLS_GD_{HI22,LO10} needs one if local and two if global.  */
       if ((tls_type == GOT_TLS_GD && h->dynindx == -1)
          || tls_type == GOT_TLS_IE
          || h->type == STT_GNU_IFUNC)
        htab->elf.srelgot->size += SPARC_ELF_RELA_BYTES (htab);
       else if (tls_type == GOT_TLS_GD)
        htab->elf.srelgot->size += 2 * SPARC_ELF_RELA_BYTES (htab);
-      else if (((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
-                && !resolved_to_zero)
-               || h->root.type != bfd_link_hash_undefweak)
-              && WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn,
-                                                  bfd_link_pic (info),
-                                                  h))
+      else if ((WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, bfd_link_pic (info), h)
+               /* Even if the symbol isn't dynamic, we may generate a
+                  reloc for the dynamic linker in PIC mode.  */
+               || (h->dynindx == -1
+                   && !h->forced_local
+                   && h->root.type != bfd_link_hash_undefweak
+                   && bfd_link_pic (info)))
+              /* No dynamic relocations are needed against resolved
+                 undefined weak symbols in an executable.  */
+              && !(h->root.type == bfd_link_hash_undefweak
+                   && (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
+                       || resolved_to_zero)))
        htab->elf.srelgot->size += SPARC_ELF_RELA_BYTES (htab);
     }
   else
@@ -2380,12 +2382,11 @@ allocate_dynrelocs (struct elf_link_hash
                  && (h->root.type == bfd_link_hash_undefweak
                      || h->root.type == bfd_link_hash_undefined))))
        {
-         /* Make sure this symbol is output as a dynamic symbol.
-            Undefined weak syms won't yet be marked as dynamic.  */
-         if (h->dynindx == -1
-             && !h->forced_local
+         /* Undefined weak syms won't yet be marked as dynamic.  */
+         if (h->root.type == bfd_link_hash_undefweak
              && !resolved_to_zero
-             && h->root.type == bfd_link_hash_undefweak)
+             && h->dynindx == -1
+             && !h->forced_local)
            {
              if (! bfd_elf_link_record_dynamic_symbol (info, h))
                return FALSE;
@@ -3155,6 +3156,26 @@ _bfd_sparc_elf_relocate_section (bfd *ou
              /* {ld,ldx} [%rs1 + %rs2], %rd --> add %rs1, %rs2, %rd */
              relocation = 0x80000000 | (insn & 0x3e07c01f);
              bfd_put_32 (output_bfd, relocation, contents + rel->r_offset);
+
+             /* If the symbol is global but not dynamic, an .rela.* slot has
+                been allocated for it in the GOT so output R_SPARC_NONE here.
+                See also the handling of other GOT relocations just below.  */
+             if (h != NULL
+                 && h->dynindx == -1
+                 && !h->forced_local
+                 && h->root.type != bfd_link_hash_undefweak
+                 && (h->got.offset & 1) == 0
+                 && bfd_link_pic (info))
+               {
+                 asection *s = htab->elf.srelgot;
+                 Elf_Internal_Rela outrel;
+
+                 BFD_ASSERT (s != NULL);
+
+                 memset (&outrel, 0, sizeof outrel);
+                 sparc_elf_append_rela (output_bfd, s, &outrel);
+                 h->got.offset |= 1;
+               }
            }
          continue;
        }
@@ -3207,15 +3228,13 @@ _bfd_sparc_elf_relocate_section (bfd *ou
                    off &= ~1;
                  else
                    {
+                     /* If this symbol isn't dynamic in PIC mode, treat it
+                        like a local symbol in PIC mode below.  */
                      if (h->dynindx == -1
                          && !h->forced_local
                          && h->root.type != bfd_link_hash_undefweak
                          && bfd_link_pic (info))
-                       {
-                         /* If this symbol isn't dynamic in PIC
-                            generate R_SPARC_RELATIVE here.  */
-                         relative_reloc = TRUE;
-                       }
+                       relative_reloc = TRUE;
                      else
                        SPARC_ELF_PUT_WORD (htab, output_bfd, relocation,
                                            htab->elf.sgot->contents + off);
@@ -3239,6 +3258,8 @@ _bfd_sparc_elf_relocate_section (bfd *ou
                off &= ~1;
              else
                {
+                 /* For a local symbol in PIC mode, we need to generate a
+                    R_SPARC_RELATIVE reloc for the dynamic linker.  */
                  if (bfd_link_pic (info))
                    relative_reloc = TRUE;
                  else
@@ -3250,12 +3271,9 @@ _bfd_sparc_elf_relocate_section (bfd *ou
 
          if (relative_reloc)
            {
-             asection *s;
+             asection *s = htab->elf.srelgot;
              Elf_Internal_Rela outrel;
 
-             /* We need to generate a R_SPARC_RELATIVE reloc
-                for the dynamic linker.  */
-             s = htab->elf.srelgot;
              BFD_ASSERT (s != NULL);
 
              outrel.r_offset = (htab->elf.sgot->output_section->vma
@@ -3387,9 +3405,9 @@ _bfd_sparc_elf_relocate_section (bfd *ou
             in PIE.  */
          if ((bfd_link_pic (info)
               && (h == NULL
-                  || ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
-                       && !resolved_to_zero)
-                      || h->root.type != bfd_link_hash_undefweak))
+                  || !(h->root.type == bfd_link_hash_undefweak
+                       && (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
+                           || resolved_to_zero)))
               && (! howto->pc_relative
                   || !SYMBOL_CALLS_LOCAL (info, h)))
              || (!bfd_link_pic (info)
@@ -3476,7 +3494,6 @@ _bfd_sparc_elf_relocate_section (bfd *ou
                           || !SYMBOLIC_BIND (info, h)
                           || !h->def_regular))
                {
-                 BFD_ASSERT (h->dynindx != -1);
                  outrel.r_info = SPARC_ELF_R_INFO (htab, rel, h->dynindx, 
r_type);
                  outrel.r_addend = rel->r_addend;
                }
@@ -4321,7 +4338,7 @@ _bfd_sparc_elf_finish_dynamic_symbol (bf
   struct _bfd_sparc_elf_link_hash_table *htab;
   const struct elf_backend_data *bed;
   struct _bfd_sparc_elf_link_hash_entry  *eh;
-  bfd_boolean local_undefweak;
+  bfd_boolean resolved_to_zero;
 
   htab = _bfd_sparc_elf_hash_table (info);
   BFD_ASSERT (htab != NULL);
@@ -4332,7 +4349,7 @@ _bfd_sparc_elf_finish_dynamic_symbol (bf
   /* We keep PLT/GOT entries without dynamic PLT/GOT relocations for
      resolved undefined weak symbols in executable so that their
      references have value 0 at run-time.  */
-  local_undefweak = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh);
+  resolved_to_zero = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh);
 
   if (h->plt.offset != (bfd_vma) -1)
     {
@@ -4457,8 +4474,7 @@ _bfd_sparc_elf_finish_dynamic_symbol (bf
       loc += rela_index * bed->s->sizeof_rela;
       bed->s->swap_reloca_out (output_bfd, &rela, loc);
 
-      if (!local_undefweak
-         && !h->def_regular)
+      if (!resolved_to_zero && !h->def_regular)
        {
          /* Mark the symbol as undefined, rather than as defined in
             the .plt section.  Leave the value alone.  */
@@ -4472,12 +4488,14 @@ _bfd_sparc_elf_finish_dynamic_symbol (bf
        }
     }
 
-  /* Don't generate dynamic GOT relocation against undefined weak
-     symbol in executable.  */
+  /* Don't generate dynamic GOT relocation against resolved undefined weak
+     symbols in an executable.  */
   if (h->got.offset != (bfd_vma) -1
       && _bfd_sparc_elf_hash_entry(h)->tls_type != GOT_TLS_GD
       && _bfd_sparc_elf_hash_entry(h)->tls_type != GOT_TLS_IE
-      && !local_undefweak)
+      && !(h->root.type == bfd_link_hash_undefweak
+          && (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
+              || resolved_to_zero)))
     {
       asection *sgot;
       asection *srela;
@@ -4513,8 +4531,8 @@ _bfd_sparc_elf_finish_dynamic_symbol (bf
                              + (h->got.offset & ~(bfd_vma) 1));
          return TRUE;
        }
-      else if (bfd_link_pic (info)
-              && SYMBOL_REFERENCES_LOCAL (info, h))
+
+      if (bfd_link_pic (info) && SYMBOL_REFERENCES_LOCAL (info, h))
        {
          asection *sec = h->root.u.def.section;
          if (h->type == STT_GNU_IFUNC)

--- End Message ---
--- Begin Message ---
Source: binutils
Source-Version: 2.30-5

We believe that the bug you reported is fixed in the latest version of
binutils, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 890...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Matthias Klose <d...@debian.org> (supplier of updated binutils package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Thu, 15 Feb 2018 08:20:04 +0700
Source: binutils
Binary: binutils-for-host binutils-for-build binutils libbinutils 
libbinutils-dbg binutils-dev binutils-multiarch binutils-multiarch-dbg 
binutils-multiarch-dev binutils-hppa64-linux-gnu binutils-hppa64-linux-gnu-dbg 
binutils-doc binutils-source binutils-common binutils-x86-64-linux-gnu 
binutils-x86-64-linux-gnu-dbg binutils-i686-linux-gnu 
binutils-i686-linux-gnu-dbg binutils-aarch64-linux-gnu 
binutils-aarch64-linux-gnu-dbg binutils-arm-linux-gnueabihf 
binutils-arm-linux-gnueabihf-dbg binutils-arm-linux-gnueabi 
binutils-arm-linux-gnueabi-dbg binutils-mips-linux-gnu 
binutils-mips-linux-gnu-dbg binutils-mipsel-linux-gnu 
binutils-mipsel-linux-gnu-dbg binutils-mips64el-linux-gnuabi64 
binutils-mips64el-linux-gnuabi64-dbg binutils-powerpc64le-linux-gnu 
binutils-powerpc64le-linux-gnu-dbg binutils-s390x-linux-gnu 
binutils-s390x-linux-gnu-dbg binutils-alpha-linux-gnu 
binutils-alpha-linux-gnu-dbg binutils-hppa-linux-gnu 
binutils-hppa-linux-gnu-dbg binutils-ia64-linux-gnu
 binutils-ia64-linux-gnu-dbg binutils-m68k-linux-gnu 
binutils-m68k-linux-gnu-dbg binutils-mips64-linux-gnuabi64 
binutils-mips64-linux-gnuabi64-dbg binutils-powerpc-linux-gnu 
binutils-powerpc-linux-gnu-dbg binutils-powerpc-linux-gnuspe 
binutils-powerpc-linux-gnuspe-dbg binutils-powerpc64-linux-gnu 
binutils-powerpc64-linux-gnu-dbg binutils-riscv64-linux-gnu 
binutils-riscv64-linux-gnu-dbg binutils-sh4-linux-gnu 
binutils-sh4-linux-gnu-dbg binutils-sparc64-linux-gnu 
binutils-sparc64-linux-gnu-dbg binutils-x86-64-linux-gnux32 
binutils-x86-64-linux-gnux32-dbg binutils-i686-gnu binutils-i686-gnu-dbg 
binutils-x86-64-kfreebsd-gnu binutils-x86-64-kfreebsd-gnu-dbg 
binutils-i686-kfreebsd-gnu binutils-i686-kfreebsd-gnu-dbg 
binutils-mips64-linux-gnuabin32 binutils-mips64-linux-gnuabin32-dbg 
binutils-mips64el-linux-gnuabin32 binutils-mips64el-linux-gnuabin32-dbg 
binutils-mipsisa64r6-linux-gnuabin32 binutils-mipsisa64r6-linux-gnuabin32-dbg 
binutils-mipsisa64r6el-linux-gnuabin32
 binutils-mipsisa64r6el-linux-gnuabin32-dbg binutils-mipsisa32r6-linux-gnu 
binutils-mipsisa32r6-linux-gnu-dbg binutils-mipsisa32r6el-linux-gnu 
binutils-mipsisa32r6el-linux-gnu-dbg binutils-mipsisa64r6-linux-gnuabi64 
binutils-mipsisa64r6-linux-gnuabi64-dbg binutils-mipsisa64r6el-linux-gnuabi64
 binutils-mipsisa64r6el-linux-gnuabi64-dbg
Architecture: source
Version: 2.30-5
Distribution: unstable
Urgency: medium
Maintainer: Matthias Klose <d...@debian.org>
Changed-By: Matthias Klose <d...@debian.org>
Description:
 binutils   - GNU assembler, linker and binary utilities
 binutils-aarch64-linux-gnu - GNU binary utilities, for aarch64-linux-gnu target
 binutils-aarch64-linux-gnu-dbg - GNU binary utilities, for aarch64-linux-gnu 
target (debug symbols
 binutils-alpha-linux-gnu - GNU binary utilities, for alpha-linux-gnu target
 binutils-alpha-linux-gnu-dbg - GNU binary utilities, for alpha-linux-gnu 
target (debug symbols)
 binutils-arm-linux-gnueabi - GNU binary utilities, for arm-linux-gnueabi target
 binutils-arm-linux-gnueabi-dbg - GNU binary utilities, for arm-linux-gnueabi 
target (debug symbols
 binutils-arm-linux-gnueabihf - GNU binary utilities, for arm-linux-gnueabihf 
target
 binutils-arm-linux-gnueabihf-dbg - GNU binary utilities, for 
arm-linux-gnueabihf target (debug symbo
 binutils-common - Common files for the GNU assembler, linker and binary 
utilities
 binutils-dev - GNU binary utilities (BFD development files)
 binutils-doc - Documentation for the GNU assembler, linker and binary utilities
 binutils-for-build - GNU assembler, linker and binary utilities for the build 
architec
 binutils-for-host - GNU assembler, linker and binary utilities for the host 
architect
 binutils-hppa-linux-gnu - GNU binary utilities, for hppa-linux-gnu target
 binutils-hppa-linux-gnu-dbg - GNU binary utilities, for hppa-linux-gnu target 
(debug symbols)
 binutils-hppa64-linux-gnu - GNU assembler, linker and binary utilities 
targeted for hppa64-li
 binutils-hppa64-linux-gnu-dbg - GNU binutils targeted for hppa64-linux (debug 
symbols)
 binutils-i686-gnu - GNU binary utilities, for i686-gnu target
 binutils-i686-gnu-dbg - GNU binary utilities, for i686-gnu target (debug 
symbols)
 binutils-i686-kfreebsd-gnu - GNU binary utilities, for i686-kfreebsd-gnu target
 binutils-i686-kfreebsd-gnu-dbg - GNU binary utilities, for i686-kfreebsd-gnu 
target (debug symbols
 binutils-i686-linux-gnu - GNU binary utilities, for i686-linux-gnu target
 binutils-i686-linux-gnu-dbg - GNU binary utilities, for i686-linux-gnu target 
(debug symbols)
 binutils-ia64-linux-gnu - GNU binary utilities, for ia64-linux-gnu target
 binutils-ia64-linux-gnu-dbg - GNU binary utilities, for ia64-linux-gnu target 
(debug symbols)
 binutils-m68k-linux-gnu - GNU binary utilities, for m68k-linux-gnu target
 binutils-m68k-linux-gnu-dbg - GNU binary utilities, for m68k-linux-gnu target 
(debug symbols)
 binutils-mips-linux-gnu - GNU binary utilities, for mips-linux-gnu target
 binutils-mips-linux-gnu-dbg - GNU binary utilities, for mips-linux-gnu target 
(debug symbols)
 binutils-mips64-linux-gnuabi64 - GNU binary utilities, for 
mips64-linux-gnuabi64 target
 binutils-mips64-linux-gnuabi64-dbg - GNU binary utilities, for 
mips64-linux-gnuabi64 target (debug sym
 binutils-mips64-linux-gnuabin32 - GNU binary utilities, for 
mips64-linux-gnuabin32 target
 binutils-mips64-linux-gnuabin32-dbg - GNU binary utilities, for 
mips64-linux-gnuabin32 target (debug sy
 binutils-mips64el-linux-gnuabi64 - GNU binary utilities, for 
mips64el-linux-gnuabi64 target
 binutils-mips64el-linux-gnuabi64-dbg - GNU binary utilities, for 
mips64el-linux-gnuabi64 target (debug s
 binutils-mips64el-linux-gnuabin32 - GNU binary utilities, for 
mips64el-linux-gnuabin32 target
 binutils-mips64el-linux-gnuabin32-dbg - GNU binary utilities, for 
mips64el-linux-gnuabin32 target (debug
 binutils-mipsel-linux-gnu - GNU binary utilities, for mipsel-linux-gnu target
 binutils-mipsel-linux-gnu-dbg - GNU binary utilities, for mipsel-linux-gnu 
target (debug symbols)
 binutils-mipsisa32r6-linux-gnu - GNU binary utilities, for 
mipsisa32r6-linux-gnu target
 binutils-mipsisa32r6-linux-gnu-dbg - GNU binary utilities, for 
mipsisa32r6-linux-gnu target (debug sym
 binutils-mipsisa32r6el-linux-gnu - GNU binary utilities, for 
mipsisa32r6el-linux-gnu target
 binutils-mipsisa32r6el-linux-gnu-dbg - GNU binary utilities, for 
mipsisa32r6el-linux-gnu target (debug s
 binutils-mipsisa64r6-linux-gnuabi64 - GNU binary utilities, for 
mipsisa64r6-linux-gnuabi64 target
 binutils-mipsisa64r6-linux-gnuabi64-dbg - GNU binary utilities, for 
mipsisa64r6-linux-gnuabi64 target (debu
 binutils-mipsisa64r6-linux-gnuabin32 - GNU binary utilities, for 
mipsisa64r6-linux-gnuabin32 target
 binutils-mipsisa64r6-linux-gnuabin32-dbg - GNU binary utilities, for 
mipsisa64r6-linux-gnuabin32 target (deb
 binutils-mipsisa64r6el-linux-gnuabi64 - GNU binary utilities, for 
mipsisa64r6el-linux-gnuabi64 target
 binutils-mipsisa64r6el-linux-gnuabi64-dbg - GNU binary utilities, for 
mipsisa64r6el-linux-gnuabi64 target (de
 binutils-mipsisa64r6el-linux-gnuabin32 - GNU binary utilities, for 
mipsisa64r6el-linux-gnuabin32 target
 binutils-mipsisa64r6el-linux-gnuabin32-dbg - GNU binary utilities, for 
mipsisa64r6el-linux-gnuabin32 target (d
 binutils-multiarch - Binary utilities that support multi-arch targets
 binutils-multiarch-dbg - Binary utilities that support multi-arch targets 
(debug symbols)
 binutils-multiarch-dev - GNU binary utilities that support multi-arch targets 
(BFD develop
 binutils-powerpc-linux-gnu - GNU binary utilities, for powerpc-linux-gnu target
 binutils-powerpc-linux-gnu-dbg - GNU binary utilities, for powerpc-linux-gnu 
target (debug symbols
 binutils-powerpc-linux-gnuspe - GNU binary utilities, for powerpc-linux-gnuspe 
target
 binutils-powerpc-linux-gnuspe-dbg - GNU binary utilities, for 
powerpc-linux-gnuspe target (debug symb
 binutils-powerpc64-linux-gnu - GNU binary utilities, for powerpc64-linux-gnu 
target
 binutils-powerpc64-linux-gnu-dbg - GNU binary utilities, for 
powerpc64-linux-gnu target (debug symbo
 binutils-powerpc64le-linux-gnu - GNU binary utilities, for 
powerpc64le-linux-gnu target
 binutils-powerpc64le-linux-gnu-dbg - GNU binary utilities, for 
powerpc64le-linux-gnu target (debug sym
 binutils-riscv64-linux-gnu - GNU binary utilities, for riscv64-linux-gnu target
 binutils-riscv64-linux-gnu-dbg - GNU binary utilities, for riscv64-linux-gnu 
target (debug symbols
 binutils-s390x-linux-gnu - GNU binary utilities, for s390x-linux-gnu target
 binutils-s390x-linux-gnu-dbg - GNU binary utilities, for s390x-linux-gnu 
target (debug symbols)
 binutils-sh4-linux-gnu - GNU binary utilities, for sh4-linux-gnu target
 binutils-sh4-linux-gnu-dbg - GNU binary utilities, for sh4-linux-gnu target 
(debug symbols)
 binutils-source - GNU assembler, linker and binary utilities (source)
 binutils-sparc64-linux-gnu - GNU binary utilities, for sparc64-linux-gnu target
 binutils-sparc64-linux-gnu-dbg - GNU binary utilities, for sparc64-linux-gnu 
target (debug symbols
 binutils-x86-64-kfreebsd-gnu - GNU binary utilities, for x86-64-kfreebsd-gnu 
target
 binutils-x86-64-kfreebsd-gnu-dbg - GNU binary utilities, for 
x86-64-kfreebsd-gnu target (debug symbo
 binutils-x86-64-linux-gnu - GNU binary utilities, for x86-64-linux-gnu target
 binutils-x86-64-linux-gnu-dbg - GNU binary utilities, for x86-64-linux-gnu 
target (debug symbols)
 binutils-x86-64-linux-gnux32 - GNU binary utilities, for x86-64-linux-gnux32 
target
 binutils-x86-64-linux-gnux32-dbg - GNU binary utilities, for 
x86-64-linux-gnux32 target (debug symbo
 libbinutils - GNU binary utilities (private shared library)
 libbinutils-dbg - GNU binary utilities (private shared library, debug symbols)
Closes: 887894 890359
Changes:
 binutils (2.30-5) unstable; urgency=medium
 .
   * Update, taken from the 2.30 branch 20180215.
     - gas: xtensa: fix trampoline placement.
     - Fix PR gas/22738 (.dc.a directive has wrong size on SPARC 64-bit).
     - Fix GOT relocation overflow on SPARC. Closes: #890359.
   * strings --include-all-whitespace doesn't take an argument. Closes: #887894.
Checksums-Sha1:
 d888545f5a24809c68ab0112680fa43940151b47 11242 binutils_2.30-5.dsc
 ef95f0d09a430e090d8d1601e0696e4adfea8783 220740 binutils_2.30-5.debian.tar.xz
 f8a875194c958538ff18f98f8a793bfadd6d1045 7979 binutils_2.30-5_source.buildinfo
Checksums-Sha256:
 f5794eba8141dbef44c30482276333d3eede4a0d5688d2b5b5389017f1930ca5 11242 
binutils_2.30-5.dsc
 0663661530b1ef3a8bbc5871005087b96569dc9951ff77a4625173ea298251ba 220740 
binutils_2.30-5.debian.tar.xz
 7e65ecee97cc40b5aa5fadb546f5e18fb8d24c7725f0c758c11ac1c1b1099194 7979 
binutils_2.30-5_source.buildinfo
Files:
 3f1e5f0f9952b36a3b1428fbc227c3b3 11242 devel optional binutils_2.30-5.dsc
 9b5dae121b79db019bfdc5524390dc1a 220740 devel optional 
binutils_2.30-5.debian.tar.xz
 285fd83b5256e1351705926a44f5cf66 7979 devel optional 
binutils_2.30-5_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJEBAEBCAAuFiEE1WVxuIqLuvFAv2PWvX6qYHePpvUFAlqE7woQHGRva29AZGVi
aWFuLm9yZwAKCRC9fqpgd4+m9S4TEACrwKMnUhnjAG0CCFQHqjZ10JpSgX//2w3i
l2djTlmXS9EGzqjBnCPrcgc/0ymelA5fF/9LR7pWn6Er7G3n6/1HAnk00RMAPgua
1TOHW0aM1/cAr118s+tb9IGzKuemTyFLU3S10uYrNDoAZ5QRtqfUEtJo7ClaCOBB
PWBB+zrT5iumLEmqB01S5Kt8ePwX1Hhune+Ls42DFsuUnRYv/+7zGNTAciYz0NAP
apOThDfI9x/OlrMBPR0ZHZIcz1dkbWAZ5vpboIN+ybQ/ZlVZcxJB3EmImt2mWhZP
xmEUlcNmaj2XQopdJ2vRYJLInCrTvBNNdIyjn4LIpvgBE2A4cKsRq6cbGBm/lhhb
xg9DRrDBLTwFpBGHX3iQ/y9JtWRaKeL/kdLG8FZptS2sRy7/+MiUWbGrv0XsyQdq
D0ahRCFK2Vn273mqOR+hTIBzrlEbZUKmMp3csubqR0QAMjV8Bd+9hvyWDcWAx+wv
rz9wtT8sd0cgMf0ldkbdobANPiXVLvVTfRdKwIfxBAaVo56zDfoXjUOXmS05DLPF
uMASbTCuWSHUMRLWcwlJfJZXZGU/7LWlkb3Nnx4SU38xCM9Y+cUKDScTNmLYRBTe
sqiueeIMHEqi5dm130wTBRKWmOw5Dpy5Hk1QB2r4qb8gZSCl+sjG5fDXx0M7fc4Z
m82iVKaOhw==
=UwXn
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to