[prev in list] [next in list] [prev in thread] [next in thread]
List: openembedded-core
Subject: [OE-core] [PATCH 2/6] libgpg-error: Add -P option to CPPFLAGS
From: raj.khem () gmail ! com (Khem Raj)
Date: 2015-02-27 17:19:53
Message-ID: 1425057596-28243-2-git-send-email-raj.khem () gmail ! com
[Download RAW message or body]
Fixes https://www.mail-archive.com/debian-bugs-dist at \
lists.debian.org/msg1301822.html
libgpg-error FTBFS when built with gcc-5. Here is the relevant excerpt:
> Making all in src
> make[4]: Entering directory '/tmp/buildd/libgpg-error/libgpg-error-1.17/src'
> gawk -f ./mkstrtable.awk -v textidx=3 \
> ./err-sources.h.in >err-sources.h
> gawk -f ./mkstrtable.awk -v textidx=3 \
> ./err-codes.h.in >err-codes.h
> gawk -f ./mkerrnos.awk ./errnos.in >code-to-errno.h
> gawk -f ./mkerrcodes1.awk ./errnos.in >_mkerrcodes.h
> gcc -E -D_FORTIFY_SOURCE=2 _mkerrcodes.h | grep GPG_ERR_ | \
> gawk -f ./mkerrcodes.awk >mkerrcodes.h
> rm _mkerrcodes.h
> gcc -I. -I. -o mkerrcodes ./mkerrcodes.c
> In file included from ./mkerrcodes.c:26:0:
> ./mkerrcodes.h:9:5: error: expected expression before ',' token
> { , "GPG_ERR_E2BIG" },
> ^
It makes invalid assumptions on undefined behaviour of gcc. To see why,
let us look at the contents of the intermediate steps:
_mkerrcodes.h (deleted):
> ...
> #ifdef E2BIG
> E2BIG GPG_ERR_E2BIG
> #endif
> #ifdef WSAE2BIG
> WSAE2BIG GPG_ERR_E2BIG
> #endif
> ...
gcc -E -D_FORTIFY_SOURCE=2 _mkerrcodes.h | grep -v '^$':
> ...
> # 26 "_mkerrcodes.h" 2
> 7
> # 31 "_mkerrcodes.h"
> GPG_ERR_E2BIG
> # 37 "_mkerrcodes.h" 3 4
> 13
> # 37 "_mkerrcodes.h"
> GPG_ERR_EACCES
> ...
As can be seen here, the cpp from gcc-5 can split lines and "grep
GPG_ERR_" fails to account for that.
Change-Id: I6f1476e4afc7163ebc3a05106ceaa3b83e3fab3e
Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
meta/recipes-support/libgpg-error/libgpg-error_1.18.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-support/libgpg-error/libgpg-error_1.18.bb \
b/meta/recipes-support/libgpg-error/libgpg-error_1.18.bb index 9501b67..6d11605 \
100644
--- a/meta/recipes-support/libgpg-error/libgpg-error_1.18.bb
+++ b/meta/recipes-support/libgpg-error/libgpg-error_1.18.bb
@@ -19,7 +19,7 @@ SRC_URI[sha256sum] = \
"9ff1d6e61d4cef7c1d0607ceef6d40dc33f3da7a3094170c3718c00153 BINCONFIG = \
"${bindir}/gpg-error-config"
inherit autotools binconfig-disabled pkgconfig gettext
-
+CPPFLAGS += "-P"
do_compile_prepend() {
TARGET_FILE=linux-gnu
if [ ${TARGET_OS} != "linux" ]; then
--
2.1.4
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic