diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2011-02-11 21:54:54 +0100 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2011-02-22 11:26:09 +0100 |
commit | 08f33f2e6b5122563e28d84a759b606bf6efcd11 (patch) | |
tree | e8adaab77336ba2691a5decb1bd1748a43652b00 /patches | |
parent | f2cb3bf0f58634ccdcd1a3c8c45e1da113e77a49 (diff) | |
download | OSELAS.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.patch | 201 | ||||
-rw-r--r-- | patches/gcc-4.5.2/series | 3 |
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 |