public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* gcc-2.96-85 compile of C++ code fails on RH 7.1
@ 2001-08-08  7:41 Kathy Bieltz
  2001-08-08  8:19 ` Kathy Bieltz
  2001-08-08  9:15 ` Trond Eivind Glomsrød
  0 siblings, 2 replies; 4+ messages in thread
From: Kathy Bieltz @ 2001-08-08  7:41 UTC (permalink / raw)
  To: seawolf-list, gcc-help

The same C++ code that compiles with kgcc and gcc-2.91-66 fails when
I attempt to compile it with gcc-2.96-85.  Here is the log of the make:
/usr/bin/gcc -c -Wall -O2 -I. --schedule-insns -DINTEL -DUNIX -DLINUX -DSVR4
Array.cpp -fPIC -DPIC -o obj/Array.o
/usr/bin/gcc -c -Wall -O2 -I. --schedule-insns -DINTEL -DUNIX -DLINUX -DSVR4
Cache.cpp -fPIC -DPIC -o obj/Cache.o
Cache.cpp: In method `Bool Cache::Remove (MntrObject *, int)':
Cache.cpp:128: Unable to find a register to spill in class `AREG'.
Cache.cpp:128: confused by earlier errors, bailing out
make[4]: *** [obj/Cache.o] Error 1
make[3]: *** [releaseso] Error 2
make[2]: *** [releaseso] Error 2
make[1]: *** [releaseso] Error 2
make: *** [releaseso] Error 2

I need to compile this C++ library with gcc-2.96-85 so I can link it into
other executables compiled with gcc-2.96-85.  I can't compile
working executables for RH 7.1 until I get this fixed.

Any ideas on work-around or fix would be appreciated.

Thanks!
Kathy Bieltz

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

* Re: gcc-2.96-85 compile of C++ code fails on RH 7.1
  2001-08-08  7:41 gcc-2.96-85 compile of C++ code fails on RH 7.1 Kathy Bieltz
@ 2001-08-08  8:19 ` Kathy Bieltz
  2001-08-08  9:04   ` Steve Snyder
  2001-08-08  9:15 ` Trond Eivind Glomsrød
  1 sibling, 1 reply; 4+ messages in thread
From: Kathy Bieltz @ 2001-08-08  8:19 UTC (permalink / raw)
  To: seawolf-list; +Cc: gcc-help

I submitted a report to bugzilla and
received the following comment:
"+-fschedule-insns is not to be used on register starved machines like
i386.
+It generally creates much worse code on those, plus results in reload
errors
+too.
+-fschedule-insns2 is more appropriate on i386, but -O2 already enables
it
+by default.
"
I removed the '--schedule-insns' option and
my C++ library compiled fine.

My thanks to the folks at redhat who answered
so promptly.

Kathy Bieltz


Kathy Bieltz wrote:

> The same C++ code that compiles with kgcc and gcc-2.91-66 fails when
> I attempt to compile it with gcc-2.96-85.  Here is the log of the make:
> /usr/bin/gcc -c -Wall -O2 -I. --schedule-insns -DINTEL -DUNIX -DLINUX -DSVR4
> Array.cpp -fPIC -DPIC -o obj/Array.o
> /usr/bin/gcc -c -Wall -O2 -I. --schedule-insns -DINTEL -DUNIX -DLINUX -DSVR4
> Cache.cpp -fPIC -DPIC -o obj/Cache.o
> Cache.cpp: In method `Bool Cache::Remove (MntrObject *, int)':
> Cache.cpp:128: Unable to find a register to spill in class `AREG'.
> Cache.cpp:128: confused by earlier errors, bailing out
> make[4]: *** [obj/Cache.o] Error 1
> make[3]: *** [releaseso] Error 2
> make[2]: *** [releaseso] Error 2
> make[1]: *** [releaseso] Error 2
> make: *** [releaseso] Error 2
>
> I need to compile this C++ library with gcc-2.96-85 so I can link it into
> other executables compiled with gcc-2.96-85.  I can't compile
> working executables for RH 7.1 until I get this fixed.
>
> Any ideas on work-around or fix would be appreciated.
>
> Thanks!
> Kathy Bieltz
>
> _______________________________________________
> Seawolf-list mailing list
> Seawolf-list@redhat.com
> https://listman.redhat.com/mailman/listinfo/seawolf-list

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

* Re: gcc-2.96-85 compile of C++ code fails on RH 7.1
  2001-08-08  8:19 ` Kathy Bieltz
@ 2001-08-08  9:04   ` Steve Snyder
  0 siblings, 0 replies; 4+ messages in thread
From: Steve Snyder @ 2001-08-08  9:04 UTC (permalink / raw)
  To: seawolf-list, Kathy Bieltz; +Cc: gcc-help

My experience is that use of the "-fomit-frame-pointer" switch will also 
break C++ code compiled with RedHat's compiler.  Sometimes the problem is 
manifested as an ICE (Mozilla 0.9.2) and sometimes the code will compile 
but cause a fault at runtime (kdelibs 2.1.x).

Good: "-march=i686 -O2"
Bad: "-march=i686 -O2 -fomit-frame-pointer"

FYI.


On Wednesday 08 August 2001 10:25 am, Kathy Bieltz wrote:
> I submitted a report to bugzilla and
> received the following comment:
> "+-fschedule-insns is not to be used on register starved machines like
> i386.
> +It generally creates much worse code on those, plus results in reload
> errors
> +too.
> +-fschedule-insns2 is more appropriate on i386, but -O2 already enables
> it
> +by default.
> "
> I removed the '--schedule-insns' option and
> my C++ library compiled fine.
>
> My thanks to the folks at redhat who answered
> so promptly.
>
> Kathy Bieltz
>
> Kathy Bieltz wrote:
> > The same C++ code that compiles with kgcc and gcc-2.91-66 fails when
> > I attempt to compile it with gcc-2.96-85.  Here is the log of the make:
> > /usr/bin/gcc -c -Wall -O2 -I. --schedule-insns -DINTEL -DUNIX -DLINUX
> > -DSVR4 Array.cpp -fPIC -DPIC -o obj/Array.o
> > /usr/bin/gcc -c -Wall -O2 -I. --schedule-insns -DINTEL -DUNIX -DLINUX
> > -DSVR4 Cache.cpp -fPIC -DPIC -o obj/Cache.o
> > Cache.cpp: In method `Bool Cache::Remove (MntrObject *, int)':
> > Cache.cpp:128: Unable to find a register to spill in class `AREG'.
> > Cache.cpp:128: confused by earlier errors, bailing out
> > make[4]: *** [obj/Cache.o] Error 1
> > make[3]: *** [releaseso] Error 2
> > make[2]: *** [releaseso] Error 2
> > make[1]: *** [releaseso] Error 2
> > make: *** [releaseso] Error 2
> >
> > I need to compile this C++ library with gcc-2.96-85 so I can link it
> > into other executables compiled with gcc-2.96-85.  I can't compile
> > working executables for RH 7.1 until I get this fixed.
> >
> > Any ideas on work-around or fix would be appreciated.
> >
> > Thanks!
> > Kathy Bieltz
> >
> > _______________________________________________
> > Seawolf-list mailing list
> > Seawolf-list@redhat.com
> > https://listman.redhat.com/mailman/listinfo/seawolf-list
>
> _______________________________________________
> Seawolf-list mailing list
> Seawolf-list@redhat.com
> https://listman.redhat.com/mailman/listinfo/seawolf-list

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

* Re: gcc-2.96-85 compile of C++ code fails on RH 7.1
  2001-08-08  7:41 gcc-2.96-85 compile of C++ code fails on RH 7.1 Kathy Bieltz
  2001-08-08  8:19 ` Kathy Bieltz
@ 2001-08-08  9:15 ` Trond Eivind Glomsrød
  1 sibling, 0 replies; 4+ messages in thread
From: Trond Eivind Glomsrød @ 2001-08-08  9:15 UTC (permalink / raw)
  To: seawolf-list; +Cc: gcc-help

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 979 bytes --]

Kathy Bieltz <kbieltz@hal-pc.org> writes:

> The same C++ code that compiles with kgcc and gcc-2.91-66 fails when
> I attempt to compile it with gcc-2.96-85.  Here is the log of the make:
> /usr/bin/gcc -c -Wall -O2 -I. --schedule-insns -DINTEL -DUNIX -DLINUX -DSVR4
> Array.cpp -fPIC -DPIC -o obj/Array.o
> /usr/bin/gcc -c -Wall -O2 -I. --schedule-insns -DINTEL -DUNIX -DLINUX -DSVR4
> Cache.cpp -fPIC -DPIC -o obj/Cache.o
> Cache.cpp: In method `Bool Cache::Remove (MntrObject *, int)':
> Cache.cpp:128: Unable to find a register to spill in class `AREG'.
> Cache.cpp:128: confused by earlier errors, bailing out
> make[4]: *** [obj/Cache.o] Error 1
> make[3]: *** [releaseso] Error 2
> make[2]: *** [releaseso] Error 2
> make[1]: *** [releaseso] Error 2
> make: *** [releaseso] Error 2

Please file it in bugzilla ( https://bugzilla.redhat.com/bugzilla/ ) so we can
fix it - you have a workaround, but fixing the problem is better.

-- 
Trond Eivind Glomsrød
Red Hat, Inc.

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

end of thread, other threads:[~2001-08-08  9:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-08-08  7:41 gcc-2.96-85 compile of C++ code fails on RH 7.1 Kathy Bieltz
2001-08-08  8:19 ` Kathy Bieltz
2001-08-08  9:04   ` Steve Snyder
2001-08-08  9:15 ` Trond Eivind Glomsrød

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).