This is the mail archive of the glibc-bugs@sourceware.org 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]

[Bug libc/1211] New: Fix GCC running out of registers for bits/string.h


This problem has originally been reported at:
"http://sourceware.org/ml/libc-alpha/2005-06/msg00026.html";.  The final
fix is available at:
"http://sourceware.org/ml/libc-alpha/2005-08/msg00029.html";. I'm filing this
bug report so that the problem and the fix do not get lost and the issue is
eventually resolved.

 When the "--enable-omitfp" "configure" option is used a couple of functions
in "sysdeps/i386/bits/string.h" request more registers than available for
inline assembly used within.  This happens if alloca() makes the frame
pointer register unavailable.  A special memory constraint used prevents
implicit use of memory alternatives.  This results in an error: "can't find
a register in class 'GENERAL_REGS'".  See GCC bug #22045 for a detailed
analysis.  Here is a fix, tested with no regressions.

2005-08-19  Maciej W. Rozycki  <macro@linux-mips.org>

	* sysdeps/i386/bits/string.h (strcspn): Lower the register
	pressure for the asm.
	(strspn): Likewise.
	(strpbrk): Likewise.
	(strstr): Likewise.

	* sysdeps/i386/bits/string.h: Remove the "register" keyword 
	throughout.

 This applies both to HEAD and 2.3.

-- 
           Summary: Fix GCC running out of registers for bits/string.h
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
        AssignedTo: gotom at debian dot or dot jp
        ReportedBy: macro at linux-mips dot org
                CC: glibc-bugs at sources dot redhat dot com
  GCC host triplet: i386-linux-gnu


http://sources.redhat.com/bugzilla/show_bug.cgi?id=1211

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


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