From 012807d8b7d5c6704e458b30eb9c53d97bb275ac Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Tue, 11 Dec 2012 16:58:08 +0000 Subject: [PATCH] mksh: fix build on mipsel platforms And possibly other platforms where this assertion fails: error: variably modified 'ari_sign_32_bit_and_wrap' at file scope Signed-off-by: Florian Fainelli SVN-Revision: 34632 --- utils/mksh/Makefile | 2 +- utils/mksh/patches/000-debian_build_fix.patch | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 utils/mksh/patches/000-debian_build_fix.patch diff --git a/utils/mksh/Makefile b/utils/mksh/Makefile index e9a3bf3f11..27a2801886 100644 --- a/utils/mksh/Makefile +++ b/utils/mksh/Makefile @@ -55,7 +55,7 @@ define Build/Compile CC="$(TARGET_CC)" \ TARGET_OS="$(shell uname -s)" \ CFLAGS="$(TARGET_CFLAGS)" \ - CPPFLAGS="-DMKSH_SMALL=1 -DMKSH_ASSUME_UTF8=0" \ + CPPFLAGS="-DMKSH_SMALL=1 -DMKSH_ASSUME_UTF8=0 -DMKSH_GCC565048=1" \ HAVE_CAN_FSTACKPROTECTORALL=0 \ LDFLAGS="$(TARGET_LDFLAGS)" \ $(BASH) Build.sh -Q -r -c lto diff --git a/utils/mksh/patches/000-debian_build_fix.patch b/utils/mksh/patches/000-debian_build_fix.patch new file mode 100644 index 0000000000..b64fe71df2 --- /dev/null +++ b/utils/mksh/patches/000-debian_build_fix.patch @@ -0,0 +1,18 @@ +This patch is a backport of the fix proposed at: +https://bugs.launchpad.net/ubuntu/+source/mksh/+bug/1058035 + +diff -urN mksh/Build.sh mksh.new/Build.sh +--- mksh/Build.sh 2012-12-11 14:28:56.632807230 +0100 ++++ mksh.new/Build.sh 2012-12-11 14:35:23.704817141 +0100 +@@ -1530,9 +1530,11 @@ + /* but the next three are; we REQUIRE signed integer wraparound */ + cta(ari_is_signed, (mksh_ari_t)-1 < (mksh_ari_t)0); + cta(ari_has_31_bit, 0 < (mksh_ari_t)(((((mksh_ari_t)1 << 15) << 15) - 1) * 2 + 1)); ++#if !defined(MKSH_GCC565048) + cta(ari_sign_32_bit_and_wrap, + (mksh_ari_t)(((((mksh_ari_t)1 << 15) << 15) - 1) * 2 + 1) > + (mksh_ari_t)(((((mksh_ari_t)1 << 15) << 15) - 1) * 2 + 2)); ++#endif + /* the next assertion is probably not really needed */ + cta(uari_is_4_char, sizeof(mksh_uari_t) == 4); + /* but the next four are; we REQUIRE unsigned integer wraparound */ -- 2.30.2