public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Problem bootstrapping egcs-2.9.5 on UW7.0.1
@ 1999-07-09 14:58 David Coder
  1999-07-09 15:09 ` Robert Lipe
  1999-07-31 23:33 ` David Coder
  0 siblings, 2 replies; 10+ messages in thread
From: David Coder @ 1999-07-09 14:58 UTC (permalink / raw)
  To: egcs

In trying to compile egcs-2.9.5 on UW7.0.1 I ran into the following compiler
error:

/home/src/egcs_obj/gcc/xgcc -B/home/src/egcs_obj/gcc/ -B/usr/local/i686-UnixWare 7.0.1-sysv5/bin/ -c -g -O2 -fno-implicit-templates -I. -I/usr/src/egcs/libio -nostdinc++  /usr/src/egcs/libio/filebuf.cc /usr/src/egcs/libio/filebuf.cc:215: Internal compiler error in `modified_type_die', at dwarf2out.c:6473

I was using the 1999-06-29 sources from egcs.cygnus.com (the 13.5 meg tarball)
with no patches, with a separate object directory.  I used no options to
configure and only the bootstrap option to make.  Are there more patches since
the 19990629 snapshot that address this error?  If so, where can I find them?

dc
_____________________
David Coder
SysAdmin
WebHosting
Verio.com
703-749-7955 x1314


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Problem bootstrapping egcs-2.9.5 on UW7.0.1
  1999-07-09 14:58 Problem bootstrapping egcs-2.9.5 on UW7.0.1 David Coder
@ 1999-07-09 15:09 ` Robert Lipe
  1999-07-10  9:04   ` David Coder
  1999-07-31 23:33   ` Robert Lipe
  1999-07-31 23:33 ` David Coder
  1 sibling, 2 replies; 10+ messages in thread
From: Robert Lipe @ 1999-07-09 15:09 UTC (permalink / raw)
  To: David Coder; +Cc: egcs

> /home/src/egcs_obj/gcc/xgcc -B/home/src/egcs_obj/gcc/ -B/usr/local/i686-UnixWare 7.0.1-sysv5/bin/ -c -g -O2 -fno-implicit-templates -I. -I/usr/src/egcs/libio -nostdinc++  /usr/src/egcs/libio/filebuf.cc /usr/src/egcs/libio/filebuf.cc:215: Internal compiler error in `modified_type_die', at dwarf2out.c:6473
> 
> I was using the 1999-06-29 sources from egcs.cygnus.com (the 13.5 meg tarball)
> with no patches, with a separate object directory.  I used no options to
> configure and only the bootstrap option to make.  Are there more patches since
> the 19990629 snapshot that address this error?  If so, where can I find them?

Thanx for the good description.

Jason committed the following fix for this problem.   Several UW7 users
have reported success with it.

RJL

From: Jason Merrill <jason@cygnus.com>
Date: 02 Jul 1999 01:32:24 -0700
In-Reply-To: Mark Mitchell's message of "Thu, 01 Jul 1999 16:41:05 -0700"
Message-ID: <u9wvwje9k7.fsf@yorick.cygnus.com>

I prefer my patch below, which I checked into the mainline a few days ago.
I think that the current behavior is much more useful than what your patch
does; if the user's code is nonconformant, we should add a pedwarn, not
just gratuitiously break it.

1999-06-28  Jason Merrill  <jason@yorick.cygnus.com>

	* decl.c (grokdeclarator): Update the names of all variants when
	de-anonymizing.

Index: decl.c
===================================================================
RCS file: /cvs/egcs/egcs/gcc/cp/decl.c,v
retrieving revision 1.358.4.5
diff -c -p -r1.358.4.5 decl.c
*** decl.c	1999/06/28 03:12:22	1.358.4.5
--- decl.c	1999/07/02 08:28:29
*************** grokdeclarator (declarator, declspecs, d
*** 11048,11065 ****
  	  && TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
  	  && ANON_AGGRNAME_P (TYPE_IDENTIFIER (type)))
  	{
  	  /* FIXME: This is bogus; we should not be doing this for
  	            cv-qualified types.  */
  
- 	  /* For anonymous structs that are cv-qualified, need to use
-              TYPE_MAIN_VARIANT so that name will mangle correctly. As
-              type not referenced after this block, don't bother
-              resetting type to original type, ie. TREE_TYPE (decl). */
- 	  type = TYPE_MAIN_VARIANT (type);
- 
  	  /* Replace the anonymous name with the real name everywhere.  */
  	  lookup_tag_reverse (type, declarator);
! 	  TYPE_NAME (type) = decl;
  
  	  if (TYPE_LANG_SPECIFIC (type))
  	    TYPE_WAS_ANONYMOUS (type) = 1;
--- 11048,11064 ----
  	  && TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
  	  && ANON_AGGRNAME_P (TYPE_IDENTIFIER (type)))
  	{
+ 	  tree oldname = TYPE_NAME (type);
+ 	  tree t;
+ 
  	  /* FIXME: This is bogus; we should not be doing this for
  	            cv-qualified types.  */
  
  	  /* Replace the anonymous name with the real name everywhere.  */
  	  lookup_tag_reverse (type, declarator);
! 	  for (t = TYPE_MAIN_VARIANT (type); t; t = TYPE_NEXT_VARIANT (t))
! 	    if (TYPE_NAME (t) == oldname)
! 	      TYPE_NAME (t) = decl;
  
  	  if (TYPE_LANG_SPECIFIC (type))
  	    TYPE_WAS_ANONYMOUS (type) = 1;

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Problem bootstrapping egcs-2.9.5 on UW7.0.1
  1999-07-09 15:09 ` Robert Lipe
@ 1999-07-10  9:04   ` David Coder
  1999-07-11 16:19     ` Robert Lipe
  1999-07-31 23:33     ` David Coder
  1999-07-31 23:33   ` Robert Lipe
  1 sibling, 2 replies; 10+ messages in thread
From: David Coder @ 1999-07-10  9:04 UTC (permalink / raw)
  To: Robert Lipe; +Cc: egcs

On Fri, 9 Jul 1999, Robert Lipe wrote:

> > /home/src/egcs_obj/gcc/xgcc -B/home/src/egcs_obj/gcc/ -B/usr/local/i686-UnixWare 7.0.1-sysv5/bin/ -c -g -O2 -fno-implicit-templates -I. -I/usr/src/egcs/libio -nostdinc++  /usr/src/egcs/libio/filebuf.cc /usr/src/egcs/libio/filebuf.cc:215: Internal compiler error in `modified_type_die', at dwarf2out.c:6473
> > 
> > I was using the 1999-06-29 sources from egcs.cygnus.com (the 13.5 meg tarball)
> > with no patches, with a separate object directory.  I used no options to
> > configure and only the bootstrap option to make.  Are there more patches since
> > the 19990629 snapshot that address this error?  If so, where can I find them?
> 
> Thanx for the good description.
> 
> Jason committed the following fix for this problem.   Several UW7 users
> have reported success with it.
> 
> RJL
> 
> From: Jason Merrill <jason@cygnus.com>
> Date: 02 Jul 1999 01:32:24 -0700
> In-Reply-To: Mark Mitchell's message of "Thu, 01 Jul 1999 16:41:05 -0700"
> Message-ID: <u9wvwje9k7.fsf@yorick.cygnus.com>
> 
> I prefer my patch below, which I checked into the mainline a few days ago.
> I think that the current behavior is much more useful than what your patch
> does; if the user's code is nonconformant, we should add a pedwarn, not
> just gratuitiously break it.
> 
> 1999-06-28  Jason Merrill  <jason@yorick.cygnus.com>
> 
> 	* decl.c (grokdeclarator): Update the names of all variants when
> 	de-anonymizing.
> 
> Index: decl.c
> ===================================================================
> RCS file: /cvs/egcs/egcs/gcc/cp/decl.c,v
> retrieving revision 1.358.4.5
> diff -c -p -r1.358.4.5 decl.c
> *** decl.c	1999/06/28 03:12:22	1.358.4.5
> --- decl.c	1999/07/02 08:28:29
> *************** grokdeclarator (declarator, declspecs, d
> *** 11048,11065 ****
>   	  && TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
>   	  && ANON_AGGRNAME_P (TYPE_IDENTIFIER (type)))
>   	{
>   	  /* FIXME: This is bogus; we should not be doing this for
>   	            cv-qualified types.  */
>   
> - 	  /* For anonymous structs that are cv-qualified, need to use
> -              TYPE_MAIN_VARIANT so that name will mangle correctly. As
> -              type not referenced after this block, don't bother
> -              resetting type to original type, ie. TREE_TYPE (decl). */
> - 	  type = TYPE_MAIN_VARIANT (type);
> - 
>   	  /* Replace the anonymous name with the real name everywhere.  */
>   	  lookup_tag_reverse (type, declarator);
> ! 	  TYPE_NAME (type) = decl;
>   
>   	  if (TYPE_LANG_SPECIFIC (type))
>   	    TYPE_WAS_ANONYMOUS (type) = 1;
> --- 11048,11064 ----
>   	  && TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
>   	  && ANON_AGGRNAME_P (TYPE_IDENTIFIER (type)))
>   	{
> + 	  tree oldname = TYPE_NAME (type);
> + 	  tree t;
> + 
>   	  /* FIXME: This is bogus; we should not be doing this for
>   	            cv-qualified types.  */
>   
>   	  /* Replace the anonymous name with the real name everywhere.  */
>   	  lookup_tag_reverse (type, declarator);
> ! 	  for (t = TYPE_MAIN_VARIANT (type); t; t = TYPE_NEXT_VARIANT (t))
> ! 	    if (TYPE_NAME (t) == oldname)
> ! 	      TYPE_NAME (t) = decl;
>   
>   	  if (TYPE_LANG_SPECIFIC (type))
>   	    TYPE_WAS_ANONYMOUS (type) = 1;
> 

Thank you for your help.  I applied Jason's patch to the file named at the top
of the patch (/egcs/gcc/cp/decl.c) but not to any of the other files of the
same name that are in other branches of the tree (not to /egcs/gcc/ch/decl.c 
nor to /egcs/gcc/java/decl.c).  I once again did "configure" without options
in a quite separate object directory and then did "make bootstrap" with no
other options.  This build failed in the first stage as follows:

        stage1/xgcc -Bstage1/ -B/usr/local/i686-UnixWare7.0.1-sysv5/bin/  -DIN_GCC     -O2 -g -O2   -DHAVE_CONFIG_H    -I. -I/usr/src/egcs/gcc -I/usr/src/egcs/gcc/config -I/usr/src/egcs/gcc/../include  \
        -DTARGET_MACHINE=\"i686-UnixWare7.0.1-sysv5\"  \
        -c `echo /usr/src/egcs/gcc/collect2.c | sed 's,^\./,,'`
/usr/src/egcs/gcc/collect2.c: In function `my_strsignal':
/usr/src/egcs/gcc/collect2.c:356: `NSIG' undeclared (first use in this function)
/usr/src/egcs/gcc/collect2.c:356: (Each undeclared identifier is reported only once
/usr/src/egcs/gcc/collect2.c:356: for each function it appears in.)
*** Error code 1 (bu21)

This was the 19990629 egcs-2.9.5, unpatched except as explained above, on
UW7.0.1 installed on a pentium pro.

Thanks in advance for any further suggestions or solutions you may have.

dc
_____________________
David Coder
SysAdmin
WebHosting
Verio.com
703-749-7955 x1314

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Problem bootstrapping egcs-2.9.5 on UW7.0.1
  1999-07-10  9:04   ` David Coder
@ 1999-07-11 16:19     ` Robert Lipe
  1999-07-12 17:46       ` David Coder
  1999-07-31 23:33       ` Robert Lipe
  1999-07-31 23:33     ` David Coder
  1 sibling, 2 replies; 10+ messages in thread
From: Robert Lipe @ 1999-07-11 16:19 UTC (permalink / raw)
  To: David Coder; +Cc: egcs

David Coder wrote:

> Thank you for your help.  I applied Jason's patch to the file named at the top
> of the patch (/egcs/gcc/cp/decl.c) but not to any of the other files of the
> same name that are in other branches of the tree (not to /egcs/gcc/ch/decl.c 

That's exactly right.   That is, in fact, why we include the full pathname
in the patches. :-)

> nor to /egcs/gcc/java/decl.c).  I once again did "configure" without options
> in a quite separate object directory and then did "make bootstrap" with no
> other options.  This build failed in the first stage as follows:

How strange.  I just kicked off the same set of commands on my 7.1.0
box.  With either GCC or /bin/cc as the compiler for stage1 I just don't
see this.

> 
>         stage1/xgcc -Bstage1/ -B/usr/local/i686-UnixWare7.0.1-sysv5/bin/  -DIN_GCC     -O2 -g -O2   -DHAVE_CONFIG_H    -I. -I/usr/src/egcs/gcc -I/usr/src/egcs/gcc/config -I/usr/src/egcs/gcc/../include  \
>         -DTARGET_MACHINE=\"i686-UnixWare7.0.1-sysv5\"  \
>         -c `echo /usr/src/egcs/gcc/collect2.c | sed 's,^\./,,'`
> /usr/src/egcs/gcc/collect2.c: In function `my_strsignal':
> /usr/src/egcs/gcc/collect2.c:356: `NSIG' undeclared (first use in this function)
> /usr/src/egcs/gcc/collect2.c:356: (Each undeclared identifier is reported only once
> /usr/src/egcs/gcc/collect2.c:356: for each function it appears in.)

NSIG is defined in /usr/include/sys/signal.h on UW7.   No special defines
are necessary to see it.    Even a very simple program does get to spot it:
 echo '#include <sys/signal.h>\nBLAH NSIG'  > /tmp/x.c ; cc -E /tmp/x.c
Even if I replace that 'cc' with './xgcc -B./ -I' of the freshly built
compiler, I just don't see this.

Did fixincludes perhaps do something naughty to
gcc/include/sys/signal.h?  That's the ony way I can see this happening.
For comparison's sake, here's what it did to my headers.


$ diff include/sys/signal.h /usr//include/sys
94,98c94,98
< #elif !defined(lint)
< #define SIG_DFL ((void (*)(int))0)
< #define SIG_ERR ((void (*)(int))-1)
< #define SIG_IGN ((void (*)(int))1)
< #define SIG_HOLD ((void (*)(int))2)
---
> #elif !#lint(on)
> #define SIG_DFL ((void(*)())0)
> #define SIG_ERR ((void(*)())-1)
> #define SIG_IGN ((void(*)())1)
> #define SIG_HOLD ((void(*)())2)
100,103c100,103
< #define SIG_DFL ((void (*)(int))0)
< #define SIG_ERR ((void (*)(int))0)
< #define SIG_IGN ((void (*)(int))0)
< #define SIG_HOLD ((void (*)(int))0)
---
> #define SIG_DFL ((void(*)())0)
> #define SIG_ERR ((void(*)())0)
> #define SIG_IGN ((void(*)())0)
> #define SIG_HOLD ((void(*)())0)
124,125c124
< #define _SIGACTION_
< struct  sigaction  {
---
> struct sigaction {


Can you analyze why it isn't finding this definition?   'gcc -v' would
be handy to see where it's actually finding <sys/signal.h> and from there
inspection of the file will be the easiest way to determine why NSIG isn't
being seen.


Thanx,
RJL

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Problem bootstrapping egcs-2.9.5 on UW7.0.1
  1999-07-11 16:19     ` Robert Lipe
@ 1999-07-12 17:46       ` David Coder
  1999-07-31 23:33         ` David Coder
  1999-07-31 23:33       ` Robert Lipe
  1 sibling, 1 reply; 10+ messages in thread
From: David Coder @ 1999-07-12 17:46 UTC (permalink / raw)
  To: Robert Lipe; +Cc: egcs

On Sun, 11 Jul 1999, Robert Lipe wrote:

> David Coder wrote:
> 
> > Thank you for your help.  I applied Jason's patch to the file named at the top
> > of the patch (/egcs/gcc/cp/decl.c) but not to any of the other files of the
> > same name that are in other branches of the tree (not to /egcs/gcc/ch/decl.c 
> 
> That's exactly right.   That is, in fact, why we include the full pathname
> in the patches. :-)
> 
> > nor to /egcs/gcc/java/decl.c).  I once again did "configure" without options
> > in a quite separate object directory and then did "make bootstrap" with no
> > other options.  This build failed in the first stage as follows:
> 
> How strange.  I just kicked off the same set of commands on my 7.1.0
> box.  With either GCC or /bin/cc as the compiler for stage1 I just don't
> see this.
> 
> > 
> >         stage1/xgcc -Bstage1/ -B/usr/local/i686-UnixWare7.0.1-sysv5/bin/  -DIN_GCC     -O2 -g -O2   -DHAVE_CONFIG_H    -I. -I/usr/src/egcs/gcc -I/usr/src/egcs/gcc/config -I/usr/src/egcs/gcc/../include  \
> >         -DTARGET_MACHINE=\"i686-UnixWare7.0.1-sysv5\"  \
> >         -c `echo /usr/src/egcs/gcc/collect2.c | sed 's,^\./,,'`
> > /usr/src/egcs/gcc/collect2.c: In function `my_strsignal':
> > /usr/src/egcs/gcc/collect2.c:356: `NSIG' undeclared (first use in this function)
> > /usr/src/egcs/gcc/collect2.c:356: (Each undeclared identifier is reported only once
> > /usr/src/egcs/gcc/collect2.c:356: for each function it appears in.)
> 
> NSIG is defined in /usr/include/sys/signal.h on UW7.   No special defines
> are necessary to see it.    Even a very simple program does get to spot it:
>  echo '#include <sys/signal.h>\nBLAH NSIG'  > /tmp/x.c ; cc -E /tmp/x.c
> Even if I replace that 'cc' with './xgcc -B./ -I' of the freshly built
> compiler, I just don't see this.
> 
> Did fixincludes perhaps do something naughty to
> gcc/include/sys/signal.h?  That's the ony way I can see this happening.
> For comparison's sake, here's what it did to my headers.
> 
> 
> $ diff include/sys/signal.h /usr//include/sys
> 94,98c94,98
> < #elif !defined(lint)
> < #define SIG_DFL ((void (*)(int))0)
> < #define SIG_ERR ((void (*)(int))-1)
> < #define SIG_IGN ((void (*)(int))1)
> < #define SIG_HOLD ((void (*)(int))2)
> ---
> > #elif !#lint(on)
> > #define SIG_DFL ((void(*)())0)
> > #define SIG_ERR ((void(*)())-1)
> > #define SIG_IGN ((void(*)())1)
> > #define SIG_HOLD ((void(*)())2)
> 100,103c100,103
> < #define SIG_DFL ((void (*)(int))0)
> < #define SIG_ERR ((void (*)(int))0)
> < #define SIG_IGN ((void (*)(int))0)
> < #define SIG_HOLD ((void (*)(int))0)
> ---
> > #define SIG_DFL ((void(*)())0)
> > #define SIG_ERR ((void(*)())0)
> > #define SIG_IGN ((void(*)())0)
> > #define SIG_HOLD ((void(*)())0)
> 124,125c124
> < #define _SIGACTION_
> < struct  sigaction  {
> ---
> > struct sigaction {
> 
> 
> Can you analyze why it isn't finding this definition?   'gcc -v' would
> be handy to see where it's actually finding <sys/signal.h> and from there
> inspection of the file will be the easiest way to determine why NSIG isn't
> being seen.
> 
> 
> Thanx,
> RJL
> 

The problem turns out to have been entirely my fault:  I didn't have signal.h
in my build path.  I had a preconceived notion that the snapshot would contain
everthing that was needed for the build & of course it didn't.  Once I realized
that and got the build path set, the build went fine, thanks to Jason's patch.

The Java build failed, FWIW, but everything else built fine.  I'll worry about
Java later.

Many thanks for all your kind help.

David
_____________________
David Coder
SysAdmin
WebHosting
Verio.com
703-749-7955 x1314

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Problem bootstrapping egcs-2.9.5 on UW7.0.1
  1999-07-12 17:46       ` David Coder
@ 1999-07-31 23:33         ` David Coder
  0 siblings, 0 replies; 10+ messages in thread
From: David Coder @ 1999-07-31 23:33 UTC (permalink / raw)
  To: Robert Lipe; +Cc: egcs

On Sun, 11 Jul 1999, Robert Lipe wrote:

> David Coder wrote:
> 
> > Thank you for your help.  I applied Jason's patch to the file named at the top
> > of the patch (/egcs/gcc/cp/decl.c) but not to any of the other files of the
> > same name that are in other branches of the tree (not to /egcs/gcc/ch/decl.c 
> 
> That's exactly right.   That is, in fact, why we include the full pathname
> in the patches. :-)
> 
> > nor to /egcs/gcc/java/decl.c).  I once again did "configure" without options
> > in a quite separate object directory and then did "make bootstrap" with no
> > other options.  This build failed in the first stage as follows:
> 
> How strange.  I just kicked off the same set of commands on my 7.1.0
> box.  With either GCC or /bin/cc as the compiler for stage1 I just don't
> see this.
> 
> > 
> >         stage1/xgcc -Bstage1/ -B/usr/local/i686-UnixWare7.0.1-sysv5/bin/  -DIN_GCC     -O2 -g -O2   -DHAVE_CONFIG_H    -I. -I/usr/src/egcs/gcc -I/usr/src/egcs/gcc/config -I/usr/src/egcs/gcc/../include  \
> >         -DTARGET_MACHINE=\"i686-UnixWare7.0.1-sysv5\"  \
> >         -c `echo /usr/src/egcs/gcc/collect2.c | sed 's,^\./,,'`
> > /usr/src/egcs/gcc/collect2.c: In function `my_strsignal':
> > /usr/src/egcs/gcc/collect2.c:356: `NSIG' undeclared (first use in this function)
> > /usr/src/egcs/gcc/collect2.c:356: (Each undeclared identifier is reported only once
> > /usr/src/egcs/gcc/collect2.c:356: for each function it appears in.)
> 
> NSIG is defined in /usr/include/sys/signal.h on UW7.   No special defines
> are necessary to see it.    Even a very simple program does get to spot it:
>  echo '#include <sys/signal.h>\nBLAH NSIG'  > /tmp/x.c ; cc -E /tmp/x.c
> Even if I replace that 'cc' with './xgcc -B./ -I' of the freshly built
> compiler, I just don't see this.
> 
> Did fixincludes perhaps do something naughty to
> gcc/include/sys/signal.h?  That's the ony way I can see this happening.
> For comparison's sake, here's what it did to my headers.
> 
> 
> $ diff include/sys/signal.h /usr//include/sys
> 94,98c94,98
> < #elif !defined(lint)
> < #define SIG_DFL ((void (*)(int))0)
> < #define SIG_ERR ((void (*)(int))-1)
> < #define SIG_IGN ((void (*)(int))1)
> < #define SIG_HOLD ((void (*)(int))2)
> ---
> > #elif !#lint(on)
> > #define SIG_DFL ((void(*)())0)
> > #define SIG_ERR ((void(*)())-1)
> > #define SIG_IGN ((void(*)())1)
> > #define SIG_HOLD ((void(*)())2)
> 100,103c100,103
> < #define SIG_DFL ((void (*)(int))0)
> < #define SIG_ERR ((void (*)(int))0)
> < #define SIG_IGN ((void (*)(int))0)
> < #define SIG_HOLD ((void (*)(int))0)
> ---
> > #define SIG_DFL ((void(*)())0)
> > #define SIG_ERR ((void(*)())0)
> > #define SIG_IGN ((void(*)())0)
> > #define SIG_HOLD ((void(*)())0)
> 124,125c124
> < #define _SIGACTION_
> < struct  sigaction  {
> ---
> > struct sigaction {
> 
> 
> Can you analyze why it isn't finding this definition?   'gcc -v' would
> be handy to see where it's actually finding <sys/signal.h> and from there
> inspection of the file will be the easiest way to determine why NSIG isn't
> being seen.
> 
> 
> Thanx,
> RJL
> 

The problem turns out to have been entirely my fault:  I didn't have signal.h
in my build path.  I had a preconceived notion that the snapshot would contain
everthing that was needed for the build & of course it didn't.  Once I realized
that and got the build path set, the build went fine, thanks to Jason's patch.

The Java build failed, FWIW, but everything else built fine.  I'll worry about
Java later.

Many thanks for all your kind help.

David
_____________________
David Coder
SysAdmin
WebHosting
Verio.com
703-749-7955 x1314

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Problem bootstrapping egcs-2.9.5 on UW7.0.1
  1999-07-10  9:04   ` David Coder
  1999-07-11 16:19     ` Robert Lipe
@ 1999-07-31 23:33     ` David Coder
  1 sibling, 0 replies; 10+ messages in thread
From: David Coder @ 1999-07-31 23:33 UTC (permalink / raw)
  To: Robert Lipe; +Cc: egcs

On Fri, 9 Jul 1999, Robert Lipe wrote:

> > /home/src/egcs_obj/gcc/xgcc -B/home/src/egcs_obj/gcc/ -B/usr/local/i686-UnixWare 7.0.1-sysv5/bin/ -c -g -O2 -fno-implicit-templates -I. -I/usr/src/egcs/libio -nostdinc++  /usr/src/egcs/libio/filebuf.cc /usr/src/egcs/libio/filebuf.cc:215: Internal compiler error in `modified_type_die', at dwarf2out.c:6473
> > 
> > I was using the 1999-06-29 sources from egcs.cygnus.com (the 13.5 meg tarball)
> > with no patches, with a separate object directory.  I used no options to
> > configure and only the bootstrap option to make.  Are there more patches since
> > the 19990629 snapshot that address this error?  If so, where can I find them?
> 
> Thanx for the good description.
> 
> Jason committed the following fix for this problem.   Several UW7 users
> have reported success with it.
> 
> RJL
> 
> From: Jason Merrill <jason@cygnus.com>
> Date: 02 Jul 1999 01:32:24 -0700
> In-Reply-To: Mark Mitchell's message of "Thu, 01 Jul 1999 16:41:05 -0700"
> Message-ID: <u9wvwje9k7.fsf@yorick.cygnus.com>
> 
> I prefer my patch below, which I checked into the mainline a few days ago.
> I think that the current behavior is much more useful than what your patch
> does; if the user's code is nonconformant, we should add a pedwarn, not
> just gratuitiously break it.
> 
> 1999-06-28  Jason Merrill  <jason@yorick.cygnus.com>
> 
> 	* decl.c (grokdeclarator): Update the names of all variants when
> 	de-anonymizing.
> 
> Index: decl.c
> ===================================================================
> RCS file: /cvs/egcs/egcs/gcc/cp/decl.c,v
> retrieving revision 1.358.4.5
> diff -c -p -r1.358.4.5 decl.c
> *** decl.c	1999/06/28 03:12:22	1.358.4.5
> --- decl.c	1999/07/02 08:28:29
> *************** grokdeclarator (declarator, declspecs, d
> *** 11048,11065 ****
>   	  && TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
>   	  && ANON_AGGRNAME_P (TYPE_IDENTIFIER (type)))
>   	{
>   	  /* FIXME: This is bogus; we should not be doing this for
>   	            cv-qualified types.  */
>   
> - 	  /* For anonymous structs that are cv-qualified, need to use
> -              TYPE_MAIN_VARIANT so that name will mangle correctly. As
> -              type not referenced after this block, don't bother
> -              resetting type to original type, ie. TREE_TYPE (decl). */
> - 	  type = TYPE_MAIN_VARIANT (type);
> - 
>   	  /* Replace the anonymous name with the real name everywhere.  */
>   	  lookup_tag_reverse (type, declarator);
> ! 	  TYPE_NAME (type) = decl;
>   
>   	  if (TYPE_LANG_SPECIFIC (type))
>   	    TYPE_WAS_ANONYMOUS (type) = 1;
> --- 11048,11064 ----
>   	  && TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
>   	  && ANON_AGGRNAME_P (TYPE_IDENTIFIER (type)))
>   	{
> + 	  tree oldname = TYPE_NAME (type);
> + 	  tree t;
> + 
>   	  /* FIXME: This is bogus; we should not be doing this for
>   	            cv-qualified types.  */
>   
>   	  /* Replace the anonymous name with the real name everywhere.  */
>   	  lookup_tag_reverse (type, declarator);
> ! 	  for (t = TYPE_MAIN_VARIANT (type); t; t = TYPE_NEXT_VARIANT (t))
> ! 	    if (TYPE_NAME (t) == oldname)
> ! 	      TYPE_NAME (t) = decl;
>   
>   	  if (TYPE_LANG_SPECIFIC (type))
>   	    TYPE_WAS_ANONYMOUS (type) = 1;
> 

Thank you for your help.  I applied Jason's patch to the file named at the top
of the patch (/egcs/gcc/cp/decl.c) but not to any of the other files of the
same name that are in other branches of the tree (not to /egcs/gcc/ch/decl.c 
nor to /egcs/gcc/java/decl.c).  I once again did "configure" without options
in a quite separate object directory and then did "make bootstrap" with no
other options.  This build failed in the first stage as follows:

        stage1/xgcc -Bstage1/ -B/usr/local/i686-UnixWare7.0.1-sysv5/bin/  -DIN_GCC     -O2 -g -O2   -DHAVE_CONFIG_H    -I. -I/usr/src/egcs/gcc -I/usr/src/egcs/gcc/config -I/usr/src/egcs/gcc/../include  \
        -DTARGET_MACHINE=\"i686-UnixWare7.0.1-sysv5\"  \
        -c `echo /usr/src/egcs/gcc/collect2.c | sed 's,^\./,,'`
/usr/src/egcs/gcc/collect2.c: In function `my_strsignal':
/usr/src/egcs/gcc/collect2.c:356: `NSIG' undeclared (first use in this function)
/usr/src/egcs/gcc/collect2.c:356: (Each undeclared identifier is reported only once
/usr/src/egcs/gcc/collect2.c:356: for each function it appears in.)
*** Error code 1 (bu21)

This was the 19990629 egcs-2.9.5, unpatched except as explained above, on
UW7.0.1 installed on a pentium pro.

Thanks in advance for any further suggestions or solutions you may have.

dc
_____________________
David Coder
SysAdmin
WebHosting
Verio.com
703-749-7955 x1314

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Problem bootstrapping egcs-2.9.5 on UW7.0.1
  1999-07-11 16:19     ` Robert Lipe
  1999-07-12 17:46       ` David Coder
@ 1999-07-31 23:33       ` Robert Lipe
  1 sibling, 0 replies; 10+ messages in thread
From: Robert Lipe @ 1999-07-31 23:33 UTC (permalink / raw)
  To: David Coder; +Cc: egcs

David Coder wrote:

> Thank you for your help.  I applied Jason's patch to the file named at the top
> of the patch (/egcs/gcc/cp/decl.c) but not to any of the other files of the
> same name that are in other branches of the tree (not to /egcs/gcc/ch/decl.c 

That's exactly right.   That is, in fact, why we include the full pathname
in the patches. :-)

> nor to /egcs/gcc/java/decl.c).  I once again did "configure" without options
> in a quite separate object directory and then did "make bootstrap" with no
> other options.  This build failed in the first stage as follows:

How strange.  I just kicked off the same set of commands on my 7.1.0
box.  With either GCC or /bin/cc as the compiler for stage1 I just don't
see this.

> 
>         stage1/xgcc -Bstage1/ -B/usr/local/i686-UnixWare7.0.1-sysv5/bin/  -DIN_GCC     -O2 -g -O2   -DHAVE_CONFIG_H    -I. -I/usr/src/egcs/gcc -I/usr/src/egcs/gcc/config -I/usr/src/egcs/gcc/../include  \
>         -DTARGET_MACHINE=\"i686-UnixWare7.0.1-sysv5\"  \
>         -c `echo /usr/src/egcs/gcc/collect2.c | sed 's,^\./,,'`
> /usr/src/egcs/gcc/collect2.c: In function `my_strsignal':
> /usr/src/egcs/gcc/collect2.c:356: `NSIG' undeclared (first use in this function)
> /usr/src/egcs/gcc/collect2.c:356: (Each undeclared identifier is reported only once
> /usr/src/egcs/gcc/collect2.c:356: for each function it appears in.)

NSIG is defined in /usr/include/sys/signal.h on UW7.   No special defines
are necessary to see it.    Even a very simple program does get to spot it:
 echo '#include <sys/signal.h>\nBLAH NSIG'  > /tmp/x.c ; cc -E /tmp/x.c
Even if I replace that 'cc' with './xgcc -B./ -I' of the freshly built
compiler, I just don't see this.

Did fixincludes perhaps do something naughty to
gcc/include/sys/signal.h?  That's the ony way I can see this happening.
For comparison's sake, here's what it did to my headers.


$ diff include/sys/signal.h /usr//include/sys
94,98c94,98
< #elif !defined(lint)
< #define SIG_DFL ((void (*)(int))0)
< #define SIG_ERR ((void (*)(int))-1)
< #define SIG_IGN ((void (*)(int))1)
< #define SIG_HOLD ((void (*)(int))2)
---
> #elif !#lint(on)
> #define SIG_DFL ((void(*)())0)
> #define SIG_ERR ((void(*)())-1)
> #define SIG_IGN ((void(*)())1)
> #define SIG_HOLD ((void(*)())2)
100,103c100,103
< #define SIG_DFL ((void (*)(int))0)
< #define SIG_ERR ((void (*)(int))0)
< #define SIG_IGN ((void (*)(int))0)
< #define SIG_HOLD ((void (*)(int))0)
---
> #define SIG_DFL ((void(*)())0)
> #define SIG_ERR ((void(*)())0)
> #define SIG_IGN ((void(*)())0)
> #define SIG_HOLD ((void(*)())0)
124,125c124
< #define _SIGACTION_
< struct  sigaction  {
---
> struct sigaction {


Can you analyze why it isn't finding this definition?   'gcc -v' would
be handy to see where it's actually finding <sys/signal.h> and from there
inspection of the file will be the easiest way to determine why NSIG isn't
being seen.


Thanx,
RJL

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Problem bootstrapping egcs-2.9.5 on UW7.0.1
  1999-07-09 14:58 Problem bootstrapping egcs-2.9.5 on UW7.0.1 David Coder
  1999-07-09 15:09 ` Robert Lipe
@ 1999-07-31 23:33 ` David Coder
  1 sibling, 0 replies; 10+ messages in thread
From: David Coder @ 1999-07-31 23:33 UTC (permalink / raw)
  To: egcs

In trying to compile egcs-2.9.5 on UW7.0.1 I ran into the following compiler
error:

/home/src/egcs_obj/gcc/xgcc -B/home/src/egcs_obj/gcc/ -B/usr/local/i686-UnixWare 7.0.1-sysv5/bin/ -c -g -O2 -fno-implicit-templates -I. -I/usr/src/egcs/libio -nostdinc++  /usr/src/egcs/libio/filebuf.cc /usr/src/egcs/libio/filebuf.cc:215: Internal compiler error in `modified_type_die', at dwarf2out.c:6473

I was using the 1999-06-29 sources from egcs.cygnus.com (the 13.5 meg tarball)
with no patches, with a separate object directory.  I used no options to
configure and only the bootstrap option to make.  Are there more patches since
the 19990629 snapshot that address this error?  If so, where can I find them?

dc
_____________________
David Coder
SysAdmin
WebHosting
Verio.com
703-749-7955 x1314


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Problem bootstrapping egcs-2.9.5 on UW7.0.1
  1999-07-09 15:09 ` Robert Lipe
  1999-07-10  9:04   ` David Coder
@ 1999-07-31 23:33   ` Robert Lipe
  1 sibling, 0 replies; 10+ messages in thread
From: Robert Lipe @ 1999-07-31 23:33 UTC (permalink / raw)
  To: David Coder; +Cc: egcs

> /home/src/egcs_obj/gcc/xgcc -B/home/src/egcs_obj/gcc/ -B/usr/local/i686-UnixWare 7.0.1-sysv5/bin/ -c -g -O2 -fno-implicit-templates -I. -I/usr/src/egcs/libio -nostdinc++  /usr/src/egcs/libio/filebuf.cc /usr/src/egcs/libio/filebuf.cc:215: Internal compiler error in `modified_type_die', at dwarf2out.c:6473
> 
> I was using the 1999-06-29 sources from egcs.cygnus.com (the 13.5 meg tarball)
> with no patches, with a separate object directory.  I used no options to
> configure and only the bootstrap option to make.  Are there more patches since
> the 19990629 snapshot that address this error?  If so, where can I find them?

Thanx for the good description.

Jason committed the following fix for this problem.   Several UW7 users
have reported success with it.

RJL

From: Jason Merrill <jason@cygnus.com>
Date: 02 Jul 1999 01:32:24 -0700
In-Reply-To: Mark Mitchell's message of "Thu, 01 Jul 1999 16:41:05 -0700"
Message-ID: <u9wvwje9k7.fsf@yorick.cygnus.com>

I prefer my patch below, which I checked into the mainline a few days ago.
I think that the current behavior is much more useful than what your patch
does; if the user's code is nonconformant, we should add a pedwarn, not
just gratuitiously break it.

1999-06-28  Jason Merrill  <jason@yorick.cygnus.com>

	* decl.c (grokdeclarator): Update the names of all variants when
	de-anonymizing.

Index: decl.c
===================================================================
RCS file: /cvs/egcs/egcs/gcc/cp/decl.c,v
retrieving revision 1.358.4.5
diff -c -p -r1.358.4.5 decl.c
*** decl.c	1999/06/28 03:12:22	1.358.4.5
--- decl.c	1999/07/02 08:28:29
*************** grokdeclarator (declarator, declspecs, d
*** 11048,11065 ****
  	  && TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
  	  && ANON_AGGRNAME_P (TYPE_IDENTIFIER (type)))
  	{
  	  /* FIXME: This is bogus; we should not be doing this for
  	            cv-qualified types.  */
  
- 	  /* For anonymous structs that are cv-qualified, need to use
-              TYPE_MAIN_VARIANT so that name will mangle correctly. As
-              type not referenced after this block, don't bother
-              resetting type to original type, ie. TREE_TYPE (decl). */
- 	  type = TYPE_MAIN_VARIANT (type);
- 
  	  /* Replace the anonymous name with the real name everywhere.  */
  	  lookup_tag_reverse (type, declarator);
! 	  TYPE_NAME (type) = decl;
  
  	  if (TYPE_LANG_SPECIFIC (type))
  	    TYPE_WAS_ANONYMOUS (type) = 1;
--- 11048,11064 ----
  	  && TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
  	  && ANON_AGGRNAME_P (TYPE_IDENTIFIER (type)))
  	{
+ 	  tree oldname = TYPE_NAME (type);
+ 	  tree t;
+ 
  	  /* FIXME: This is bogus; we should not be doing this for
  	            cv-qualified types.  */
  
  	  /* Replace the anonymous name with the real name everywhere.  */
  	  lookup_tag_reverse (type, declarator);
! 	  for (t = TYPE_MAIN_VARIANT (type); t; t = TYPE_NEXT_VARIANT (t))
! 	    if (TYPE_NAME (t) == oldname)
! 	      TYPE_NAME (t) = decl;
  
  	  if (TYPE_LANG_SPECIFIC (type))
  	    TYPE_WAS_ANONYMOUS (type) = 1;

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~1999-07-31 23:33 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-07-09 14:58 Problem bootstrapping egcs-2.9.5 on UW7.0.1 David Coder
1999-07-09 15:09 ` Robert Lipe
1999-07-10  9:04   ` David Coder
1999-07-11 16:19     ` Robert Lipe
1999-07-12 17:46       ` David Coder
1999-07-31 23:33         ` David Coder
1999-07-31 23:33       ` Robert Lipe
1999-07-31 23:33     ` David Coder
1999-07-31 23:33   ` Robert Lipe
1999-07-31 23:33 ` David Coder

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).