This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] problems linking f951 to gmp
- From: Paul Brook <paul at codesourcery dot com>
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Fri, 16 Apr 2004 23:20:42 +0100
- Subject: Re: [tree-ssa] problems linking f951 to gmp
- Organization: CodeSourcery
- References: <1082149207.4399.74.camel@localhost.localdomain>
On Friday 16 April 2004 22:00, Diego Novillo wrote:
> Paul,
>
> Recently (after your gmp patch, I think) I've started having problems
> linking f951 from the gcc directory. I typically 'make restage1 f951'
> when trying to debug a specific FE. I did something similar now and got
> tons of:
>
> ..../gcc/fortran/data.c:420: undefined reference to `__gmpz_init'
>
> I had started a bootstrap from scratch, interrupted it, went into gcc/
> and did 'make restage1 f951'. If I do 'make bootstrap' from the top
> level build directory, it works fine.
The patch below should fix this. It passes/sets the GMP configure variables
from toplevel to gcc/configure, rather than to make when building.
Bootstrapped on i686-linux.
Ok?
Paul
2004-04-26 Paul Brook <paul@codesourcery.com>
* Makefile.tmp (EXTRA_HOST_FLAGS): Remove GMPLIBS and GMPINC.
(configure-gcc): Set GMPLIBS and GMPINC.
Makefile.in: Regenerate.
* gcc/Makefile.in: Set GMPLIBS and GMPINC.
* gcc/configure.ac: Add GMPLIBS and GMPINC.
* gcc/configure: Regenerate.
Index: Makefile.in
===================================================================
RCS file: /var/cvsroot/gcc-cvs/gcc/Makefile.in,v
retrieving revision 1.104.2.39
diff -u -p -r1.104.2.39 Makefile.in
--- a/Makefile.in 14 Apr 2004 21:27:54 -0000 1.104.2.39
+++ b/Makefile.in 16 Apr 2004 21:28:27 -0000
@@ -481,9 +481,7 @@ EXTRA_HOST_FLAGS = \
'LD=$(LD)' \
'NM=$(NM)' \
'RANLIB=$(RANLIB)' \
- 'WINDRES=$(WINDRES)' \
- 'GMPLIBS=$(HOST_GMPLIBS)' \
- 'GMPINC=$(HOST_GMPINC)'
+ 'WINDRES=$(WINDRES)'
FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)
@@ -24475,6 +24473,8 @@ configure-gcc:
WINDRES="$(WINDRES)"; export WINDRES; \
OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
+ GMPINC="$(HOST_GMPINC)"; export GMPINC; \
echo Configuring in gcc; \
cd gcc || exit 1; \
case $(srcdir) in \
Index: Makefile.tpl
===================================================================
RCS file: /var/cvsroot/gcc-cvs/gcc/Makefile.tpl,v
retrieving revision 1.11.2.30
diff -u -p -r1.11.2.30 Makefile.tpl
--- a/Makefile.tpl 14 Apr 2004 21:27:58 -0000 1.11.2.30
+++ b/Makefile.tpl 16 Apr 2004 21:23:40 -0000
@@ -423,9 +423,7 @@ EXTRA_HOST_FLAGS = \
'LD=$(LD)' \
'NM=$(NM)' \
'RANLIB=$(RANLIB)' \
- 'WINDRES=$(WINDRES)' \
- 'GMPLIBS=$(HOST_GMPLIBS)' \
- 'GMPINC=$(HOST_GMPINC)'
+ 'WINDRES=$(WINDRES)'
FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)
@@ -1090,6 +1088,8 @@ configure-gcc:
WINDRES="$(WINDRES)"; export WINDRES; \
OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
+ GMPINC="$(HOST_GMPINC)"; export GMPINC; \
echo Configuring in gcc; \
cd gcc || exit 1; \
case $(srcdir) in \
Index: gcc/Makefile.in
===================================================================
RCS file: /var/cvsroot/gcc-cvs/gcc/gcc/Makefile.in,v
retrieving revision 1.903.2.201
diff -u -p -r1.903.2.201 Makefile.in
--- a/gcc/Makefile.in 14 Apr 2004 21:28:04 -0000 1.903.2.201
+++ b/gcc/Makefile.in 16 Apr 2004 21:28:04 -0000
@@ -278,6 +278,10 @@ OUTPUT_OPTION = @OUTPUT_OPTION@
ZLIB = @zlibdir@ -lz
ZLIBINC = @zlibinc@
+# How to find GMP
+GMPLIBS = @GMPLIBS@
+GMPINC = @GMPINC@
+
BANSHEELIB = @BANSHEELIB@
BANSHEEINC = @BANSHEEINC@
# Substitution type for target's getgroups 2nd arg.
Index: gcc/configure
===================================================================
RCS file: /var/cvsroot/gcc-cvs/gcc/gcc/configure,v
retrieving revision 1.619.2.50
diff -u -p -r1.619.2.50 configure
--- a/gcc/configure 14 Apr 2004 21:28:06 -0000 1.619.2.50
+++ b/gcc/configure 16 Apr 2004 21:28:13 -0000
@@ -309,7 +309,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME
PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix
program_transform_name bindir sbindir libexecdir datadir sysconfdir
sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir
build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build
build_cpu build_vendor build_os host host_cpu host_vendor host_os target
target_cpu target_vendor target_os build_subdir host_subdir target_subdir
GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O
OUTPUT_OPTION CPP strict1_warn warn_cflags WERROR nocommon_flag EGREP
valgrind_path valgrind_path_defines valgrind_command coverage_flags
TREEBROWSER enable_multilib enable_shared TARGET_SYSTEM_ROOT
TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep SET_MAKE AWK LN
LN_S RANLIB ac_ct_RANLIB INSTALL INSTALL_PROGRAM INSTALL_DATA
make_compare_target have_mktemp_command MAKEINFO BUILD_INFO
GENERATED_MANPAGES FLEX BISON stage1_cflags COLLECT2_LIBS GNAT_LIBEXC
LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LIBICONV_DEP manext objext
gthread_flags extra_modes_file FORBUILD PACKAGE VERSION USE_NLS LIBINTL
LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS CROSS ALL
SYSTEM_HEADER_DIR inhibit_libc BUILD_PREFIX BUILD_PREFIX_1 CC_FOR_BUILD
BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO collect2 libgcc_visibility GGC zlibdir
zlibinc MAINT ANDER BANSHEEINC BANSHEELIB gcc_tooldir dollar slibdir objdir
subdirs srcdir all_boot_languages all_compilers all_gtfiles
all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags
all_lang_makefiles all_languages all_stagestuff build_exeext
build_install_headers_dir build_xm_file_list build_xm_include_list
build_xm_defines check_languages cc_set_by_configure
quoted_cc_set_by_configure cpp_install_dir xmake_file tmake_file
extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes
extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir
libstdcxx_incdir gcc_version gcc_version_full gcc_version_trigger host_exeext
host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj
install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file
objc_boehm_gc out_file out_object_file stage_prefix_set_by_configure
quoted_stage_prefix_set_by_configure symbolic_link thread_file tm_file_list
tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list
xm_include_list xm_defines target_noncanonical c_target_objs cxx_target_objs
target_cpu_default LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME
PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix
program_transform_name bindir sbindir libexecdir datadir sysconfdir
sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir
build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build
build_cpu build_vendor build_os host host_cpu host_vendor host_os target
target_cpu target_vendor target_os build_subdir host_subdir target_subdir
GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O
OUTPUT_OPTION CPP strict1_warn warn_cflags WERROR nocommon_flag EGREP
valgrind_path valgrind_path_defines valgrind_command coverage_flags
TREEBROWSER enable_multilib enable_shared TARGET_SYSTEM_ROOT
TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep SET_MAKE AWK LN
LN_S RANLIB ac_ct_RANLIB INSTALL INSTALL_PROGRAM INSTALL_DATA
make_compare_target have_mktemp_command MAKEINFO BUILD_INFO
GENERATED_MANPAGES FLEX BISON stage1_cflags COLLECT2_LIBS GNAT_LIBEXC
LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LIBICONV_DEP manext objext
gthread_flags extra_modes_file FORBUILD PACKAGE VERSION USE_NLS LIBINTL
LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS CROSS ALL
SYSTEM_HEADER_DIR inhibit_libc BUILD_PREFIX BUILD_PREFIX_1 CC_FOR_BUILD
BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO collect2 libgcc_visibility GGC zlibdir
zlibinc MAINT ANDER BANSHEEINC BANSHEELIB gcc_tooldir dollar slibdir objdir
subdirs srcdir all_boot_languages all_compilers all_gtfiles
all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags
all_lang_makefiles all_languages all_stagestuff build_exeext
build_install_headers_dir build_xm_file_list build_xm_include_list
build_xm_defines check_languages cc_set_by_configure
quoted_cc_set_by_configure cpp_install_dir xmake_file tmake_file
extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes
extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir
libstdcxx_incdir gcc_version gcc_version_full gcc_version_trigger host_exeext
host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj
install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file
objc_boehm_gc out_file out_object_file stage_prefix_set_by_configure
quoted_stage_prefix_set_by_configure symbolic_link thread_file tm_file_list
tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list
xm_include_list xm_defines target_noncanonical c_target_objs cxx_target_objs
target_cpu_default GMPLIBS GMPINC LIBOBJS LTLIBOBJS'
ac_subst_files='language_hooks'
# Initialize some variables set by options.
@@ -770,6 +770,14 @@ ac_env_CPP_set=${CPP+set}
ac_env_CPP_value=$CPP
ac_cv_env_CPP_set=${CPP+set}
ac_cv_env_CPP_value=$CPP
+ac_env_GMPLIBS_set=${GMPLIBS+set}
+ac_env_GMPLIBS_value=$GMPLIBS
+ac_cv_env_GMPLIBS_set=${GMPLIBS+set}
+ac_cv_env_GMPLIBS_value=$GMPLIBS
+ac_env_GMPINC_set=${GMPINC+set}
+ac_env_GMPINC_value=$GMPINC
+ac_cv_env_GMPINC_set=${GMPINC+set}
+ac_cv_env_GMPINC_value=$GMPINC
#
# Report the --help message.
@@ -927,6 +935,8 @@ Some influential environment variables:
CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
headers in a nonstandard directory <include dir>
CPP C preprocessor
+ GMPLIBS How to link GMP
+ GMPINC How to find GMP include files
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
@@ -5273,7 +5283,7 @@ if test "${gcc_cv_prog_makeinfo_modern+s
else
ac_prog_version=`$MAKEINFO --version 2>&1 |
sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'`
- echo "configure:5276: version of makeinfo is $ac_prog_version" >&5
+ echo "configure:5286: version of makeinfo is $ac_prog_version" >&5
case $ac_prog_version in
'') gcc_cv_prog_makeinfo_modern=no;;
4.[2-9]*)
@@ -12361,6 +12371,9 @@ else
fi
fi
+
+
+
# Configure the subdirectories
# AC_CONFIG_SUBDIRS($subdirs)
@@ -13163,6 +13176,8 @@ s,@target_noncanonical@,$target_noncanon
s,@c_target_objs@,$c_target_objs,;t t
s,@cxx_target_objs@,$cxx_target_objs,;t t
s,@target_cpu_default@,$target_cpu_default,;t t
+s,@GMPLIBS@,$GMPLIBS,;t t
+s,@GMPINC@,$GMPINC,;t t
s,@LIBOBJS@,$LIBOBJS,;t t
s,@LTLIBOBJS@,$LTLIBOBJS,;t t
/@language_hooks@/r $language_hooks
Index: gcc/configure.ac
===================================================================
RCS file: /var/cvsroot/gcc-cvs/gcc/gcc/configure.ac,v
retrieving revision 2.10.2.12
diff -u -p -r2.10.2.12 configure.ac
--- a/gcc/configure.ac 14 Apr 2004 21:28:16 -0000 2.10.2.12
+++ b/gcc/configure.ac 16 Apr 2004 21:25:51 -0000
@@ -3152,6 +3152,9 @@ else
fi
fi
+AC_ARG_VAR(GMPLIBS,[How to link GMP])
+AC_ARG_VAR(GMPINC,[How to find GMP include files])
+
# Configure the subdirectories
# AC_CONFIG_SUBDIRS($subdirs)