Age | Commit message (Collapse) | Author |
|
The fix:
logfac == 0 in openlog(xx, logfac) is allowed now.
Corresponding internal openlog() call in vsyslog()
uses explicit LOG_USER in order to set it as a default
facility.
Optimizations:
mylock is not recursive now, since a single intenal call
of openlog is converted to a call to openlog_internal
which assumes that lock is already taken. No recursive
locking is possible now.
LogFacility is reduced to byte.
cache static LogFile in auto variable fd (smaller code).
vsyslog with bogus pri parameter wouldn't lock/unlock
and mess with signals - it will just return at once.
pass NULL as ident string in internal openlog call
- same effect as passing LogTag but smaller code.
comment out "if (LogTag)" checks - it is never NULL.
use the same struct sigaction for setting new sigaction
and for saving old one - saves ~32 bytes of stack.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Move attribute_noreturn to header.
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Call the hidden memcpy() ourselves otherwise gcc will emit a call to the
public memcpy() which goes through the PLT.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Apps should switch to nftw()
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Drop the "#ifndef O_CLOEXEC" cruft, enable O_CLOEXEC in most fcntl.h
headers, and import __ASSUME_O_CLOEXEC from glibc.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
sed -i -e '/Experimentally off - /d' $(grep -rl "Experimentally off - " *)
sed -i -e '/^\/\*[[:space:]]*libc_hidden_proto(/d' $(grep -rl "libc_hidden_proto" *)
should be a nop
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
text data bss dec hex filename
- 1109 8 76 1193 4a9 libc/misc/time/tzset.o
+ 1095 8 76 1179 49b libc/misc/time/tzset.o
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
In any non-buggy program free() does not fail.
And when it fails in a buggy program, the failure
is usually fatal (heap corruption and segfault).
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
text data bss dec hex filename
- 370 0 0 370 172 libc/misc/dirent/opendir.o
+ 366 0 0 366 16e libc/misc/dirent/opendir.o
- 375 4 0 379 17b libc/pwd_grp/lckpwdf.o
+ 356 4 0 360 168 libc/pwd_grp/lckpwdf.o
- 248 0 0 248 f8 librt/shm.o
+ 209 0 0 209 d1 librt/shm.o
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
bug #1:
static_fd = -1;
close(static_fd);
DOH!
bug #2:
if (utmp_fd == -1) {
__setutent();
}
if (utmp_fd == -1) {
return NULL;
}
if utmp_fd == -1, we call _setutent().
if __setutent() opens a fd, utmp_fd (a parameter)
wouldn't change, the second check is bogus.
We need to use static_fd instead in second check.
Which makes clear that having utmp_fd parameter
is wrong. See the patch for a complete fix.
Shrink comes from simplifying fcntl(static_fd, F_SETFD, FD_CLOEXEC):
text data bss dec hex filename
- 661 8 384 1053 41d libc/misc/utmp/utent.o
+ 604 8 384 996 3e4 libc/misc/utmp/utent.o
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Handle O=
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Fixes 3575b741754b391a27e33bb1866bdb29131b7fea
which only changed the old impl but not the new one.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
The dlpi_addr isn't a simple Elf_Addr type for FDPIC systems, so we can't
just assign 0 to it to initialize.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
If an arch (like alpha and others) have no ldso support at all, then there
is no point in attempting to walk loaded modules in the dl-* helper funcs.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Tested basic functionality with coreutils and things seem to work. At
least gives us a basis to jump from.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
This syncs the dirent related functions with the glibc behavior -- rather
than take void pointers everywhere, make the struct dirent pointers
explicit in the API. After all, the functions themselves will cast the
pointers to a dirent structure, so if it isn't as expected, people will
crash.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Avoid gcc warnings about #if statements with defines that aren't defined.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Once again all of these reduce the noise from gcc-4.4.
Replaces a few more (USE_TLS && HAVE___THREAD) with USE___THREAD while we need
to mess with them for this anyhow.
Signed-off-by: Ron Lee <ron@debian.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
This cuts down on a lot of noise from gcc-4.4
Signed-off-by: Ron Lee <ron@debian.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
The error message should output "fromcode -> tocode" rather than
"tocode -> fromcode". Seems to be a typo due to the order of the func
called:
iconv_t iconv_open(const char *tocode, const char *fromcode);
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
|
|
By Hai Zaar (haizaar AT codefidence.com)
|
|
|
|
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
|
|
- SUSv4_LEGACY part #1 (non-networking)
|
|
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
|
|
|
|
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
|
|
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)
|