h8300: O_DIRECT and O_DIRECTIRY swapping.]]>
h8300: Add ARCH_HAS_DEPRECATED_SYSCALLS Signed-off-by: Yoshinori Sato]]>
revert changes]]>
getdents is deprecated. So redirect to readdir64 in __ARCH_HAS_DEPRECATED_SYSCALLS__. Signed-off-by: Yoshinori Sato]]>
__ARCH_HAS_DEPRECATED_SYSCALLS__ case fix. getdents is deprecated. Signed-off-by: Yoshinori Sato]]>
Remove alias. open_cancel and open2_cancel have diffrent argument on open. So can't alias this functions. Signed-off-by: Yoshinori Sato]]>
openat argument fix. If argument passing to register case (ex. -mregparam=3). This case set all parameters set to register from caller. But callee refer to stack. So can't get parameter. Signed-off-by: Yoshinori Sato]]>
h8300: vfork flags update. Signed-off-by: Yoshinori Sato]]>
rx: update Signed-off-by: Yoshinori Sato]]>
rx: update Signed-off-by: Yoshinori Sato]]>
Add RX support. Signed-off-by: Yoshinori Sato]]>
remove deprecated architectures v850/i960 Both architectures are more or less deprecated. No Linux upstream support, no gcc support for uClinux.]]>
Replace bltzal with lapc for MIPS R6 builds. The R6 version of MIPS does not support the bltzal instruction. This patch changes dl-startup.h and dl-sysdep.h to use lapc on R6 instead. lapc is a new R6 insruction so older systems need to continue to use bltzal in order to load register $31. Signed-off-by: Steve Ellcey]]>
Replace MIPS specific memcpy.S/memset.S with version from glibc/newlib. These MIPS specific versions of memcpy.S and memset.S are faster than the current ones and match what is in newlib and glibc. They also have support for the mips32r6 and mips64r6 architectures. Signed-off-by: Steve Ellcey]]>
pselect: Use linux pselect syscall when available Linux has a pselect syscall since 2.6.something. Using it rather than emulating it with sigprocmask+select+sigprocmask is smaller code, and works properly. (The emulation has race conditions when unblocked signals arrive before or after the select) The tv.nsec >= 1E9 handling comes from uclibc's linux select() implementation, which itself uses pselect() internally if the pselect syscall exists. I though it would be good to do the same here. Note that although the libc pselect() API has 6 arguments, the linux kernel syscall as 7 arguments. There is an extra, somewhat vestigial, sizeof the signal mask argument. Signed-off-by: Nicolas S. Dade]]>
libc/pwd_grp: Create template for non-reentrant functions Avoid a lot of copy'n'paste code, no functionality change Signed-off-by: Leonid Lisovskiy]]>
Use gcc's __builtin_mempcpy() as __mempcpy(), if possible Patch from OpenWrt. Reported-by: Leonid Lisovskiy]]>
use arch specific thread stack size for nptl Use the arch specific thread stack size for nptl if the size returned by getrlimits exceeds it - fixes threads on systems with only 16 MB RAM. Patch from OpenWRT Reported-by: Leonid Lisovskiy]]>
Do define some IPv6 related symbols even with IPv6 disabled Fixes compilation of some faulty applictions. Patch from Freetz.org Reported-by: Leonid Lisovskiy]]>
resolv: fix gethostbyname2_r to match gethostbyname_r, fixing bugs with AAAA lookups The latter half of gethostbyname2_r (doing AAAA queries) is rather dramatically different from the corresponding portion of gethostbyname_r (doing A queries). This leads to problems like calls to getaddrinfo only returning one IPv6 address, even when multiple exist. Seems to be entirely a case of divergent evolution -- a half-decade of fixes for the IPv4 code but no love for IPv6. Until now. ;) DNS behaviour for IPv6 is really no different than for IPv4 -- beyond the difference in address sizes, there's no need for the functions to be so different. Consequently, this patch really is almost just a cut-and-paste of gethostbyname_r, with the appropriate substitutions of in6_addr, AF_INET6, etc; while holding on to the few extra bits that actually belong in there (eg #ifdef __UCLIBC_HAS_IPV6__). Signed-off-by: Wes Campaigne]]>
inet/resolv: Fix broken h_aliases list terminator after 2dab3f5 Commit 2dab3f5a "resolv: tiny shrinkage in /etc/hosts handling" leads to that read_etc_hosts_r() provide garbage pointer at the end of h_aliases list if more than four hostnames follow a dotted quad in /etc/hosts Test-case: Add following line to /etc/hosts 63.63.0.2 host1 alias2 alias3 alias4 alias5 #include]]>#include #include #include #include #include #include int main (void) { int i; char *a; struct hostent *he; struct in_addr ipv4addr; inet_pton(AF_INET, "63.63.0.2", &ipv4addr); he = gethostbyaddr(&ipv4addr, sizeof ipv4addr, AF_INET); if (he == NULL) exit(1); printf("Host name: '%s'\n", he->h_name); i = 0; while ((a = he->h_aliases[i]) != NULL) { printf("Host alias: '%s'\n", a); ++i; } return 0; } Wrong output: Host name: 'host1' Host alias: 'alias2' Host alias: 'alias3' Host alias: 'alias4' Host alias: 'alias5' Host alias: '??' Signed-off-by: Leonid Lisovskiy Signed-off-by: Waldemar Brodkorb
Revert "glibc compat: bump glibc minor version" This reverts commit 4a05ed87ceb946608100642121c32e642b58cd0d. This breaks SSP detection for gcc, which might be problematic for some projects. Revert it after some discussion with buildroot and openembedded people.]]>
reduce stack cache size to save memory space Idea from different projects as OpenWrt and others. https://lists.openwrt.org/pipermail/openwrt-devel/2013-November/022299.html https://github.com/wl500g/toolchain/blob/master/toolchain/uClibc/patches/0.9.32/980-stack-cache-maxsize.patch]]>
testsuite subdir fix Signed-off-by: Leonid Lisovskiy]]>Signed-off-by: Waldemar Brodkorb
Add implementation for copysignl for ppc Signed-off-by: Khem Raj]]>
libc/stdlib: canonicalize_file_name() memory leak Uclibc's canonicalize_file_name() is allocating temprary buffer of 4kB (PATH_MAX), and passing it to realpath() as second argument. Function is not checking if realpath() fails and memory is lost.]]>
utlis/ldd: Fix host ldd in case of target wordsize differs from host one improved solution from http://freetz.org/ticket/842 Signed-off-by: Leonid Lisovskiy]]>Signed-off-by: Waldemar Brodkorb
test/tls: tls-macros*.h fixes from glibc glibc commits 4822a2a520 Add x32 support to TLS_LE/TLS_IE/TLS_GD 63fb881a04 tls-macros-mips.h: Load $gp as required. Merge 32-bit and 64-bit versions. Signed-off-by: Leonid Lisovskiy]]>Signed-off-by: Waldemar Brodkorb
dlclose fix Patch is from Timo Teras Refs.: http://lists.uclibc.org/pipermail/uclibc/2012-October/047059.html http://git.alpinelinux.org/cgit/aports/tree/main/libc0.9.32/uclibc-dlclose-fix.patch]]>
Fix syslog messages lost if syslogd is temporary busy Commit 4139fe5aec935ba3f462dcaf6aafb6e5eadf1ab9 fixes SIGSTOPed syslogd issue. but introduced new one - messages will be lost when socket buffer gets full, not only if syslogd is stalled, but even if it accepts message slower than someone sends and possibly leads to security hole, when important messages get lost as result of attacker flooding. Patch adds 1 second waiting for socket buffer can accept the message, helps when syslogd is working hard. If it's stalled/SIGSTOPed, message will be sent to errout as before. After that, further non-blocking /dev/log connect attempts will fail immediately with EAGAIN error until syslogd reads some from it. function old new delta openlog_intern 259 355 +96 static.tv - 8 +8 .rodata 151 159 +8 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 2/0 up/down: 112/0) Total: 112 bytes Signed-off-by: Vladislav Grishenko]]>