mirror of
https://git.yoctoproject.org/poky
synced 2026-06-01 13:09:50 +00:00
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 <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
+55
@@ -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 <Qi.Chen@windriver.com>
|
||||||
|
---
|
||||||
|
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
|
||||||
|
|
||||||
@@ -16,6 +16,7 @@ SRC_URI += "file://acinclude.m4 \
|
|||||||
file://0009-misc-create_inode.c-handle-hardlinks.patch \
|
file://0009-misc-create_inode.c-handle-hardlinks.patch \
|
||||||
file://0010-debugfs-use-the-functions-in-misc-create_inode.c.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://0011-mke2fs.8.in-update-the-manual-for-the-d-option.patch \
|
||||||
|
file://0001-e2fsprogs-fix-cross-compilation-problem.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "3f8e41e63b432ba114b33f58674563f7"
|
SRC_URI[md5sum] = "3f8e41e63b432ba114b33f58674563f7"
|
||||||
|
|||||||
Reference in New Issue
Block a user