[Cbe-oss-dev] libgfortran build failure targeting spu-elf
Matthias Klose
doko at cs.tu-berlin.de
Tue Nov 11 20:13:39 EST 2008
libgfortran fails to build on the trunk when building a cross compiler
targeting spu-elf. Fixing the first two build failures and seeing more.
This is a regression compared to 4.3, but I'm wondering if this is
already fixed on some branch, and was forgotten to check in on the
trunk?
Matthias
Index: configure.ac
===================================================================
--- configure.ac (revision 141763)
+++ configure.ac (working copy)
@@ -135,18 +135,20 @@
AC_SUBST(AM_CFLAGS)
AC_SUBST(CFLAGS)
-# Check for symbol versioning (copied from libssp).
-AC_MSG_CHECKING([whether symbol versioning is supported])
-cat > conftest.map <<EOF
+if test "x$enable_shared" = "xyes"; then
+ # Check for symbol versioning (copied from libssp).
+ AC_MSG_CHECKING([whether symbol versioning is supported])
+ cat > conftest.map <<EOF
FOO_1.0 {
global: *foo*; bar; local: *;
};
EOF
-save_LDFLAGS="$LDFLAGS"
-LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map"
-AC_TRY_LINK([int foo;],[],[gfortran_use_symver=yes],[gfortran_use_symver=no])
-LDFLAGS="$save_LDFLAGS"
-AC_MSG_RESULT($gfortran_use_symver)
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map"
+ AC_TRY_LINK([int foo;],[],[gfortran_use_symver=yes],[gfortran_use_symver=no])
+ LDFLAGS="$save_LDFLAGS"
+ AC_MSG_RESULT($gfortran_use_symver)
+fi
AM_CONDITIONAL(LIBGFOR_USE_SYMVER, [test "x$gfortran_use_symver" = xyes])
# Find other programs we need.
@@ -158,7 +160,9 @@
# Configure libtool
#AC_MSG_NOTICE([====== Starting libtool configuration])
-AC_LIBTOOL_DLOPEN
+if test "x${with_newlib}" != "xyes"; then
+ AC_LIBTOOL_DLOPEN
+fi
AM_PROG_LIBTOOL
AC_SUBST(enable_shared)
AC_SUBST(enable_static)
@@ -200,15 +204,26 @@
AC_CHECK_MEMBERS([struct stat.st_rdev])
# Check for library functions.
-AC_CHECK_FUNCS(getrusage times mkstemp strtof strtold snprintf ftruncate chsize)
-AC_CHECK_FUNCS(chdir strerror getlogin gethostname kill link symlink perror)
-AC_CHECK_FUNCS(sleep time ttyname signal alarm ctime clock access fork execl)
-AC_CHECK_FUNCS(wait setmode execvp pipe dup2 close fdopen strcasestr getrlimit)
-AC_CHECK_FUNCS(gettimeofday stat fstat lstat getpwuid vsnprintf dup getcwd)
+if test "x${with_newlib}" = "xyes"; then
+ # We are being configured with a cross compiler. AC_REPLACE_FUNCS
+ # may not work correctly, because the compiler may not be able to
+ # link executables.
-# Check for glibc backtrace functions
-AC_CHECK_FUNCS(backtrace backtrace_symbols)
+ # We assume newlib. This lets us hard-code the functions we know
+ # we'll have.
+ # FIXME ... define for every function in newlib
+ #AC_DEFINE(HAVE_XXX, 1, [Define if you have xxx.])
+else
+ AC_CHECK_FUNCS(getrusage times mkstemp strtof strtold snprintf ftruncate chsize)
+ AC_CHECK_FUNCS(chdir strerror getlogin gethostname kill link symlink perror)
+ AC_CHECK_FUNCS(sleep time ttyname signal alarm ctime clock access fork execl)
+ AC_CHECK_FUNCS(wait setmode execvp pipe dup2 close fdopen strcasestr getrlimit)
+ AC_CHECK_FUNCS(gettimeofday stat fstat lstat getpwuid vsnprintf dup getcwd)
+ # Check for glibc backtrace functions
+ AC_CHECK_FUNCS(backtrace backtrace_symbols)
+fi
+
# Check for types
AC_CHECK_TYPES([intptr_t])
AC_CHECK_TYPES([uintptr_t])
More information about the cbe-oss-dev
mailing list