From c527fd1f14c27855a37f2e8ac5346ce8d940ced2 Mon Sep 17 00:00:00 2001 From: Tudor Florea Date: Thu, 16 Oct 2014 03:05:19 +0200 Subject: initial commit for Enea Linux 4.0-140929 Migrated from the internal git server on the daisy-enea-point-release branch Signed-off-by: Tudor Florea --- .../elfutils/elfutils/fix_for_gcc-4.7.patch | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 meta/recipes-devtools/elfutils/elfutils/fix_for_gcc-4.7.patch (limited to 'meta/recipes-devtools/elfutils/elfutils/fix_for_gcc-4.7.patch') 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 index 0000000000..bd634b4418 --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils/fix_for_gcc-4.7.patch @@ -0,0 +1,73 @@ +Upstream-Status: 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 +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); -- cgit v1.2.3-54-g00ecf