The attached patch moves the linkage on $(LDLIBICONV) from libgcj.spec.in to a more correct direct linkage on libgcj which contains the unresolved symbols. This change also solves problems when a multilib only has libiconv for one of the two architectures (ie building gcc trunk on x86_64 fink which lacks a i386 libiconv). Bootstrap and libjava regression tested on x86_64 darwin11. Okay for gcc trunk? Jack
2011-06-18 Jack Howarth <howa...@bromo.med.uc.edu> * libjava/libgcj.spec.in: Don't pass @LDLIBICONV@. * libjava/Makefile.am (libgcj_la_LDFLAGS): Pass @LDLIBICONV@. * libjava/Makefile.in: Regenerate. Index: libjava/libgcj.spec.in =================================================================== --- libjava/libgcj.spec.in (revision 175163) +++ libjava/libgcj.spec.in (working copy) @@ -7,6 +7,6 @@ *startfile: @THREADSTARTFILESPEC@ %(startfileorig) %rename lib liborig -*lib: @LD_START_STATIC_SPEC@ @LIBGCJ_SPEC@ @LD_FINISH_STATIC_SPEC@ @LIBMATHSPEC@ @LDLIBICONV@ @GCSPEC@ @THREADSPEC@ @ZLIBSPEC@ @SYSTEMSPEC@ %(libgcc) @LIBSTDCXXSPEC@ %(liborig) +*lib: @LD_START_STATIC_SPEC@ @LIBGCJ_SPEC@ @LD_FINISH_STATIC_SPEC@ @LIBMATHSPEC@ @GCSPEC@ @THREADSPEC@ @ZLIBSPEC@ @SYSTEMSPEC@ %(libgcc) @LIBSTDCXXSPEC@ %(liborig) *jc1: @HASH_SYNC_SPEC@ @DIVIDESPEC@ @CHECKREFSPEC@ @JC1GCSPEC@ @EXCEPTIONSPEC@ @BACKTRACESPEC@ @IEEESPEC@ @ATOMICSPEC@ @LIBGCJ_BC_SPEC@ -fkeep-inline-functions Index: libjava/Makefile.am =================================================================== --- libjava/Makefile.am (revision 175163) +++ libjava/Makefile.am (working copy) @@ -492,7 +492,7 @@ xlib_nat_files = $(xlib_nat_source_files libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(extra_ldflags) $(THREADLIBS) \ $(LIBLTDL) $(SYS_ZLIBS) $(LIBJAVA_LDFLAGS_NOUNDEF) \ -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ - $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBGCJ_LD_EXPORT_ALL) + $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBGCJ_LD_EXPORT_ALL) $(LDLIBICONV) libgcj_la_LIBADD = \ classpath/native/fdlibm/libfdlibm.la \ java/lang/Object.lo \