summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2013-03-09 04:02:58 (GMT)
committer Peter Korsgaard <jacmet@sunsite.dk>2013-03-10 22:15:29 (GMT)
commit867b986721d275e74edd6d61dad4a63e540dece1 (patch)
treee48d5c6c4765318843d888d96d8338e6cc199dba
parentbcbd68f7d194a6fb29560deafa61fc08ab34eea6 (diff)
downloadbuildroot-867b986721d275e74edd6d61dad4a63e540dece1.tar.gz
buildroot-867b986721d275e74edd6d61dad4a63e540dece1.tar.bz2
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 0000000..df9d528
--- /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";;