Age | Commit message (Collapse) | Author |
|
|
|
nuke one struct initializer which was invisibly becoming a memset -
this improves speed by x2:
test 0 pattern 0 '.?.?.?.?.?.?.?Log\.13'
- 0.249795s
+ 0.133522s
test 0 pattern 1 '(.?)(.?)(.?)(.?)(.?)(.?)(.?)Log\.13'
- 0.360115s
+ 0.191959s
text data bss dec hex filename
- 515009 2731 15396 533136 82290 lib/libuClibc-0.9.30-svn.so
+ 514961 2727 15396 533084 8225c lib/libuClibc-0.9.30-svn.so
|
|
remove old-style-C function params declarations;
change re_comp_buf from struct to pointer (more static build friendly)
text data bss dec hex filename
- 514952 2731 15424 533107 82273 lib/libuClibc-0.9.30-svn.so
+ 515011 2731 15396 533138 82292 lib/libuClibc-0.9.30-svn.so
|
|
shrink offset tables. disable "likely/unlikely" BE() macro.
text data bss dec hex filename
- 515032 2731 15424 533187 822c3 lib/libuClibc-0.9.30-svn.so
+ 515014 2731 15424 533169 822b1 lib/libuClibc-0.9.30-svn.so
|
|
|
|
test 2 pattern 0 '.?.?.?.?.?.?.?Log\.13'
-incorrect num_regs 30, expected 2
+ 1.283480s
+test 2 pattern 1 '(.?)(.?)(.?)(.?)(.?)(.?)(.?)Log\.13'
+ 3.429810s
+test 2 pattern 2 '((((((((((.?))))))))))((((((((((.?))))))))))....'
+incorrect num_regs 30, expected 72
|
|
no need to define it here
|
|
and x86_64 into x86
|
|
|
|
|
|
|
|
equal to "include/bits/uClibc_ctype.h"
__CTYPE_unclassified and other similar __CTYPE_xxxx
constants are moved to separate include file,
bits/uClibc_charclass.h
Duplicate declaration of these constants is
removed from libc/misc/wctype/_wctype.c
Ugly re-inclusion trick in extra/locale/gen_wctype.c deleted
Large ifdefed-out chunk in extra/locale/gen_wctype.c removed
Move __CTYPE_isalnum() etc macros from uClibc_ctype.h
to their single user, extra/locale/gen_wctype.c
(can be simplified further)
Overall, no code changes (verified with objdump)
|
|
math support
- add rule to create preprocessor output for float- and long double math wrapper
|
|
|
|
|
|
libc/inet/ether_addr.c: optimize tolower, we ever use it on 0-9a-f
libc/inet/ntop.c: optimize tolower, we ever use it on 0-9a-f
with locale support on, code size change is:
text data bss dec hex filename
- 396 0 24 420 1a4 libc/inet/ether_addr.os
+ 306 0 24 330 14a libc/inet/ether_addr.os
- 1453 0 0 1453 5ad libc/inet/ntop.os
+ 1430 0 0 1430 596 libc/inet/ntop.os
|
|
|
|
|
|
libc/stdio/_vfprintf.c:1892: warning: passing argument 1
of '_[w]stdio_fwrite' from incompatible pointer type
|
|
and such; remove two unneeded static string (inline "str" works better
code-size wise).
|
|
from signed/unsigned char conversions
|
|
rewrite one exceptionally unreadable loop. Heed a few warnings
(wrong type for string op params)
text data bss dec hex filename
- 1164 16 0 1180 49c libc/misc/locale/newlocale.os
+ 1180 0 0 1180 49c libc/misc/locale/newlocale.os
- 494480 2751 15684 512915 7d393 lib/libuClibc-0.9.30-svn.so
+ 494472 2735 15684 512891 7d37b lib/libuClibc-0.9.30-svn.so
|
|
text data bss dec hex filename
- 1237 9 28 1274 4fa libc/inet/rpc/getrpcent.os
+ 1246 0 28 1274 4fa libc/inet/rpc/getrpcent.os
- 773 24 0 797 31d libc/misc/time/_time_localtime_tzi.os
+ 772 16 0 788 314 libc/misc/time/_time_localtime_tzi.os
|
|
libc/string/i386/strlen.c: small optimization, same code size)
text data bss dec hex filename
- 240449 1759 11960 254168 3e0d8 lib/libuClibc-0.9.30-svn.so
+ 240339 1759 11960 254058 3e06a lib/libuClibc-0.9.30-svn.so
|
|
string/i386/strchrnul.c: new function, adapted from strchr.c
text data bss dec hex filename
- 240604 1759 11960 254323 3e173 lib/libuClibc-0.9.30-svn.so
+ 240449 1759 11960 254168 3e0d8 lib/libuClibc-0.9.30-svn.so
|
|
string/i386/*: formatiing and commentary tidying up
|
|
|
|
added check for src == dest. run tested.
text data bss dec hex filename
- 39 0 0 39 27 libc/string/i386/memmove.os
+ 37 0 0 37 25 libc/string/i386/memmove.os
|
|
memchr: add small embedded test
strnlen: make small embedded test easier to use
strncmp: reformat assembly to make it readable, no code changes
(verified with objdump)
text data bss dec hex filename
- 46 0 0 46 2e libc/string/i386/strncat.os
+ 39 0 0 39 27 libc/string/i386/strncat.os
|
|
text data bss dec hex filename
- 25 0 0 25 19 libc/string/i386/strnlen.os
+ 24 0 0 24 18 libc/string/i386/strnlen.os
|
|
|
|
|
|
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.
|
|
strrchr: smaller i386 version
text data bss dec hex filename
- 33 0 0 33 21 libc/string/i386/memchr.o
+ 28 0 0 28 1c libc/string/i386/memchr.o
- 31 0 0 31 1f libc/string/i386/strrchr.o
+ 26 0 0 26 1a libc/string/i386/strrchr.o
|
|
test/regex/tst-regex2.c: fix testcase to compile with just "gcc <file>.c"
|
|
|
|
and google says only uclibc has it, no users at all.
text data bss dec hex filename
- 229374 1367 11280 242021 3b165 lib/libuClibc-0.9.30-svn.so
+ 229347 1367 11280 241994 3b14a lib/libuClibc-0.9.30-svn.so
|
|
include/signal.h | 42 +++++++++++++++++++-------------
libc/sysdeps/linux/alpha/bits/signum.h | 19 --------------
libc/sysdeps/linux/common/bits/signum.h | 22 ----------------
libc/sysdeps/linux/hppa/bits/signum.h | 17 ------------
libc/sysdeps/linux/mips/bits/signum.h | 23 +----------------
libc/sysdeps/linux/sparc/bits/signum.h | 20 ---------------
6 files changed, 27 insertions(+), 116 deletions(-)
|
|
Run tested on i386.
|
|
|
|
"Bounds Checking Projects... This project has been abandoned"
for four years at least.
|
|
|
|
for ancient compilers. none of other string/*.c files have them.
|
|
fix uclibc build if it is forcibly enabled
|
|
help it. Code size is the same.
|
|
it is dead (not supported by gcc) for years.
(more of it remains in multiple copies of sigaction.c)
|
|
text data bss dec hex filename
- 44 0 4 48 30 libc/sysdeps/linux/i386/brk.o
+ 42 0 4 46 2e libc/sysdeps/linux/i386/brk.o
|
|
to a common one (libc/sysdeps/linux/common/bits) so that any
function can access to supported kernel feature (i.e. getdents).
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
|