This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: 3.0 bootstrap broken on sparc-sun-solaris2.7
- To: gcc-patches at gcc dot gnu dot org, aoliva at redhat dot com
- Subject: Re: 3.0 bootstrap broken on sparc-sun-solaris2.7
- From: Nathan Sidwell <nathan at codesourcery dot com>
- Date: Fri, 25 May 2001 14:26:25 +0100
- Organization: Codesourcery LLC
- References: <3B0E5715.109E7046@codesourcery.com>
Nathan Sidwell wrote:
> the bootstrap is broken on sparc-sun-solaris2.7, I'm investigating why now.
> something's up with gcc/configargs.h and the bit of configure.in which dinks
> that.
Ok, this fixes the problem.
Solaris' /bin/sed doesn't grok backslash sequences inside [..] regexps.
Reading the POSIX regex manual, this appears to be correct behaviour.
"all other special characters, including `\', lose their special
significance within a bracket expression."
Thus the sed command here was a nop, and we ended up with a configargs.h
containing
static const char configuration_arguments[] = "static const char configuration_arguments[] = ".....";: (reconfigured)";
which obviously fails.
Escaping the double quotes here appears unnecessary, as we're not inside a
double quoted string. So I've removed the two troublesome instances of this
idiom.
I'm running a clean bootstrap now, but it's already got past the point at
which this bug was killing it.
I would install this as an obvious patch, but there may be some other system
out there that requires these things escaped. Anyone know?
ok for mainline & branch?
nathan
--
Dr Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC
'But that's a lie.' - 'Yes it is. What's your point?'
nathan@codesourcery.com : http://www.cs.bris.ac.uk/~nathan/ : nathan@acm.org
2001-05-25 Nathan Sidwell <nathan@codesourcery.com>
* configure.in (gcc_version): Remove unrequired \ on ". (Solaris
/bin/sed fails on [^\"]).
(configargs.h): Likewise.
* configure: Rebuilt.
Index: configure.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/configure.in,v
retrieving revision 1.483.2.17
diff -c -3 -p -r1.483.2.17 configure.in
*** configure.in 2001/05/18 20:38:09 1.483.2.17
--- configure.in 2001/05/25 13:04:28
*************** else
*** 814,826 ****
gcc_version_trigger=${srcdir}/version.c
fi
changequote(,)dnl
! gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^\"]*\)\".*/\1/'`
gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
# Compile in configure arguments.
if test -f configargs.h ; then
# Being re-configured.
! gcc_config_arguments=`grep configuration_arguments configargs.h | sed -e 's/.*\"\([^\"]*\)\".*/\1/'`
gcc_config_arguments="$gcc_config_arguments : (reconfigured) $TOPLEVEL_CONFIGURE_ARGUMENTS"
else
gcc_config_arguments="$TOPLEVEL_CONFIGURE_ARGUMENTS"
--- 814,826 ----
gcc_version_trigger=${srcdir}/version.c
fi
changequote(,)dnl
! gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*"\([^"]*\)".*/\1/'`
gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
# Compile in configure arguments.
if test -f configargs.h ; then
# Being re-configured.
! gcc_config_arguments=`grep configuration_arguments configargs.h | sed -e 's/.*"\([^"]*\)".*/\1/'`
gcc_config_arguments="$gcc_config_arguments : (reconfigured) $TOPLEVEL_CONFIGURE_ARGUMENTS"
else
gcc_config_arguments="$TOPLEVEL_CONFIGURE_ARGUMENTS"
Index: configure
===================================================================
RCS file: /cvs/gcc/egcs/gcc/configure,v
retrieving revision 1.488.2.19
diff -c -3 -p -r1.488.2.19 configure
*** configure 2001/05/18 20:37:54 1.488.2.19
--- configure 2001/05/25 13:04:31
*************** if test "${with_gcc_version_trigger+set}
*** 4150,4162 ****
else
gcc_version_trigger=${srcdir}/version.c
fi
! gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^\"]*\)\".*/\1/'`
gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
# Compile in configure arguments.
if test -f configargs.h ; then
# Being re-configured.
! gcc_config_arguments=`grep configuration_arguments configargs.h | sed -e 's/.*\"\([^\"]*\)\".*/\1/'`
gcc_config_arguments="$gcc_config_arguments : (reconfigured) $TOPLEVEL_CONFIGURE_ARGUMENTS"
else
gcc_config_arguments="$TOPLEVEL_CONFIGURE_ARGUMENTS"
--- 4150,4162 ----
else
gcc_version_trigger=${srcdir}/version.c
fi
! gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*"\([^"]*\)".*/\1/'`
gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
# Compile in configure arguments.
if test -f configargs.h ; then
# Being re-configured.
! gcc_config_arguments=`grep configuration_arguments configargs.h | sed -e 's/.*"\([^"]*\)".*/\1/'`
gcc_config_arguments="$gcc_config_arguments : (reconfigured) $TOPLEVEL_CONFIGURE_ARGUMENTS"
else
gcc_config_arguments="$TOPLEVEL_CONFIGURE_ARGUMENTS"