On Friday 13 February 2009 07:37:52 Bernhard Reutner-Fischer wrote: > On Tue, Dec 16, 2008 at 05:36:32PM -0800, v...@uclibc.org wrote: > >Author: vda > >Date: 2008-12-16 17:36:31 -0800 (Tue, 16 Dec 2008) > >New Revision: 24435 > > > >Log: > >since gcc -Os hates us and does not inline string ops, > > I don't remember offhand if we deliberately turned them off. > > >implement inline versions of some of them. > >Enable only those which result roughly in the same > >code size as using out-or-line versions. > > > >None of this affects users, installed headers won't have > >any trace of it. > > > >+static __always_inline > >+void *inlined_memchr_const_c(const void *s, int c, size_t count) > >+{ > >+ void *edi; > >+ int ecx, eax; > >+ __asm__ __volatile__( > >+ " jecxz 1f\n" > >+ " movb %4, %%al\n" /* const c to %%al */ > >+ " repne; scasb\n" > >+ " leal -1(%%edi), %%edi\n" > >+ " je 2f\n" > >+ "1:\n" > >+ " xorl %%edi, %%edi\n" > >+ "2:\n" > >+ : "=&D" (edi), "=&c" (ecx), "=&a" (eax) > >+ : "0" (s), "i" (c), "1" (count) > >+ /* : no clobbers */ > >+ ); > > Are you sure? Sounds like there is a bug somewhere for it works with any > optimization level on gcc 4.4 as opposed to anything earlier: > > ./include/libc-string_i386.h: In function '__stdio_fwrite': > ./include/libc-string_i386.h:293: warning: asm operand 4 probably doesn't > match constraints > ./include/libc-string_i386.h:293: error: impossible constraint in 'asm'
and now i'm hitting this too. if a fix isnt coming soon, then i say we just disable it until it's actually usable. -mike
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ uClibc mailing list uClibc@uclibc.org http://lists.busybox.net/mailman/listinfo/uclibc