delorie.com/archives/browse.cgi   search  
Mail Archives: pgcc/1999/04/09/17:39:44

Date: Fri, 9 Apr 1999 23:40:33 +0200
From: Ronald de Man <deman AT win DOT tue DOT nl>
To: pgcc AT delorie DOT com
Subject: Re: pgcc-1.1.1 glibc-2.1.1 strptime.c forbidden register
Message-ID: <19990409234033.A31824@win.tue.nl>
References: <Pine DOT LNX DOT 4 DOT 02 DOT 9904090755400 DOT 745-100000 AT isis DOT bticc DOT net> <21886 DOT 923686973 AT upchuck>
Mime-Version: 1.0
X-Mailer: Mutt 0.95.4i
In-Reply-To: <21886.923686973@upchuck>; from Jeffrey A Law on Fri, Apr 09, 1999 at 01:42:53PM -0600
X-Operating-System: Linux localhost 2.2.5
Reply-To: pgcc AT delorie DOT com
X-Mailing-List: pgcc AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Fri, Apr 09, 1999 at 01:42:53PM -0600, Jeffrey A Law wrote:
> 
>   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.

Doesn't -O6 already include -fomit-frame-pointer? And how does this
explain that compiling without optimization solves the problem?

Ronald

- Raw text -


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