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]

Re: pgcc-1.1.1 glibc-2.1.1 strptime.c forbidden register



  In message <Pine.LNX.4.02.9904090755400.745-100000@isis.bticc.net>you write:
  > 
  > strptime.c: In function `strptime_internal':
  > strptime.c:818: fixed or forbidden register 3 (bx) was spilled for class 
  > GENERAL_REGS.
  > 
  > This may be due to a compiler bug or to impossible asm statements or clause
  > s.
  > 
  > make[2]: *** [/usr/src/redhat/BUILD/glibc/build-i686-linux/time/strptime.os
  > ] Error 1
  > make[2]: Leaving directory `/home/system/redhat/BUILD/glibc/time'
  > make[1]: *** [time/subdir_lib] Error 2
  > make[1]: Leaving directory `/home/system/redhat/BUILD/glibc'
  > make: *** [all] Error 2
  > 
  > 
  > Initially, I was using -O6, then I tried -O3 as well as -O2 only for the 
  > problem be repeated each time.  It only compiles with no optimization.  
  > I've seen reference to this specific problem in both teh pgcc and egcs list
  >  
  > archives, but no definitive solution.  I've also seen quite a few 
  > references to 'forbidden register' but have been unable to figure out how
  > to fix the code from that information.  Are there any patches for this
  > problem or has anyone been able to get strptime.c to compile with optimization?  
There's an asm in that code that requires 6 registers to satisfy.  However,
when compiling with -fPIC the compiler is only allowed to allocate 5 registers.

Compiling with -fomit-frame-pointer will give the compiler an additional
register and it can compile the asm.

jeff


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