This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Boostrap fails on i386-pc-solaris2.10 - libquadmath error
Ralf Wildenhues <Ralf.Wildenhues@gmx.de> writes:
> * Tobias Burnus wrote on Wed, Nov 17, 2010 at 08:20:39PM CET:
>> b) Building with a cross compiler is not supported by the
>> libquadmath configure script
>
>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46520
>
> You should probably try out GCC_NO_EXECUTABLES in configure.ac
> and check with a couple of cross targets to find out whether you need to
> override any link checks with cache variables in the cross case.
>
> The symbol versioning test looks like it might qualify. OTOH libssp
> doesn't have cross measures for it either, so I'm not sure.
> Also, the test for __float128. It would be good to use configure cache
> variables (matching *_cv_*) for these (so the user can override them).
I'm seeing none of those issues in a i386-pc-solaris2.10 build I've just
fired off, but it still breaks in libquadmath:
* The quadmath.map-sun target didn't use TABs before the commands, but
blanks, which makes make choke:
make[2]: Entering directory `/var/gcc/regression/trunk/10-gcc-gas/build/i386-pc-solaris2.10/libquadmath'
Makefile:972: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.
* The sed command to mangle .la/.lo files into their .a/.o equivalents
in .libs subdirs doesn't deal correctly with files in subdirs (like
math, qdtoa). I've used the one from libjava/Makefile.am which does.
* One cannot -lm to libquadmath_la_LIBADD since that gets passed to nm,
which doesn't know (and doesn't need to be run) -lm. Again, as in
libjava/Makefile.am, I've moved it to libquadmath_la_LDFLAGS instead.
With those changed (the blank-to-TAB part isn't reflected in the diff),
I could build both 32 and 64-bit libquadmath.so.
I won't post a proper patch until it has completed, just a heads-up to
those running into the same failures.
Rainer
--- Makefile~ 2010-11-17 20:53:03.037000370 +0100
+++ Makefile 2010-11-17 21:01:53.426712881 +0100
@@ -281,8 +281,7 @@ LTLDFLAGS = $(shell $(SHELL) $(top_srcdi
-no-undefined
toolexeclib_LTLIBRARIES = libquadmath.la
-libquadmath_la_LIBADD = -lm
-libquadmath_la_LDFLAGS = $(LTLDFLAGS) -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(version_arg)
+libquadmath_la_LDFLAGS = $(LTLDFLAGS) -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(version_arg) -lm
libquadmath_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS)
libquadmath_la_DEPENDENCIES = $(version_dep)
include_HEADERS = quadmath.h quadmath_weak.h
@@ -971,8 +970,7 @@ quadmath.map-sun : $(srcdir)/quadmath.ma
$(libquadmath_la_OBJECTS) $(libquadmath_la_LIBADD)
perl $(top_srcdir)/../contrib/make_sunver.pl \
$(srcdir)/quadmath.map \
- $(libquadmath_la_OBJECTS:%.lo=.libs/%.o) \
- `echo $(libquadmath_la_LIBADD) | \
+ `echo $(libquadmath_la_OBJECTS) $(libquadmath_la_LIBADD) | \
sed 's,\([^/ ]*\)\.l\([ao]\),.libs/\1.\2,g'` \
> $@ || (rm -f $@ ; exit 1)
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University