From 7a8f3c783e63178fbd075c31c36ee6f07ff0b979 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Wed, 5 Mar 2014 13:14:32 +0800 Subject: e2fsprogs: fix cross compilation problem When compiling e2fsprogs for qemumips64, we got compilation errors. The root cause is that parse-types.sh script would fail for mips64. However, the type size checking in parse-types.sh doesn't make much sense in case of cross compilation. This is because that the typedef statements in asm_types.h are for the target machine while the generated binary in parse-types.sh script is executed on build machine. This patch fixes such problem. (From OE-Core rev: 45877518e2d277c63d5a561408fbfcd4cb5a2a76) Signed-off-by: Chen Qi Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- ...1-e2fsprogs-fix-cross-compilation-problem.patch | 55 ++++++++++++++++++++++ .../recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb | 1 + 2 files changed, 56 insertions(+) create mode 100644 meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-e2fsprogs-fix-cross-compilation-problem.patch (limited to 'meta/recipes-devtools/e2fsprogs') diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-e2fsprogs-fix-cross-compilation-problem.patch b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-e2fsprogs-fix-cross-compilation-problem.patch new file mode 100644 index 0000000..73043be --- /dev/null +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-e2fsprogs-fix-cross-compilation-problem.patch @@ -0,0 +1,55 @@ +Upstream-Status: Pending + +Subject: e2fsprogs: fix cross compilation problem + +The checking of types in parse-types.sh doesn't make much sense in a +cross-compilation environment, because the generated binary is executed +on build machine. + +So even if asm_types.h has got correct statements for types, it's possible +that the generated binary will report an error. Because these types are for +the target machine. + +Signed-off-by: Chen Qi +--- + config/parse-types.sh | 6 ++++-- + configure.in | 6 +++++- + 2 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/config/parse-types.sh b/config/parse-types.sh +index 5076f6c..24d2a99 100755 +--- a/config/parse-types.sh ++++ b/config/parse-types.sh +@@ -118,8 +118,10 @@ if ./asm_types + then + true + else +- echo "Problem detected with asm_types.h" +- echo "" > asm_types.h ++ if [ "${CROSS_COMPILE}" != "1" ]; then ++ echo "Problem detected with asm_types.h" ++ echo "" > asm_types.h ++ fi + fi + rm asm_types.c asm_types + +diff --git a/configure.in b/configure.in +index 68adf0d..ed1697b 100644 +--- a/configure.in ++++ b/configure.in +@@ -953,7 +953,11 @@ AC_SUBST(SIZEOF_LONG) + AC_SUBST(SIZEOF_LONG_LONG) + AC_SUBST(SIZEOF_OFF_T) + AC_C_BIGENDIAN +-BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh ++if test $cross_compiling = no; then ++ BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh ++else ++ CROSS_COMPILE="1" BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh ++fi + ASM_TYPES_HEADER=./asm_types.h + AC_SUBST_FILE(ASM_TYPES_HEADER) + dnl +-- +1.7.9.5 + diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb index 3864ec1..4114fd2 100644 --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb @@ -16,6 +16,7 @@ SRC_URI += "file://acinclude.m4 \ file://0009-misc-create_inode.c-handle-hardlinks.patch \ file://0010-debugfs-use-the-functions-in-misc-create_inode.c.patch \ file://0011-mke2fs.8.in-update-the-manual-for-the-d-option.patch \ + file://0001-e2fsprogs-fix-cross-compilation-problem.patch \ " SRC_URI[md5sum] = "3f8e41e63b432ba114b33f58674563f7" -- cgit v1.1