Patchwork Backport PR 43839 fix for darwin to gcc 4.5.1

login
register
mail settings
Submitter Jack Howarth
Date June 25, 2010, 2:22 a.m.
Message ID <20100625022241.GA24545@bromo.med.uc.edu>
Download mbox | patch
Permalink /patch/56881/
State New
Headers show

Comments

Jack Howarth - June 25, 2010, 2:22 a.m.
The attached patch backports r159009 which eliminated
PR43839 on darwin where alternative libiconv locations
weren't being honored in the libjava testsuite. Tested
on x86_64-apple-darwin10. Okay for gcc 4.5.1?
                 Jack

2010-06-24  Jack Howarth  <howarth@bromo.med.uc.edu>

	Backport from mainline
	2010-05-03  Jack Howarth <howarth@bromo.med.uc.edu>

	PR 43839
	* testsuite/Makefile.am: Override automake for site.exp creation
	and add entry to set libiconv.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
	Add new global variable libiconv to handle alternative libiconv
	locations.
Mike Stump - June 25, 2010, 5:20 a.m.
On Jun 24, 2010, at 7:22 PM, Jack Howarth wrote:
> The attached patch backports r159009 which eliminated
> PR43839 on darwin where alternative libiconv locations
> weren't being honored in the libjava testsuite. Tested
> on x86_64-apple-darwin10. Okay for gcc 4.5.1?

Ok.
Jack Howarth - June 25, 2010, 1:14 p.m.
On Thu, Jun 24, 2010 at 10:20:39PM -0700, Mike Stump wrote:
> On Jun 24, 2010, at 7:22 PM, Jack Howarth wrote:
> > The attached patch backports r159009 which eliminated
> > PR43839 on darwin where alternative libiconv locations
> > weren't being honored in the libjava testsuite. Tested
> > on x86_64-apple-darwin10. Okay for gcc 4.5.1?
> 
> Ok.

Thanks. Can you do the commits for the three posted backports?
I've posted testsuite results with those applied to current
gcc-4_5-branch...

http://gcc.gnu.org/ml/gcc-testresults/2010-06/msg02553.html

      Jack

Patch

Index: libjava/testsuite/Makefile.in
===================================================================
--- libjava/testsuite/Makefile.in	(revision 161355)
+++ libjava/testsuite/Makefile.in	(working copy)
@@ -388,25 +388,6 @@ 
 	else echo "WARNING: could not find \`runtest'" 1>&2; :;\
 	fi; \
 	exit $$exit_status
-site.exp: Makefile
-	@echo 'Making a new site.exp file...'
-	@echo '## these variables are automatically generated by make ##' >site.tmp
-	@echo '# Do not edit here.  If you wish to override these values' >>site.tmp
-	@echo '# edit the last section' >>site.tmp
-	@echo 'set srcdir $(srcdir)' >>site.tmp
-	@echo "set objdir `pwd`" >>site.tmp
-	@echo 'set build_alias "$(build_alias)"' >>site.tmp
-	@echo 'set build_triplet $(build_triplet)' >>site.tmp
-	@echo 'set host_alias "$(host_alias)"' >>site.tmp
-	@echo 'set host_triplet $(host_triplet)' >>site.tmp
-	@echo 'set target_alias "$(target_alias)"' >>site.tmp
-	@echo 'set target_triplet $(target_triplet)' >>site.tmp
-	@echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp
-	@test ! -f site.exp || \
-	  sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
-	@-rm -f site.bak
-	@test ! -f site.exp || mv site.exp site.bak
-	@mv site.tmp site.exp
 
 distclean-DEJAGNU:
 	-rm -f site.exp site.bak
@@ -557,6 +538,31 @@ 
 
 .PHONY: compile-tests
 
+# We need more things in site.exp, but automake completely controls the
+# creation of that file; there's no way to append to it without messing up
+# the dependency chains.  So we overrule automake.  This rule is exactly
+# what it would have generated, plus our own additions.
+site.exp: Makefile
+	@echo 'Making a new site.exp file...'
+	@echo '## these variables are automatically generated by make ##' >site.tmp
+	@echo '# Do not edit here.  If you wish to override these values' >>site.tmp
+	@echo '# edit the last section' >>site.tmp
+	@echo 'set srcdir $(srcdir)' >>site.tmp
+	@echo "set objdir `pwd`" >>site.tmp
+	@echo 'set build_alias "$(build_alias)"' >>site.tmp
+	@echo 'set build_triplet $(build_triplet)' >>site.tmp
+	@echo 'set host_alias "$(host_alias)"' >>site.tmp
+	@echo 'set host_triplet $(host_triplet)' >>site.tmp
+	@echo 'set target_alias "$(target_alias)"' >>site.tmp
+	@echo 'set target_triplet $(target_triplet)' >>site.tmp
+	@echo 'set libiconv "$(LIBICONV)"' >>site.tmp
+	@echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp
+	@test ! -f site.exp || \
+	  sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
+	@-rm -f site.bak
+	@test ! -f site.exp || mv site.exp site.bak
+	@mv site.tmp site.exp
+
 check-am: compile-tests
 
 compile-tests:
Index: libjava/testsuite/libjava.jni/jni.exp
===================================================================
--- libjava/testsuite/libjava.jni/jni.exp	(revision 161355)
+++ libjava/testsuite/libjava.jni/jni.exp	(working copy)
@@ -251,7 +251,11 @@ 
 }
 
 proc gcj_jni_get_cxxflags_invocation {} {
+  global libiconv
   global LIBJAVA
+  if {$libiconv == ""} {
+      set libiconv "-liconv"
+  }
   if [info exists LIBJAVA] {
       set libjava $LIBJAVA;
   } else {
@@ -267,7 +271,7 @@ 
   # to just make the linker find libgcc using -L options.
   # Similar logic applies to libgcj.
   if { [istarget "*-*-darwin*"] } {
-    lappend cxxflags -shared-libgcc -lgcj -liconv
+    eval lappend cxxflags "-shared-libgcc -lgcj $libiconv"
   }
 
   if { [istarget "*-*-solaris*"] } {
Index: libjava/testsuite/Makefile.am
===================================================================
--- libjava/testsuite/Makefile.am	(revision 161355)
+++ libjava/testsuite/Makefile.am	(working copy)
@@ -24,6 +24,31 @@ 
 
 .PHONY: compile-tests
 
+# We need more things in site.exp, but automake completely controls the
+# creation of that file; there's no way to append to it without messing up
+# the dependency chains.  So we overrule automake.  This rule is exactly
+# what it would have generated, plus our own additions.
+site.exp: Makefile
+	@echo 'Making a new site.exp file...'
+	@echo '## these variables are automatically generated by make ##' >site.tmp
+	@echo '# Do not edit here.  If you wish to override these values' >>site.tmp
+	@echo '# edit the last section' >>site.tmp
+	@echo 'set srcdir $(srcdir)' >>site.tmp
+	@echo "set objdir `pwd`" >>site.tmp
+	@echo 'set build_alias "$(build_alias)"' >>site.tmp
+	@echo 'set build_triplet $(build_triplet)' >>site.tmp
+	@echo 'set host_alias "$(host_alias)"' >>site.tmp
+	@echo 'set host_triplet $(host_triplet)' >>site.tmp
+	@echo 'set target_alias "$(target_alias)"' >>site.tmp
+	@echo 'set target_triplet $(target_triplet)' >>site.tmp
+	@echo 'set libiconv "$(LIBICONV)"' >>site.tmp
+	@echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp
+	@test ! -f site.exp || \
+	  sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
+	@-rm -f site.bak
+	@test ! -f site.exp || mv site.exp site.bak
+	@mv site.tmp site.exp
+
 check-am: compile-tests
 
 compile-tests: