]> code.ossystems Code Review - openembedded-core.git/commitdiff
elfutils: fix build with -Os
authorMartin Jansa <martin.jansa@gmail.com>
Tue, 21 Apr 2015 10:53:37 +0000 (12:53 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 27 Apr 2015 14:00:59 +0000 (15:00 +0100)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/elfutils/elfutils-0.161/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch [new file with mode: 0644]
meta/recipes-devtools/elfutils/elfutils_0.161.bb

diff --git a/meta/recipes-devtools/elfutils/elfutils-0.161/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch b/meta/recipes-devtools/elfutils/elfutils-0.161/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch
new file mode 100644 (file)
index 0000000..3754c1c
--- /dev/null
@@ -0,0 +1,35 @@
+From 668accf322fd7185e273bfd50b84320e71d9de5a Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Fri, 10 Apr 2015 00:29:18 +0200
+Subject: [PATCH] elf_getarsym: Silence -Werror=maybe-uninitialized false
+ positive
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ libelf/elf_getarsym.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/libelf/elf_getarsym.c b/libelf/elf_getarsym.c
+index d0bb28a..08954d2 100644
+--- a/libelf/elf_getarsym.c
++++ b/libelf/elf_getarsym.c
+@@ -165,8 +165,13 @@ elf_getarsym (elf, ptr)
+       int w = index64_p ? 8 : 4;
+       /* We have an archive.  The first word in there is the number of
+-       entries in the table.  */
+-      uint64_t n;
++       entries in the table.
++       Set to SIZE_MAX just to silence -Werror=maybe-uninitialized
++       elf_getarsym.c:290:9: error: 'n' may be used uninitialized in this function
++       The read_number_entries function doesn't initialize n only when returning
++       -1 which in turn ensures to jump over usage of this uninitialized variable.
++       */
++      uint64_t n = SIZE_MAX;
+       size_t off = elf->start_offset + SARMAG + sizeof (struct ar_hdr);
+       if (read_number_entries (&n, elf, &off, index64_p) < 0)
+       {
+-- 
+2.3.5
+
index a3c1f36f6a0994c3046b2e616e1a7e7d2e10e2dc..d8c27f57b1e72996baa51f930b2715e4985c56ad 100644 (file)
@@ -15,6 +15,7 @@ SRC_URI += "\
         file://dso-link-change.patch \
         file://Fix_elf_cvt_gunhash.patch \
         file://fixheadercheck.patch \
+        file://0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch \
 "
 
 # pick the patch from debian