This is the mail archive of the gcc-bugs@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]

BUG with -fomit-frame-pointer on i586-linux?


On Thu, 11 June 1998, 12:10:32, manfred@s-direktnet.de wrote:

 > 
 > Sources:	 - egcs from CVS last updated at 1998/06/10 15:50:58 MEST
 > 		 - libg++-2.8.1.1a
 > Patches:	 None.
 > Environment:	 - GNU binutils 2.9.1
 > 		 - dejagnu-971028
 > 		 - gperf-2.7
 > 		 - RedHat Linux 5.0
 > 		 - Kernel 2.1.101
 > 		 - glibc-2.0.7-13
 > 		 - glibc-devel-2.0.7-13
 > Remarks:	 Is it only me getting this "tcomplex.cc -O execution" failure?
 > 		 I didn't see it in any other reports so far.
 > 

Yesterday I  reported my results   on i586-linux. Since my  upgrade to
RedHat  Linux 5.0  (i.e. GNU  libc2) I'm  getting this "tcomplex.cc -O
execution" failure and was quite  upset that nobody else's reports did
show up a similiar failure.

During a private conversation with  Robert Lipe we've recognized  that
I'm   using far more aggressive flags   during compilation than others
(I'm using "-O9 -march=pentium -mcpu=pentium -fomit-frame-pointer" for
both  CFLAGS   and   CXXFLAGS - BOOT_CFLAGS    contain   an additional
"-funroll-all-loops").

Hence I played a little bit (a few hours ;-) with different flags, and 
this is what I've seen so far:

  The above mentioned test fails if libstdc++'s *comp* modules will
  be compiled with -fomit-frame-pointer on, either explicitly or
  implicitly via higher -On levels.

With all  modules (libiberty, libio,   libstdc++, libg++) built  using
"-O9     -march=pentium -mcpu=pentium -fomit-frame-pointer" and   only
libstdc++/*comp*  built      using "-O9  -march=pentium  -mcpu=pentium
-fno-omit-frame-pointer" I don't get any failure:

WARNING: Couldn't find the global config file.
Test Run By manfred on Fri Jun 12 14:12:35 1998
Native configuration is i586-pc-linux-gnu

		=== libstdc++ tests ===

Running target unix
Using /tools/gnu/bin/../share/dejagnu/baseboards/unix.exp as board description file for target.
Using /tools/gnu/bin/../share/dejagnu/config/unix.exp as generic interface file for target.
Using ../../../../egcs-19980611/libstdc++/testsuite/config/default.exp as tool-and-target-specific interface file.
Running ../../../../egcs-19980611/libstdc++/testsuite/libstdc++.tests/test.exp ...

		=== libstdc++ Summary ===

# of expected passes		30

I'm not familiar with x86 machine code, could  some of our x86 experts
try to shed some light on this particular issue?

Thanks.

manfred


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