This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] problems linking f951 to gmp


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)
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]