summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2013-03-09 04:02:58 +0000
committerPeter Korsgaard <jacmet@sunsite.dk>2013-03-10 23:15:29 +0100
commit867b986721d275e74edd6d61dad4a63e540dece1 (patch)
treee48d5c6c4765318843d888d96d8338e6cc199dba
parentbcbd68f7d194a6fb29560deafa61fc08ab34eea6 (diff)
downloadbuildroot-novena-867b986721d275e74edd6d61dad4a63e540dece1.tar.gz
buildroot-novena-867b986721d275e74edd6d61dad4a63e540dece1.zip
icu: workaround toolchain bugs
Many of ARM Sourcery CodeBench toolchain have a bug when compiling icu's translit.cpp source file. The bug is trigerred when there is a combination of "-W -Wall" and "-Os", and causes an internal compiler error. The bug has been reported to Mentor Graphics. Even though it is clearly a toolchain bug, having a workaround for it is trivial in this case. So it will avoid our users falling into this internal compiler error, and allow our autobuilders to test more packages using this Sourcery CodeBench toolchain. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rw-r--r--package/icu/icu-workaround-toolchain-bugs.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/package/icu/icu-workaround-toolchain-bugs.patch b/package/icu/icu-workaround-toolchain-bugs.patch
new file mode 100644
index 000000000..df9d5283f
--- /dev/null
+++ b/package/icu/icu-workaround-toolchain-bugs.patch
@@ -0,0 +1,36 @@
+Workaround toolchain bugs
+
+Many of ARM Sourcery CodeBench toolchain have a bug when compiling
+icu's translit.cpp source file. The bug is trigerred when there is a
+combination of "-W -Wall" and "-Os", and causes an internal compiler
+error. The bug has been reported to Mentor Graphics.
+
+Even though it is clearly a toolchain bug, having a workaround for it
+is trivial in this case. So it will avoid our users falling into this
+internal compiler error, and allow our autobuilders to test more
+packages using this Sourcery CodeBench toolchain.qq
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/source/configure
+===================================================================
+--- a/source/configure
++++ b/source/configure
+@@ -4320,7 +4320,7 @@
+ echo "# Note: We are not using '-ansi' with HP/UX GCC because int64_t broke, see <http://bugs.icu-project.org/trac/ticket/8493>"
+ CFLAGS="$CFLAGS -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long";;
+ *)
+- CFLAGS="$CFLAGS -Wall -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long";;
++ CFLAGS="$CFLAGS -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long";;
+ esac
+ else
+ case "${host}" in
+@@ -4333,7 +4333,7 @@
+ fi
+ if test "$GXX" = yes
+ then
+- CXXFLAGS="$CXXFLAGS -W -Wall -ansi -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long"
++ CXXFLAGS="$CXXFLAGS -ansi -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long"
+ case "${host}" in
+ *-*-solaris*)
+ CXXFLAGS="$CXXFLAGS -D__STDC__=0";;