Denis Vlasenko [Mon, 9 Feb 2009 22:55:08 +0000 (22:55 -0000)]
ldouble_wrappers.c: add long and long long optimized wrappers
float_wrappers.c: add xxxWRAPPER1(func) macros. no code changes,
but makes this file much shorter.
text data bss dec hex filename
- 42504 188 4 42696 a6c8 lib/libm-0.9.30-svn.so
+ 42488 188 4 42680 a6b8 lib/libm-0.9.30-svn.so
Denis Vlasenko [Mon, 9 Feb 2009 13:07:37 +0000 (13:07 -0000)]
ldouble_wrappers.c: fix __signbitl, it was calling itself by mistake.
remove wrong casts to long double of long return values.
remove lots of empty lines.
- also link librt with --as-needed and do so unconditionally to work around
bugs in gentoo's QA.
Just add UCLIBC_HAS_SSP to the "and" of link.asneeded to properly take SSP
into account, if you prefer.
Denis Vlasenko [Wed, 21 Jan 2009 02:52:59 +0000 (02:52 -0000)]
*: remove __UCLIBC_CURLOCALE_DATA, __UCLIBC_CURLOCALE_DATA.x
is always equivalent to __UCLIBC_CURLOCALE->x.
remove typedef __uclibc_locale_t, it used only in a few places,
it is lees confusing to use struct __uclibc_locale_struct
everywhere.
xlocale.h: hide __global_locale back under _LIBC,
bug 53 is wrong in claiming it should be exported.
Also hide under _LIBC:
extern __locale_t __curlocale_var;
extern __locale_t __curlocale(void);
extern __locale_t __curlocale_set(__locale_t newloc);
# define __UCLIBC_CURLOCALE
# define __XL_NPP(N)
# define __LOCALE_PARAM
# define __LOCALE_ARG
# define __LOCALE_PTR
Denis Vlasenko [Sun, 4 Jan 2009 21:19:43 +0000 (21:19 -0000)]
ldso/ldso/dl-startup.c: make _dl_elf_main static; remove one dead variable.
ldso/ldso/avr32/dl-startup.h: remove superfluous definition of START() macro.
ldso/ldso/*/dl-startup.h: fix a typo in comment
text data bss dec hex filename
- 16752 244 92 17088 42c0 lib/ld-uClibc.so
+ 16709 240 92 17041 4291 lib/ld-uClibc.so
Denis Vlasenko [Sat, 3 Jan 2009 15:05:20 +0000 (15:05 -0000)]
Get rid of the following annoying warnings on ppc:
warning: nested extern declaration of '__illegally_sized_syscall_argN'
From Stefan Assmann (sassmann AT suse.de)
Denis Vlasenko [Sat, 3 Jan 2009 13:51:12 +0000 (13:51 -0000)]
libm: remove scalbln implementation, it seems to be less correct than scalbn.
instead, either alias scalbln to scalbn if int == long on this arch, or
just call scalbn form scalbln.
text data bss dec hex filename
- 45297 180 4 45481 b1a9 lib/libm.so
+ 44969 180 4 45153 b061 lib/libm.so
- ethers only make sense if we want to play with ethernet addresses
as in /etc/ethers (man 5 ethers)
Assume that any of socket- or IP support indicate that need.
Denis Vlasenko [Sat, 27 Dec 2008 10:19:19 +0000 (10:19 -0000)]
ctype: remove some trivial macros from ctype.h;
remove __tolower and __toupper (they existed only in SOME configs!);
remove usages of _tolower (some of them clearly buggy) from uclibc code;
add a few more -U<define> options to unifdef pass over installed headers;
document it on docs/wchar_and_locale.txt
text data bss dec hex filename
- 514963 2727 15396 533086 8225e lib/libuClibc-0.9.30-svn.so
+ 514888 2727 15396 533011 82213 lib/libuClibc-0.9.30-svn.so
Denis Vlasenko [Fri, 26 Dec 2008 17:18:43 +0000 (17:18 -0000)]
new regex: stop confusing ourself with _LIBC being undefined;
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
Denis Vlasenko [Wed, 24 Dec 2008 21:58:57 +0000 (21:58 -0000)]
test/Makefile: make "make compile" install headers first
test/regex/Makefile: remove superfluous oprions
test/regex/tst-regex2.c: reformat, simplify, and make error messages
more informative
test/test-skeleton.c: kill child test process on ^C
Denis Vlasenko [Mon, 22 Dec 2008 14:51:20 +0000 (14:51 -0000)]
extra/locale/gen_wctype.c: remove __CTYPE_isalnum and friends;
stop using macros with hidden parameter - that's evil;
reformat broken indenting (it was not matching the number of {}s);
fix format warnings (int vs size_t vs long)
- fix fpclassify, signbit, isfinite, isnan, isinf macros for long double math support
- add rule to create preprocessor output for float- and long double math wrapper
Denis Vlasenko [Mon, 22 Dec 2008 01:01:40 +0000 (01:01 -0000)]
docs/defines.txt: document _extern_inline
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:
Denis Vlasenko [Sat, 20 Dec 2008 17:35:25 +0000 (17:35 -0000)]
libc/stdio/_scanf.c: heed lots of warnings about signed/unsigned chars
and such; remove two unneeded static string (inline "str" works better
code-size wise).