Age | Commit message (Collapse) | Author |
|
|
|
Some of the code is functionally identical before and after, but for now
I'm just mechanically reverting the entire mess.
|
|
|
|
|
|
For now, a straight revert; we can decide later wheter we want to do something
more.
|
|
no libc_hidden_def exists for the function.
|
|
The spill routine to flush all windowed registers was missing a 'mov'
instruction.
Signed-off-by: Chris Zankel <chris@zankel.net>
|
|
__uc_malloc calls in getnetent.c, so we must retain the include and
libc_hidden_proto).
|
|
More details: http://uclibc.org/lists/uclibc/2008-June/019509.html
|
|
since posix_openpt lives in getpt.c it has to stay there unconditionally.
|
|
Fixes compilation error for defined UCLIBC_HAS_PTY && !defined UNIX98PTY_ONLY
which need both __libc_ptyname1 and __libc_ptyname2 for ptsname_r().
|
|
- ptsname_r depends on UCLIBC_HAS_PTY just like ptsname()
|
|
definition. I seems to produce spurious warning:
libc/inet/resolv.c:1549: warning: 'visibility' attribute ignored on non-class types
(seems like gcc bug)
and it is not really needed - attribute_hidden was already
specified in function _declaration_ so it is not necessary here.
No code changes (verified with objdump).
|
|
SIGPIPE handler was attempting to re-acquire an already taken lock.
While at it, stop checking for sigaction failure which is not possible here.
Sizes:
text data bss dec hex filename
- 1123 13 2 1138 472 libc/misc/syslog/syslog.o
+ 1112 13 2 1127 467 libc/misc/syslog/syslog.o
Run tested.
|
|
text data bss dec hex filename
- 230 0 9 239 ef libc/inet/gethostent.o
+ 224 0 9 233 e9 libc/inet/gethostent.o
- 782 0 0 782 30e libc/inet/read_etc_hosts_r.o
+ 767 0 0 767 2ff libc/inet/read_etc_hosts_r.o
Run tested.
|
|
we were closing a FILE, but did not record that fact by setting
a variable to NULL, and then we used it for reading!
While at it, small reduction in bss.
Run tested.
text data bss dec hex filename
- 210 0 12 222 de libc/inet/gethostent.o
+ 230 0 9 239 ef libc/inet/gethostent.o
|
|
text data bss dec hex filename
- 2403 12 40 2455 997 libc/unistd/getopt.o
+ 2388 12 28 2428 97c libc/unistd/getopt.o
|
|
|
|
|
|
|
|
- tidy up PTHREADS_DEBUG_SUPPORT by using per-target STRIP_FLAGS for the few
This fixes the spurious rebuilds bernd and vda were seeing with libpthreads.
|
|
The obsolete functions bcopy, index, etc. are not supposed to be used within
uClibc itself. Hence, there is no libc_hidden_def for them, but the previous
patch did not just move libc_hidden_protos, it also added new ones for the
legacy functions. As a result, programs which use these functions can no
longer link with uClibc.
This fixes it by removing the unnecessary libc_hidden_protos. I've also
removed all inclusions of <strings.h> from uClibc source files: since we
define _GNU_SOURCE, it is sufficient to include <string.h>. We then do not
need to duplicate the libc_hidden_proto block in <strings.h>.
|
|
|
|
1. names with two consecutive dots are not valid
2. if name ends with a dot, dont try appending search domain(s)
alos a few small optimisations are here.
|
|
|
|
|
|
The bug: this blocks in syslogd is stopped:
#include <syslog.h>
int main() {
int i;
for (i = 0; i < 10000; i++)
syslog(LOG_INFO, "Testing, disregard....................");
return 0;
}
Fix: set O_NONBLOCK on fd to "/dev/log".
Other fixes: do not try to write to fd -1, do not spin forever or EAGAIN,
use constant sockaddr instead of recreating identical one each time,
eliminate one intermediate function (SUGPIPE sig handler),
use smallints where appropriate, add a few comments.
Size:
text data bss dec hex filename
- 1140 16 21 1177 499 libc/misc/syslog/syslog.o
+ 1123 13 2 1138 472 libc/misc/syslog/syslog.o
|
|
like
o UCLIBC_HAS_GNU_ERROR
o UCLIBC_HAS_BSD_ERR
o UCLIBC_HAS_PTY
o UCLIBC_HAS_GETPT (1)
o UCLIBC_SYSCALL_STUBS
o UCLIBC_SYSCALL_STUB_WARNING
o UCLIBC_LINUX_SPECIFIC (2)
o UCLIBC_BSD_SPECIFIC (3)
o UCLIBC_NTP_LEGACY (4)
o UCLIBC_SV4_DEPRECATED (5)
o UCLIBC_HAVE_REALTIME (6)
o UCLIBC_HAVE_ADVANCED_REALTIME (7)
o UCLIBC_HAVE_EPOLL (8)
o UCLIBC_HAVE_XATTR (9)
o UCLIBC_HAVE_PROFILING (10)
(1) make non-standard getpt optional and implement standard posix_openpt
(2) fstatfs(), inotify_*(), ioperm(), iopl(), madvise(), modify_ldt(),
personality()
ppoll(), setresuid()
(3) mincore(), getdomainname(), setdomainname()
(4) ntp_adjtime(), ntp_gettime() aliases
(5) ustat() [use statfs(2) in your code instead]
(6) All marked as "(REALTIME)" in SUSv3
(7) All marked as "(ADVANCED REALTIME)" in SUSv3
(8) epoll_create(), epoll_ctl(), epoll_wait()
(9) all Extended Attributes
(10) helpers for gcc's -finstrument-functions
- Fixes _dl_exit()
- Implements sleep(3) for !UCLIBC_HAVE_REALTIME
- Implements usleep(3) for !UCLIBC_HAVE_REALTIME
- adds #warning about incorrect posix_fadvise{,64}()
- removes unused and unwanted uselib()
Net outcome is that an allnoconfig with HAVE_SHARED is now about 88k instead
of formerly 130k.
|
|
and it's slightly shorter.
Also removes stray macros from public <printf.h> header
and uses spaces for comment indentation.
No code changes (verified with objdump).
|
|
(int/enum). clases bug 3234.
|
|
(verified with objdump)
|
|
Code size is not changed on i386.
|
|
IPv6 DNS resolv. rfc4159 mandated this 3 years ago. Closes bug 1020.
Also cleans up some stype inconsistensied and saves 2 bytes of rw data.
|
|
|
|
|
|
|
|
even if arch overrides smallint size. Makes it easier to spot bugs
on such arches.
|
|
by adding include <wchar.h> in strcasecmp.c
|
|
remove a few duplicate includes of unistd.h
|
|
libc when one of the source files changes.
Since there are more places which want to depend on $(libc), fix them all to
use a new variable $(libc.depend), which contains the filename for which we
have a rule.
|
|
build the former.
|
|
|
|
|
|
sources separately for now.
|
|
For -combine, make sure that we don't pollute our non-varargs mremap decl
with some vararg decl from later in the TU by putting ours after anybody
else who is picking up mman.h.
This is admittedly a small work-around..
smallish testcase:
$ cat bug.h
extern void *mremap (void*, unsigned, unsigned, int, ...);
$ cat bug1.c
#include "bug.h"
int whatever;
$ cat bug2.c
#define mremap _hidemremap
#include "bug.h"
#undef mremap
void *mremap (void*, unsigned, unsigned, int, void*);
$ gcc -c bug1.c bug2.c
$ gcc -c bug1.c bug2.c -combine
bug2.c:4: error: conflicting types for ‘mremap’
bug.h:1: error: previous declaration of ‘mremap’ was here
|
|
|
|
|
|
|
|
text data bss dec hex filename
1176 16 24 1216 4c0 libc/misc/syslog/syslog.o.orig
1140 16 21 1177 499 libc/misc/syslog/syslog.o
|
|
|