This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] i386: Fix GCC running out of registers for bits/string.h

On Tue, 14 Jun 2005, Denis Vlasenko wrote:

> Please see updated testcase. Unfortunately I can't make it fail,
> but one peculiarity is already noted. See comments.

 Have you tried plugging your code into sysdeps/i386/bits/string.h and 
rebuilding glibc using the configuration options I have used?  And note 
that's a user-visible header, ultimately installed as <bits/string.h>, so 
it's not enough to make it good enough for glibc itself.

> >  The problem is %ebx is fixed for PIC, so this is a no-no, I'm afraid.  
> Huh I didn't khow that. Fixed.

 Well, I mentioned it explicitly in the original report.

> How do you like this style?

 OK, but I'll stick with mine for my code. ;-)

> with "r" (__reject) constraint:
>     no -fPIC: REJECT = edx
>     -fPIC: does not compile (not enough free regs)
> with "g" (__reject):
>     no -fPIC: REJECT = stack slot! (instead of using a reg like "r" case)
>     -fPIC: REJECT = stack slot
> REG is ebx or ebp, depending on PICness.

 But %ebp is fixed for the frame pointer due to alloca()!  It can't be 
used here.  Are you sure it is?


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