summaryrefslogtreecommitdiffstats
path: root/patches
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2011-02-11 21:54:54 +0100
committerMichael Olbrich <m.olbrich@pengutronix.de>2011-02-22 11:26:09 +0100
commit08f33f2e6b5122563e28d84a759b606bf6efcd11 (patch)
treee8adaab77336ba2691a5decb1bd1748a43652b00 /patches
parentf2cb3bf0f58634ccdcd1a3c8c45e1da113e77a49 (diff)
downloadOSELAS.Toolchain-08f33f2e6b5122563e28d84a759b606bf6efcd11.tar.gz
OSELAS.Toolchain-08f33f2e6b5122563e28d84a759b606bf6efcd11.tar.xz
[cross-gcc] add upstream patch to fix libjava build issue
Diffstat (limited to 'patches')
-rw-r--r--patches/gcc-4.5.2/0015-Fix-libjava-cross-build-issue.patch201
-rw-r--r--patches/gcc-4.5.2/series3
2 files changed, 204 insertions, 0 deletions
diff --git a/patches/gcc-4.5.2/0015-Fix-libjava-cross-build-issue.patch b/patches/gcc-4.5.2/0015-Fix-libjava-cross-build-issue.patch
new file mode 100644
index 0000000..194aea4
--- /dev/null
+++ b/patches/gcc-4.5.2/0015-Fix-libjava-cross-build-issue.patch
@@ -0,0 +1,201 @@
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Date: Fri, 11 Feb 2011 23:29:14 +0100
+Subject: [PATCH] Fix: libjava cross build issue
+
+Taken from upstream r163580:
+
+Fix building ecjx in cross compile mode.
+
+libjava/:
+ PR libgcj/40868
+ * configure.ac: Add GCC_FOR_ECJX variable. Ensure
+ GCJ_FOR_ECJX is always set.
+ * Makefile.am [!NATIVE] (ecjx.$(OBJEXT)): New rule.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+ * gcj/Makefile.in: Regenerate.
+ * include/Makefile.in: Regenerate.
+ * testsuite/Makefile.in: Regenerate.
+
+This is a fix for:
+Bug 40868 - ecjx.cc should be compiled by host gcc
+
+Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
+---
+ libjava/Makefile.am | 2 ++
+ libjava/Makefile.in | 3 +++
+ libjava/configure | 12 ++++++++----
+ libjava/configure.ac | 5 ++++-
+ libjava/gcj/Makefile.in | 1 +
+ libjava/include/Makefile.in | 1 +
+ libjava/testsuite/Makefile.in | 1 +
+ 7 files changed, 20 insertions(+), 5 deletions(-)
+
+diff --git a/libjava/Makefile.am b/libjava/Makefile.am
+index 55ff0d1..85f020f 100644
+--- a/libjava/Makefile.am
++++ b/libjava/Makefile.am
+@@ -1127,6 +1127,8 @@ ecjx_LINK = $(GCJ_FOR_ECJX_LINK) $(ecjx_LDFLAGS)
+ ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR)
+ ecjx_LDADD =
+ ecjx_DEPENDENCIES =
++ecjx.$(OBJEXT): ecjx.cc
++ $(GCC_FOR_ECJX) -c $<
+
+ endif !NATIVE
+
+diff --git a/libjava/Makefile.in b/libjava/Makefile.in
+index adfcdf5..f4ad73e 100644
+--- a/libjava/Makefile.in
++++ b/libjava/Makefile.in
+@@ -672,6 +672,7 @@ EGREP = @EGREP@
+ EXCEPTIONSPEC = @EXCEPTIONSPEC@
+ EXEEXT = @EXEEXT@
+ FGREP = @FGREP@
++GCC_FOR_ECJX = @GCC_FOR_ECJX@
+ GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@
+ GCDEPS = @GCDEPS@
+ GCINCS = @GCINCS@
+@@ -12887,6 +12888,8 @@ write-entries-to-file-check:
+ @MAINTAINER_MODE_TRUE@@NATIVE_TRUE@ | sed -n -e 's|0x\(..\)\(..\).*\(0x....\).*#\(.*\)$$|MAP(0x\1, 0x\2, \3) /*\4 */|p' \
+ @MAINTAINER_MODE_TRUE@@NATIVE_TRUE@ >> tmp-0212; \
+ @MAINTAINER_MODE_TRUE@@NATIVE_TRUE@ mv tmp-0212 $(srcdir)/gnu/gcj/convert/JIS0212.h
++@NATIVE_FALSE@ecjx.$(OBJEXT): ecjx.cc
++@NATIVE_FALSE@ $(GCC_FOR_ECJX) -c $<
+
+ src.zip:
+ -rm -f src.zip
+diff --git a/libjava/configure b/libjava/configure
+index 5454110..7b64bab 100755
+--- a/libjava/configure
++++ b/libjava/configure
+@@ -769,6 +769,7 @@ LIBLTDL
+ INCLTDL
+ host_exeext
+ GCJH
++GCC_FOR_ECJX
+ GCJ_FOR_ECJX
+ X_AWT_FALSE
+ X_AWT_TRUE
+@@ -6693,7 +6694,8 @@ NATIVE=yes
+ # Which gcj and host gcj (for ecjx) do we use?
+ which_gcj=default
+ host_exeext=${ac_exeext}
+-GCJ_FOR_ECJX=
++GCJ_FOR_ECJX='$(GCJ)'
++GCC_FOR_ECJX='$(CXX)'
+ built_gcc_dir="`cd ${builddotdot}/../../${host_subdir}/gcc && ${PWDCMD-pwd}`"
+ if test -n "${with_cross_host}"; then
+ # We are being configured with a cross compiler. We can't
+@@ -6701,6 +6703,7 @@ if test -n "${with_cross_host}"; then
+ NATIVE=no
+ cross_host_exeext=
+ GCJ_FOR_ECJX="${with_cross_host}-gcj"
++ GCC_FOR_ECJX="${with_cross_host}-gcc"
+ case "${with_cross_host}" in
+ *mingw* | *cygwin*)
+ cross_host_exeext=.exe
+@@ -6769,6 +6772,7 @@ export JAVAC
+
+
+
++
+ # Create it, so that compile/link tests don't fail
+ test -f libgcj.spec || touch libgcj.spec
+
+@@ -13339,7 +13343,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 13342 "configure"
++#line 13356 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -13445,7 +13449,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 13448 "configure"
++#line 13462 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -19424,7 +19428,7 @@ if test "${enable_sjlj_exceptions+set}" = set; then :
+ enableval=$enable_sjlj_exceptions; :
+ else
+ cat > conftest.$ac_ext << EOF
+-#line 19427 "configure"
++#line 19441 "configure"
+ struct S { ~S(); };
+ void bar();
+ void foo()
+diff --git a/libjava/configure.ac b/libjava/configure.ac
+index 9b551db..eaedc56 100644
+--- a/libjava/configure.ac
++++ b/libjava/configure.ac
+@@ -394,7 +394,8 @@ NATIVE=yes
+ # Which gcj and host gcj (for ecjx) do we use?
+ which_gcj=default
+ host_exeext=${ac_exeext}
+-GCJ_FOR_ECJX=
++GCJ_FOR_ECJX='$(GCJ)'
++GCC_FOR_ECJX='$(CXX)'
+ built_gcc_dir="`cd ${builddotdot}/../../${host_subdir}/gcc && ${PWDCMD-pwd}`"
+ if test -n "${with_cross_host}"; then
+ # We are being configured with a cross compiler. We can't
+@@ -402,6 +403,7 @@ if test -n "${with_cross_host}"; then
+ NATIVE=no
+ cross_host_exeext=
+ GCJ_FOR_ECJX="${with_cross_host}-gcj"
++ GCC_FOR_ECJX="${with_cross_host}-gcc"
+ case "${with_cross_host}" in
+ *mingw* | *cygwin*)
+ cross_host_exeext=.exe
+@@ -467,6 +469,7 @@ JAVAC="$GCJ -C"
+ export JAVAC
+
+ AC_SUBST(GCJ_FOR_ECJX)
++AC_SUBST(GCC_FOR_ECJX)
+ AC_SUBST(GCJH)
+ AC_SUBST(host_exeext)
+
+diff --git a/libjava/gcj/Makefile.in b/libjava/gcj/Makefile.in
+index dd17e55..e7e912a 100644
+--- a/libjava/gcj/Makefile.in
++++ b/libjava/gcj/Makefile.in
+@@ -136,6 +136,7 @@ EGREP = @EGREP@
+ EXCEPTIONSPEC = @EXCEPTIONSPEC@
+ EXEEXT = @EXEEXT@
+ FGREP = @FGREP@
++GCC_FOR_ECJX = @GCC_FOR_ECJX@
+ GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@
+ GCDEPS = @GCDEPS@
+ GCINCS = @GCINCS@
+diff --git a/libjava/include/Makefile.in b/libjava/include/Makefile.in
+index 2e04d8d..1c6f71a 100644
+--- a/libjava/include/Makefile.in
++++ b/libjava/include/Makefile.in
+@@ -136,6 +136,7 @@ EGREP = @EGREP@
+ EXCEPTIONSPEC = @EXCEPTIONSPEC@
+ EXEEXT = @EXEEXT@
+ FGREP = @FGREP@
++GCC_FOR_ECJX = @GCC_FOR_ECJX@
+ GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@
+ GCDEPS = @GCDEPS@
+ GCINCS = @GCINCS@
+diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in
+index a582efd..f81f531 100644
+--- a/libjava/testsuite/Makefile.in
++++ b/libjava/testsuite/Makefile.in
+@@ -111,6 +111,7 @@ EGREP = @EGREP@
+ EXCEPTIONSPEC = @EXCEPTIONSPEC@
+ EXEEXT = @EXEEXT@
+ FGREP = @FGREP@
++GCC_FOR_ECJX = @GCC_FOR_ECJX@
+ GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@
+ GCDEPS = @GCDEPS@
+ GCINCS = @GCINCS@
+--
+1.7.2.3
+
diff --git a/patches/gcc-4.5.2/series b/patches/gcc-4.5.2/series
index 7cf6335..26780a4 100644
--- a/patches/gcc-4.5.2/series
+++ b/patches/gcc-4.5.2/series
@@ -19,3 +19,6 @@
# from oe
0014-arm-bswapsi2.patch
+
+# from upstream
+0015-Fix-libjava-cross-build-issue.patch