Hello community,

here is the log from the commit of package elfutils for openSUSE:Factory 
checked in at 2016-04-22 16:15:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/elfutils (Old)
 and      /work/SRC/openSUSE:Factory/.elfutils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "elfutils"

Changes:
--------
--- /work/SRC/openSUSE:Factory/elfutils/elfutils.changes        2016-03-05 
13:04:43.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.elfutils.new/elfutils.changes   2016-04-22 
16:15:55.000000000 +0200
@@ -1,0 +2,5 @@
+Sat Apr 16 03:41:22 UTC 2016 - norm...@linux.vnet.ibm.com
+
+-  add elfutils-0.164-gcc6.patch
+
+-------------------------------------------------------------------

New:
----
  elfutils-0.164-gcc6.patch

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

Other differences:
------------------
++++++ elfutils.spec ++++++
--- /var/tmp/diff_new_pack.gEa67a/_old  2016-04-22 16:15:56.000000000 +0200
+++ /var/tmp/diff_new_pack.gEa67a/_new  2016-04-22 16:15:56.000000000 +0200
@@ -31,6 +31,7 @@
 Source3:        %{name}.changes
 Patch1:         elfutils-0.137-dwarf-header-check-fix.diff
 Patch2:         elfutils-0.164-dt-ppc-opt.patch
+Patch3:         elfutils-0.164-gcc6.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  autoconf
 BuildRequires:  automake
@@ -140,6 +141,7 @@
 %setup -q
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
 
 %build
 # Change DATE/TIME macros to use last change time of elfutils.changes

++++++ elfutils-0.164-gcc6.patch ++++++
>From c5da7c9e08c2bdb6dba8e115dcc09ed51a07f0e4 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <m...@redhat.com>
Date: Sat, 9 Jan 2016 22:09:48 +0100
Subject: libebl: Fix missing brackets around if statement body.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

GCC6 [will have] a nice new warning that showed a real bug:

elfutils/libebl/eblobjnote.c: In function ‘ebl_object_note’:
elfutils/libebl/eblobjnote.c:135:5: error: statement is indented as if it were 
guarded by... [-Werror=misleading-indentation]
     switch (type)
     ^~~~~~

elfutils/libebl/eblobjnote.c:45:3: note: ...this ‘if’ clause, but it is not
   if (! ebl->object_note (name, type, descsz, desc))
   ^~

And indeed, it should have been under the if, but wasn't because of missing
brackets. Added brackets (and reindent).

Signed-off-by: Mark Wielaard <m...@redhat.com>
---
 libebl/eblobjnote.c | 362 ++++++++++++++++++++++++++--------------------------
 2 files changed, 187 insertions(+), 180 deletions(-)

diff --git a/libebl/eblobjnote.c b/libebl/eblobjnote.c
index fa1eb93..f80a1a5 100644
--- a/libebl/eblobjnote.c
+++ b/libebl/eblobjnote.c
@@ -1,5 +1,5 @@
 /* Print contents of object file note.
-   Copyright (C) 2002, 2007, 2009, 2011, 2015 Red Hat, Inc.
+   Copyright (C) 2002, 2007, 2009, 2011, 2015, 2016 Red Hat, Inc.
    This file is part of elfutils.
    Written by Ulrich Drepper <drep...@redhat.com>, 2002.
 
@@ -43,189 +43,191 @@ ebl_object_note (Ebl *ebl, const char *name, uint32_t 
type,
                 uint32_t descsz, const char *desc)
 {
   if (! ebl->object_note (name, type, descsz, desc))
-    /* The machine specific function did not know this type.  */
+    {
+      /* The machine specific function did not know this type.  */
 
-    if (strcmp ("stapsdt", name) == 0)
-      {
-       if (type != 3)
-         {
-           printf (gettext ("unknown SDT version %u\n"), type);
-           return;
-         }
-
-       /* Descriptor starts with three addresses, pc, base ref and
-          semaphore.  Then three zero terminated strings provider,
-          name and arguments.  */
-
-       union
+      if (strcmp ("stapsdt", name) == 0)
        {
-         Elf64_Addr a64[3];
-         Elf32_Addr a32[3];
-       } addrs;
+         if (type != 3)
+           {
+             printf (gettext ("unknown SDT version %u\n"), type);
+             return;
+           }
 
-       size_t addrs_size = gelf_fsize (ebl->elf, ELF_T_ADDR, 3, EV_CURRENT);
-       if (descsz < addrs_size + 3)
-         {
-         invalid_sdt:
-           printf (gettext ("invalid SDT probe descriptor\n"));
-           return;
-         }
+         /* Descriptor starts with three addresses, pc, base ref and
+            semaphore.  Then three zero terminated strings provider,
+            name and arguments.  */
 
-       Elf_Data src =
+         union
          {
-           .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
-           .d_buf = (void *) desc, .d_size = addrs_size
-         };
-
-       Elf_Data dst =
-         {
-           .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
-           .d_buf = &addrs, .d_size = addrs_size
-         };
-
-       if (gelf_xlatetom (ebl->elf, &dst, &src,
-                          elf_getident (ebl->elf, NULL)[EI_DATA]) == NULL)
-         {
-           printf ("%s\n", elf_errmsg (-1));
-           return;
-         }
-
-       const char *provider = desc + addrs_size;
-       const char *pname = memchr (provider, '\0', desc + descsz - provider);
-       if (pname == NULL)
-         goto invalid_sdt;
-
-       ++pname;
-       const char *args = memchr (pname, '\0', desc + descsz - pname);
-       if (args == NULL ||
-           memchr (++args, '\0', desc + descsz - pname) != desc + descsz - 1)
-         goto invalid_sdt;
-
-       GElf_Addr pc;
-       GElf_Addr base;
-       GElf_Addr sem;
-       if (gelf_getclass (ebl->elf) == ELFCLASS32)
-         {
-           pc = addrs.a32[0];
-           base = addrs.a32[1];
-           sem = addrs.a32[2];
-         }
-       else
-         {
-           pc = addrs.a64[0];
-           base = addrs.a64[1];
-           sem = addrs.a64[2];
-         }
-
-       printf (gettext ("    PC: "));
-       printf ("%#" PRIx64 ",", pc);
-       printf (gettext (" Base: "));
-       printf ("%#" PRIx64 ",", base);
-       printf (gettext (" Semaphore: "));
-       printf ("%#" PRIx64 "\n", sem);
-       printf (gettext ("    Provider: "));
-       printf ("%s,", provider);
-       printf (gettext (" Name: "));
-       printf ("%s,", pname);
-       printf (gettext (" Args: "));
-       printf ("'%s'\n", args);
-       return;
-      }
-
-    switch (type)
-      {
-      case NT_GNU_BUILD_ID:
-       if (strcmp (name, "GNU") == 0 && descsz > 0)
-         {
-           printf (gettext ("    Build ID: "));
-           uint_fast32_t i;
-           for (i = 0; i < descsz - 1; ++i)
-             printf ("%02" PRIx8, (uint8_t) desc[i]);
-           printf ("%02" PRIx8 "\n", (uint8_t) desc[i]);
-         }
-       break;
-
-      case NT_GNU_GOLD_VERSION:
-       if (strcmp (name, "GNU") == 0 && descsz > 0)
-         /* A non-null terminated version string.  */
-         printf (gettext ("    Linker version: %.*s\n"),
-                 (int) descsz, desc);
-       break;
-
-      case NT_GNU_ABI_TAG:
-       if (strcmp (name, "GNU") == 0 && descsz >= 8 && descsz % 4 == 0)
-         {
-           Elf_Data in =
-             {
-               .d_version = EV_CURRENT,
-               .d_type = ELF_T_WORD,
-               .d_size = descsz,
-               .d_buf = (void *) desc
-             };
-           /* Normally NT_GNU_ABI_TAG is just 4 words (16 bytes).  If it
-              is much (4*) larger dynamically allocate memory to convert.  */
+           Elf64_Addr a64[3];
+           Elf32_Addr a32[3];
+         } addrs;
+
+         size_t addrs_size = gelf_fsize (ebl->elf, ELF_T_ADDR, 3, EV_CURRENT);
+         if (descsz < addrs_size + 3)
+           {
+           invalid_sdt:
+             printf (gettext ("invalid SDT probe descriptor\n"));
+             return;
+           }
+
+         Elf_Data src =
+           {
+             .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
+             .d_buf = (void *) desc, .d_size = addrs_size
+           };
+
+         Elf_Data dst =
+           {
+             .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
+             .d_buf = &addrs, .d_size = addrs_size
+           };
+
+         if (gelf_xlatetom (ebl->elf, &dst, &src,
+                            elf_getident (ebl->elf, NULL)[EI_DATA]) == NULL)
+           {
+             printf ("%s\n", elf_errmsg (-1));
+             return;
+           }
+
+         const char *provider = desc + addrs_size;
+         const char *pname = memchr (provider, '\0', desc + descsz - provider);
+         if (pname == NULL)
+           goto invalid_sdt;
+
+         ++pname;
+         const char *args = memchr (pname, '\0', desc + descsz - pname);
+         if (args == NULL ||
+             memchr (++args, '\0', desc + descsz - pname) != desc + descsz - 1)
+           goto invalid_sdt;
+
+         GElf_Addr pc;
+         GElf_Addr base;
+         GElf_Addr sem;
+         if (gelf_getclass (ebl->elf) == ELFCLASS32)
+           {
+             pc = addrs.a32[0];
+             base = addrs.a32[1];
+             sem = addrs.a32[2];
+           }
+         else
+           {
+             pc = addrs.a64[0];
+             base = addrs.a64[1];
+             sem = addrs.a64[2];
+           }
+
+         printf (gettext ("    PC: "));
+         printf ("%#" PRIx64 ",", pc);
+         printf (gettext (" Base: "));
+         printf ("%#" PRIx64 ",", base);
+         printf (gettext (" Semaphore: "));
+         printf ("%#" PRIx64 "\n", sem);
+         printf (gettext ("    Provider: "));
+         printf ("%s,", provider);
+         printf (gettext (" Name: "));
+         printf ("%s,", pname);
+         printf (gettext (" Args: "));
+         printf ("'%s'\n", args);
+         return;
+       }
+
+      switch (type)
+       {
+       case NT_GNU_BUILD_ID:
+         if (strcmp (name, "GNU") == 0 && descsz > 0)
+           {
+             printf (gettext ("    Build ID: "));
+             uint_fast32_t i;
+             for (i = 0; i < descsz - 1; ++i)
+               printf ("%02" PRIx8, (uint8_t) desc[i]);
+             printf ("%02" PRIx8 "\n", (uint8_t) desc[i]);
+           }
+         break;
+
+       case NT_GNU_GOLD_VERSION:
+         if (strcmp (name, "GNU") == 0 && descsz > 0)
+           /* A non-null terminated version string.  */
+           printf (gettext ("    Linker version: %.*s\n"),
+                   (int) descsz, desc);
+         break;
+
+       case NT_GNU_ABI_TAG:
+         if (strcmp (name, "GNU") == 0 && descsz >= 8 && descsz % 4 == 0)
+           {
+             Elf_Data in =
+               {
+                 .d_version = EV_CURRENT,
+                 .d_type = ELF_T_WORD,
+                 .d_size = descsz,
+                 .d_buf = (void *) desc
+               };
+             /* Normally NT_GNU_ABI_TAG is just 4 words (16 bytes).  If it
+                is much (4*) larger dynamically allocate memory to convert.  */
 #define FIXED_TAG_BYTES 16
-           uint32_t sbuf[FIXED_TAG_BYTES];
-           uint32_t *buf;
-           if (unlikely (descsz / 4 > FIXED_TAG_BYTES))
-             {
-               buf = malloc (descsz);
-               if (unlikely (buf == NULL))
-                 return;
-             }
-           else
-             buf = sbuf;
-           Elf_Data out =
-             {
-               .d_version = EV_CURRENT,
-               .d_type = ELF_T_WORD,
-               .d_size = descsz,
-               .d_buf = buf
-             };
-
-           if (elf32_xlatetom (&out, &in, ebl->data) != NULL)
-             {
-               const char *os;
-               switch (buf[0])
-                 {
-                 case ELF_NOTE_OS_LINUX:
-                   os = "Linux";
-                   break;
-
-                 case ELF_NOTE_OS_GNU:
-                   os = "GNU";
-                   break;
-
-                 case ELF_NOTE_OS_SOLARIS2:
-                   os = "Solaris";
-                   break;
-
-                 case ELF_NOTE_OS_FREEBSD:
-                   os = "FreeBSD";
-                   break;
-
-                 default:
-                   os = "???";
-                   break;
-                 }
-
-               printf (gettext ("    OS: %s, ABI: "), os);
-               for (size_t cnt = 1; cnt < descsz / 4; ++cnt)
-                 {
-                   if (cnt > 1)
-                     putchar_unlocked ('.');
-                   printf ("%" PRIu32, buf[cnt]);
-                 }
-               putchar_unlocked ('\n');
-             }
-           if (descsz / 4 > FIXED_TAG_BYTES)
-             free (buf);
-           break;
-         }
-       /* FALLTHROUGH */
-
-      default:
-       /* Unknown type.  */
-       break;
-      }
+             uint32_t sbuf[FIXED_TAG_BYTES];
+             uint32_t *buf;
+             if (unlikely (descsz / 4 > FIXED_TAG_BYTES))
+               {
+                 buf = malloc (descsz);
+                 if (unlikely (buf == NULL))
+                   return;
+               }
+             else
+               buf = sbuf;
+             Elf_Data out =
+               {
+                 .d_version = EV_CURRENT,
+                 .d_type = ELF_T_WORD,
+                 .d_size = descsz,
+                 .d_buf = buf
+               };
+
+             if (elf32_xlatetom (&out, &in, ebl->data) != NULL)
+               {
+                 const char *os;
+                 switch (buf[0])
+                   {
+                   case ELF_NOTE_OS_LINUX:
+                     os = "Linux";
+                     break;
+
+                   case ELF_NOTE_OS_GNU:
+                     os = "GNU";
+                     break;
+
+                   case ELF_NOTE_OS_SOLARIS2:
+                     os = "Solaris";
+                     break;
+
+                   case ELF_NOTE_OS_FREEBSD:
+                     os = "FreeBSD";
+                     break;
+
+                   default:
+                     os = "???";
+                     break;
+                   }
+
+                 printf (gettext ("    OS: %s, ABI: "), os);
+                 for (size_t cnt = 1; cnt < descsz / 4; ++cnt)
+                   {
+                     if (cnt > 1)
+                       putchar_unlocked ('.');
+                     printf ("%" PRIu32, buf[cnt]);
+                   }
+                 putchar_unlocked ('\n');
+               }
+             if (descsz / 4 > FIXED_TAG_BYTES)
+               free (buf);
+             break;
+           }
+         /* FALLTHROUGH */
+
+       default:
+         /* Unknown type.  */
+         break;
+       }
+    }
 }
-- 
cgit v0.12


Reply via email to