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: Anyone got irix5? I have questions about your ctype implementation


On May  7, 2002, Alexandre Oliva <aoliva@redhat.com> wrote:

> On May  7, 2002, Alexandre Oliva <aoliva@redhat.com> wrote:
>> Never mind.  I've just duplicated it with a full bootstrap.  Something
>> is polluting mabi=64/config.cache with an incorrect setting of LD.
>> Either libf2c or libstdc++-v3.  I'm looking into it.

> Ok, any libtool library would do it, due to an ill effect of (some)
> shells.

> My understanding is that, if an exported variable is modified in a
> shell script, the modified value is not supposed to be automatically
> re-exported.  It should be kept private to the script.

> It appears that IRIX's /bin/sh doesn't agree with my understanding, so
> this work around was necessary.  Ideally, libtool shouldn't mess up
> with LD, but I'd rather not touch this at this point.

> This patch sucessfully bootstrapped the gcc 3.1 branch on
> mips-sgi-irix6.5, and lt_cv_path_LD in both multilibs' config.cache
> contained exactly the original value of LD, not the one modified by
> libtool.m4.

> Mark, ok for 3.1?

Err...  So, where's the patch?

Index: boehm-gc/ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
	script entry, and set LD to it when configuring multilibs.
	* configure: Rebuilt.

Index: boehm-gc/configure.in
===================================================================
RCS file: /cvs/gcc/egcs/boehm-gc/configure.in,v
retrieving revision 1.39.2.1
diff -u -p -r1.39.2.1 configure.in
--- boehm-gc/configure.in 15 Mar 2002 16:54:58 -0000 1.39.2.1
+++ boehm-gc/configure.in 7 May 2002 22:43:29 -0000
@@ -1,4 +1,4 @@
-# Copyright (c) 1999-2001 by Red Hat, Inc. All rights reserved.
+# Copyright (c) 1999, 2000, 2001, 2002 by Red Hat, Inc. All rights reserved.
 # 
 # THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
 # OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
@@ -15,6 +15,12 @@ dnl Process this file with autoconf to p
 
 AC_INIT(gcj_mlc.c)
 
+# This works around the fact that libtool configuration may change LD
+# for this particular configuration, but some shells, instead of
+# keeping the changes in LD private, export them just because LD is
+# exported.
+ORIGINAL_LD_FOR_MULTILIBS=$LD
+
 dnl Can't be done in GC_CONFIGURE because that confuses automake. 
 AC_CONFIG_AUX_DIR(.)
 
@@ -272,6 +278,7 @@ dnl Put all the -D options in a file.
 echo "$DEFS" > boehm-cflags
 
 if test -n "$CONFIG_FILES"; then
+  LD="${ORIGINAL_LD_FOR_MULTILIBS}"
   ac_file=Makefile . ${gc_basedir}/../config-ml.in
 fi],
 srcdir=${srcdir}
Index: libf2c/ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
	script entry, and set LD to it when configuring multilibs.
	* configure: Rebuilt.

Index: libf2c/configure.in
===================================================================
RCS file: /cvs/gcc/egcs/libf2c/configure.in,v
retrieving revision 1.31
diff -u -p -r1.31 configure.in
--- libf2c/configure.in 29 Jan 2002 13:21:06 -0000 1.31
+++ libf2c/configure.in 7 May 2002 22:43:29 -0000
@@ -1,5 +1,5 @@
 # Process this file with autoconf to produce a configure script.
-#   Copyright (C) 1995, 1997, 1998, 1999 Free Software Foundation, Inc.
+#   Copyright (C) 1995, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
 #   Contributed by Dave Love (d.love@dl.ac.uk).
 #
 #This file is part of GNU Fortran.
@@ -22,6 +22,12 @@
 AC_PREREQ(2.13)
 AC_INIT(libF77/Version.c)
 
+# This works around the fact that libtool configuration may change LD
+# for this particular configuration, but some shells, instead of
+# keeping the changes in LD private, export them just because LD is
+# exported.
+ORIGINAL_LD_FOR_MULTILIBS=$LD
+
 AC_CANONICAL_SYSTEM
 target_alias=${target_alias-$target}
 AC_SUBST(target_alias)
@@ -113,6 +119,7 @@ AC_CONFIG_SUBDIRS(libU77 libI77 libF77)
 AC_OUTPUT(Makefile g2c.h:g2c.hin,
  [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
 if test -n "$CONFIG_FILES"; then
+  LD="${ORIGINAL_LD_FOR_MULTILIBS}"
   if test -n "${with_target_subdir}"; then
     # FIXME: We shouldn't need to set ac_file
     ac_file=Makefile
Index: libffi/ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
	script entry, and set LD to it when configuring multilibs.
	* configure: Rebuilt.

Index: libffi/configure.in
===================================================================
RCS file: /cvs/gcc/egcs/libffi/configure.in,v
retrieving revision 1.19.2.4
diff -u -p -r1.19.2.4 configure.in
--- libffi/configure.in 29 Apr 2002 05:47:08 -0000 1.19.2.4
+++ libffi/configure.in 7 May 2002 22:43:30 -0000
@@ -2,6 +2,12 @@ dnl Process this with autoconf to create
 AC_INIT(fficonfig.h.in)
 AM_CONFIG_HEADER(fficonfig.h)
 
+# This works around the fact that libtool configuration may change LD
+# for this particular configuration, but some shells, instead of
+# keeping the changes in LD private, export them just because LD is
+# exported.
+ORIGINAL_LD_FOR_MULTILIBS=$LD
+
 dnl Default to --enable-multilib
 AC_ARG_ENABLE(multilib,
 [  --enable-multilib       build many library versions (default)],
@@ -154,6 +160,7 @@ fi
 AC_OUTPUT(include/Makefile include/ffi.h Makefile,
 [
 if test -n "$CONFIG_FILES"; then
+   LD="${ORIGINAL_LD_FOR_MULTILIBS}"
    ac_file=Makefile . ${libffi_basedir}/../config-ml.in
 fi
 ],
Index: libiberty/ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
	script entry, and set LD to it when configuring multilibs.
	* configure: Rebuilt.

Index: libiberty/configure.in
===================================================================
RCS file: /cvs/gcc/egcs/libiberty/configure.in,v
retrieving revision 1.46
diff -u -p -r1.46 configure.in
--- libiberty/configure.in 31 Jan 2002 18:19:39 -0000 1.46
+++ libiberty/configure.in 7 May 2002 22:43:30 -0000
@@ -3,6 +3,12 @@ dnl Process this file with autoconf to p
 AC_PREREQ(2.13)
 AC_INIT(pexecute.c)
 
+# This works around the fact that libtool configuration may change LD
+# for this particular configuration, but some shells, instead of
+# keeping the changes in LD private, export them just because LD is
+# exported.  We don't use libtool yet, but some day we might, so...
+ORIGINAL_LD_FOR_MULTILIBS=$LD
+
 dnl We use these options to decide which functions to include.
 AC_ARG_WITH(target-subdir,
 [  --with-target-subdir=SUBDIR      Configuring in a subdirectory])
@@ -397,6 +403,7 @@ if test -n "$CONFIG_FILES"; then
   if test -n "${with_target_subdir}"; then
     # FIXME: We shouldn't need to set ac_file
     ac_file=Makefile
+    LD="${ORIGINAL_LD_FOR_MULTILIBS}"
     . ${libiberty_topdir}/config-ml.in
   fi
 fi],
Index: libjava/ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
	script entry, and set LD to it when configuring multilibs.
	* configure: Rebuilt.

Index: libjava/configure.in
===================================================================
RCS file: /cvs/gcc/egcs/libjava/configure.in,v
retrieving revision 1.114.2.15
diff -u -p -r1.114.2.15 configure.in
--- libjava/configure.in 21 Apr 2002 09:35:59 -0000 1.114.2.15
+++ libjava/configure.in 7 May 2002 22:43:31 -0000
@@ -1,6 +1,12 @@
 dnl Process this with autoconf to create configure
 AC_INIT(java/lang/System.java)
 
+# This works around the fact that libtool configuration may change LD
+# for this particular configuration, but some shells, instead of
+# keeping the changes in LD private, export them just because LD is
+# exported.
+ORIGINAL_LD_FOR_MULTILIBS=$LD
+
 AC_PROG_LN_S
 
 dnl We use these options to decide which functions to include.
@@ -957,6 +963,7 @@ AC_OUTPUT(Makefile libgcj.spec libgcj-te
 [# Only add multilib support code if we just rebuilt top-level Makefile.
 case " $CONFIG_FILES " in
  *" Makefile "*)
+   LD="${ORIGINAL_LD_FOR_MULTILIBS}"
    ac_file=Makefile . ${libgcj_basedir}/../config-ml.in
    ;;
 esac
Index: libobjc/ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
	script entry, and set LD to it when configuring multilibs.
	* configure: Rebuilt.

Index: libobjc/configure.in
===================================================================
RCS file: /cvs/gcc/egcs/libobjc/configure.in,v
retrieving revision 1.16
diff -u -p -r1.16 configure.in
--- libobjc/configure.in 11 Feb 2002 18:10:05 -0000 1.16
+++ libobjc/configure.in 7 May 2002 22:43:31 -0000
@@ -1,5 +1,5 @@
 # Process this file with autoconf to produce a configure script.
-#   Copyright (C) 1995, 1997, 1998, 1999 Free Software Foundation, Inc.
+#   Copyright (C) 1995, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
 #   Contributed by Dave Love (d.love@dl.ac.uk).
 #
 #This file is part of GNU Objective C.
@@ -23,6 +23,12 @@ AC_PREREQ(2.13)
 AC_INIT(objc/objc.h)
 AC_CONFIG_HEADER(config.h)
 
+# This works around the fact that libtool configuration may change LD
+# for this particular configuration, but some shells, instead of
+# keeping the changes in LD private, export them just because LD is
+# exported.
+ORIGINAL_LD_FOR_MULTILIBS=$LD
+
 AC_CANONICAL_SYSTEM
 target_alias=${target_alias-$target}
 AC_SUBST(target_alias)
@@ -123,6 +129,7 @@ if test -n "$CONFIG_FILES"; then
   if test -n "${with_target_subdir}"; then
     # FIXME: We shouldn't need to set ac_file
     ac_file=Makefile
+    LD="${ORIGINAL_LD_FOR_MULTILIBS}"
     . ${toplevel_srcdir}/config-ml.in
   fi
 fi],
Index: libstdc++-v3/ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
	script entry, and set LD to it when configuring multilibs.
	* configure: Rebuilt.

Index: libstdc++-v3/configure.in
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/configure.in,v
retrieving revision 1.83.2.3
diff -u -p -r1.83.2.3 configure.in
--- libstdc++-v3/configure.in 25 Mar 2002 21:02:06 -0000 1.83.2.3
+++ libstdc++-v3/configure.in 7 May 2002 22:43:31 -0000
@@ -4,6 +4,12 @@
 AC_PREREQ(2.13)
 AC_INIT(src/ios.cc)
 
+# This works around the fact that libtool configuration may change LD
+# for this particular configuration, but some shells, instead of
+# keeping the changes in LD private, export them just because LD is
+# exported.
+ORIGINAL_LD_FOR_MULTILIBS=$LD
+
 PACKAGE=libstdc++
 AC_SUBST(PACKAGE)
 # For typical GNU versioning info, format is MAJOR.MINOR.MICRO
@@ -316,6 +322,7 @@ AC_OUTPUT(Makefile \
     libmath/Makefile libio/Makefile libsupc++/Makefile \
     po/Makefile testsuite/Makefile mkcheck testsuite_flags,
 [if test -n "$CONFIG_FILES"; then
+  LD="${ORIGINAL_LD_FOR_MULTILIBS}"
   ac_file=Makefile . ${glibcpp_basedir}/../config-ml.in
   grep '^MULTISUBDIR =' Makefile >> src/Makefile
   grep '^MULTISUBDIR =' Makefile >> libsupc++/Makefile
Index: zlib/ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
	script entry, and set LD to it when configuring multilibs.
	* configure: Rebuilt.

Index: zlib/configure.in
===================================================================
RCS file: /cvs/gcc/egcs/zlib/configure.in,v
retrieving revision 1.12
diff -u -p -r1.12 configure.in
--- zlib/configure.in 3 Jul 2001 22:29:32 -0000 1.12
+++ zlib/configure.in 7 May 2002 22:43:31 -0000
@@ -2,6 +2,12 @@ dnl Process this with autoconf to create
 
 AC_INIT(zlib.h)
 
+# This works around the fact that libtool configuration may change LD
+# for this particular configuration, but some shells, instead of
+# keeping the changes in LD private, export them just because LD is
+# exported.
+ORIGINAL_LD_FOR_MULTILIBS=$LD
+
 dnl We may get other options which we dont document:
 dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
 
@@ -118,6 +124,7 @@ fi
 
 AC_OUTPUT(Makefile,
 [if test -n "$CONFIG_FILES"; then
+  LD="${ORIGINAL_LD_FOR_MULTILIBS}"
   ac_file=Makefile . ${zlib_basedir}/../config-ml.in
 fi],
 srcdir=${srcdir}

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist                Professional serial bug killer

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