]> code.ossystems Code Review - openembedded-core.git/commitdiff
elfutils: fix compilations issue with the gcc 4.7
authorNitin A Kamble <nitin.a.kamble@intel.com>
Thu, 7 Jul 2011 13:29:51 +0000 (06:29 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 8 Jul 2011 15:21:17 +0000 (16:21 +0100)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
17 files changed:
meta/recipes-devtools/elfutils/elfutils/arm_backend.diff [moved from meta/recipes-devtools/elfutils/elfutils-0.148/arm_backend.diff with 100% similarity]
meta/recipes-devtools/elfutils/elfutils/do-autoreconf.diff [moved from meta/recipes-devtools/elfutils/elfutils-0.148/do-autoreconf.diff with 100% similarity]
meta/recipes-devtools/elfutils/elfutils/elf_additions.diff [moved from meta/recipes-devtools/elfutils/elfutils-0.148/elf_additions.diff with 100% similarity]
meta/recipes-devtools/elfutils/elfutils/elfutils-fsize.patch [moved from meta/recipes-devtools/elfutils/elfutils-0.148/elfutils-fsize.patch with 100% similarity]
meta/recipes-devtools/elfutils/elfutils/fix_for_gcc-4.7.patch [new file with mode: 0644]
meta/recipes-devtools/elfutils/elfutils/hppa_backend.diff [moved from meta/recipes-devtools/elfutils/elfutils-0.148/hppa_backend.diff with 100% similarity]
meta/recipes-devtools/elfutils/elfutils/i386_dis.h [moved from meta/recipes-devtools/elfutils/elfutils-0.148/i386_dis.h with 100% similarity]
meta/recipes-devtools/elfutils/elfutils/m68k_backend.diff [moved from meta/recipes-devtools/elfutils/elfutils-0.148/m68k_backend.diff with 100% similarity]
meta/recipes-devtools/elfutils/elfutils/mempcpy.patch [moved from meta/recipes-devtools/elfutils/elfutils-0.148/mempcpy.patch with 100% similarity]
meta/recipes-devtools/elfutils/elfutils/mips_backend.diff [moved from meta/recipes-devtools/elfutils/elfutils-0.148/mips_backend.diff with 100% similarity]
meta/recipes-devtools/elfutils/elfutils/redhat-portability.diff [moved from meta/recipes-devtools/elfutils/elfutils-0.148/redhat-portability.diff with 100% similarity]
meta/recipes-devtools/elfutils/elfutils/redhat-robustify.diff [moved from meta/recipes-devtools/elfutils/elfutils-0.148/redhat-robustify.diff with 100% similarity]
meta/recipes-devtools/elfutils/elfutils/remove-unused.patch [moved from meta/recipes-devtools/elfutils/elfutils-0.148/remove-unused.patch with 100% similarity]
meta/recipes-devtools/elfutils/elfutils/testsuite-ignore-elflint.diff [moved from meta/recipes-devtools/elfutils/elfutils-0.148/testsuite-ignore-elflint.diff with 100% similarity]
meta/recipes-devtools/elfutils/elfutils/uclibc-support.patch [moved from meta/recipes-devtools/elfutils/elfutils-0.148/uclibc-support.patch with 100% similarity]
meta/recipes-devtools/elfutils/elfutils/x86_64_dis.h [moved from meta/recipes-devtools/elfutils/elfutils-0.148/x86_64_dis.h with 100% similarity]
meta/recipes-devtools/elfutils/elfutils_0.148.bb

diff --git a/meta/recipes-devtools/elfutils/elfutils/fix_for_gcc-4.7.patch b/meta/recipes-devtools/elfutils/elfutils/fix_for_gcc-4.7.patch
new file mode 100644 (file)
index 0000000..bd22eef
--- /dev/null
@@ -0,0 +1,73 @@
+UpstreamStatus: pending
+gcc 4.7 does not like pointer conversion, so have a void * tmp var to work 
+around following compilation issue.
+
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
+2011/07/07
+
+| md5.c: In function 'md5_finish_ctx':
+| md5.c:108:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+| md5.c:109:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+| cc1: all warnings being treated as errors
+| 
+| make[2]: *** [md5.o] Error 1
+| make[2]: *** Waiting for unfinished jobs....
+| sha1.c: In function 'sha1_finish_ctx':
+| sha1.c:109:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+| sha1.c:111:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
+| cc1: all warnings being treated as errors
+| 
+| make[2]: *** [sha1.o] Error 1
+
+Index: elfutils-0.148/lib/md5.c
+===================================================================
+--- elfutils-0.148.orig/lib/md5.c
++++ elfutils-0.148/lib/md5.c
+@@ -95,6 +95,7 @@ md5_finish_ctx (ctx, resbuf)
+   /* Take yet unprocessed bytes into account.  */
+   md5_uint32 bytes = ctx->buflen;
+   size_t pad;
++  void * tmp;
+   /* Now count remaining bytes.  */
+   ctx->total[0] += bytes;
+@@ -105,9 +106,10 @@ md5_finish_ctx (ctx, resbuf)
+   memcpy (&ctx->buffer[bytes], fillbuf, pad);
+   /* Put the 64-bit file length in *bits* at the end of the buffer.  */
+-  *(md5_uint32 *) &ctx->buffer[bytes + pad] = SWAP (ctx->total[0] << 3);
+-  *(md5_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP ((ctx->total[1] << 3) |
+-                                                      (ctx->total[0] >> 29));
++  tmp = &ctx->buffer[bytes + pad];
++  *(md5_uint32 *) tmp = SWAP (ctx->total[0] << 3);
++  tmp = &ctx->buffer[bytes + pad + 4];
++  *(md5_uint32 *) tmp = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29));
+   /* Process last bytes.  */
+   md5_process_block (ctx->buffer, bytes + pad + 8, ctx);
+Index: elfutils-0.148/lib/sha1.c
+===================================================================
+--- elfutils-0.148.orig/lib/sha1.c
++++ elfutils-0.148/lib/sha1.c
+@@ -96,6 +96,7 @@ sha1_finish_ctx (ctx, resbuf)
+   /* Take yet unprocessed bytes into account.  */
+   sha1_uint32 bytes = ctx->buflen;
+   size_t pad;
++  void * tmp;
+   /* Now count remaining bytes.  */
+   ctx->total[0] += bytes;
+@@ -106,9 +107,10 @@ sha1_finish_ctx (ctx, resbuf)
+   memcpy (&ctx->buffer[bytes], fillbuf, pad);
+   /* Put the 64-bit file length in *bits* at the end of the buffer.  */
+-  *(sha1_uint32 *) &ctx->buffer[bytes + pad] = SWAP ((ctx->total[1] << 3) |
+-                                                   (ctx->total[0] >> 29));
+-  *(sha1_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP (ctx->total[0] << 3);
++  tmp = &ctx->buffer[bytes + pad];
++  *(sha1_uint32 *) tmp = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29));
++  tmp = &ctx->buffer[bytes + pad + 4];
++  *(sha1_uint32 *) tmp = SWAP (ctx->total[0] << 3);
+   /* Process last bytes.  */
+   sha1_process_block (ctx->buffer, bytes + pad + 8, ctx);
index e88a4789a9af3493fd9f16a7ed861e09f3309d45..1399eb70d7e5f0e3bf5f419a1b29ecb1f6a36f5e 100644 (file)
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3\
                     file://EXCEPTION;md5=570adcb0c1218ab57f2249c67d0ce417"
 DEPENDS = "libtool bzip2 zlib"
 
-PR = "r2"
+PR = "r3"
 
 SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/elfutils-${PV}.tar.bz2"
 
@@ -29,6 +29,7 @@ SRC_URI += "\
        file://elfutils-fsize.patch \
        file://remove-unused.patch \
        file://mempcpy.patch \
+       file://fix_for_gcc-4.7.patch\
 "
 # Only apply when building uclibc based target recipe
 SRC_URI_append_libc-uclibc = " ${@['', 'file://uclibc-support.patch']['${PN}' == '${BPN}']}"