www.delorie.com/archives/browse.cgi   search  
Mail Archives: pgcc/1999/04/09/15:54:27

To: J Kinsley <jkinsley AT bticc DOT net>
cc: bug-glibc AT gnu DOT org, pgcc AT delorie DOT com, pcg AT goof DOT com, egcs AT egcs DOT cygnus DOT com,
egcs-bugs AT egcs DOT cygnus DOT com
Subject: Re: pgcc-1.1.1 glibc-2.1.1 strptime.c forbidden register
In-reply-to: Your message of Fri, 09 Apr 1999 07:58:47 EDT.
<Pine DOT LNX DOT 4 DOT 02 DOT 9904090755400 DOT 745-100000 AT isis DOT bticc DOT net>
Date: Fri, 09 Apr 1999 13:42:53 -0600
Message-ID: <21886.923686973@upchuck>
From: Jeffrey A Law <law AT upchuck DOT cygnus DOT com>
Reply-To: pgcc AT delorie DOT com

  In message <Pine DOT LNX DOT 4 DOT 02 DOT 9904090755400 DOT 745-100000 AT isis DOT bticc DOT 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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019