As recently reported on the Buildroot list:
http://lists.busybox.net/pipermail/buildroot/2016-March/155325.html
DNS lookups with Node.js currently fails on uClibc-ng. The reason for this
is the way AI_V4MAPPED is handled. According to POSIX, AI_V4MAPPED should
be ignored unless ai_family is AF_INET6:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/freeaddrinfo.html
If the AI_V4MAPPED flag is specified along with an ai_family of AF_INET6,
then getaddrinfo() shall return IPv4-mapped IPv6 addresses on finding no
matching IPv6 addresses (ai_addrlen shall be 16). The AI_V4MAPPED flag
shall be ignored unless ai_family equals AF_INET6.
uClibc-ng was also handling AI_V4MAPPED for AF_UNSPEC, fix that.
Signed-off-by: Peter Korsgaard <peter(a)korsgaard.com>
---
libc/inet/getaddrinfo.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/libc/inet/getaddrinfo.c b/libc/inet/getaddrinfo.c
index 090d7e9..7ae32be 100644
--- a/libc/inet/getaddrinfo.c
+++ b/libc/inet/getaddrinfo.c
@@ -404,8 +404,7 @@ gaih_inet(const char *name, const struct gaih_service *service,
struct gaih_servtuple *st;
struct gaih_addrtuple *at;
int rc;
- int v4mapped = (req->ai_family == PF_UNSPEC || req->ai_family == PF_INET6)
- && (req->ai_flags & AI_V4MAPPED);
+ int v4mapped = req->ai_family == PF_INET6 && (req->ai_flags & AI_V4MAPPED);
unsigned seen = 0;
if (req->ai_flags & AI_ADDRCONFIG) {
/* "seen" is only used when AI_ADDRCONFIG is specified.
--
2.7.0
Hi,
I cut down a new release today.
I've made some changes to the infrastructure of the project:
- Updated the project server to Debian/jessie
- Added a Github mirror: https://github.com/wbx-github/uclibc-ng
- All domains are available via SSL with letsencrypt certs
- All domains are reachable via IPv6
- Release files and GIT tags are signed with my GnuPG key
http://www.waldemar-brodkorb.de/wbx.asc
Thanks you very much for all contributions and bug reports.
Release includes following changes:
Anton Kolesov (2):
Advertise obstack only when chosen
ARC: Disable obstack
Max Filippov (2):
xtensa: fix stack unwinding over __default_sa_restorer
arm: fix __JMP_BUF_SP definition
Peter Korsgaard (1):
getaddrinfo: correct AI_V4MAPPED handling
Thomas Claveirole (1):
include/netdb.h: Do not define IDN-related flags.
Tim Hockin (2):
DNS: don't count search-path miss as a retry
DNS: Don't apply search domains to PTR lookups
Ubaldo Porcheddu (2):
Replaced any occurence of /bin/sh with _PATH_BSHELL to allow
easier portability on system with default shell on a different
directory, like for instance on android.
Replace /etc/resolv.conf with _PATH_RESCONF to allow
portability of the code on system where resolv.conf is not in /etc .
Waldemar Brodkorb (14):
mips: fix build if threads are disabled
frv: resurrect port somehow, totally untested
libm: add ULPS for cris architecture
refresh xtensa ulps file
increase timeouts to successfully run on slower hardware/emulation, f.e. xtensa
libm: remove dead code
mark a.out support as not available
test: update ulps file for ARM
test: update ulps for SPARC
mips64: with n64 ABI mapping failed
arm: allow to build with DODEBUG=y
ia64: disable atomic tests
ia64: sync with glibc headers
bump version for release
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The annotated tag, v1.0.13 has been created
at 39682543be42da453ffa6dbf1106d91cdd0d438a (tag)
tagging 50a5c1c36f39b3d0feffcbdf20d906508c545ffe (commit)
replaces v1.0.12
tagged by Waldemar Brodkorb
on Sun Mar 13 22:48:50 2016 +0100
- Log -----------------------------------------------------------------
release 1.0.13 - Chimay Doree
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org
iQIcBAABCAAGBQJW5eBCAAoJEMEz+QKmmH5i+vEP/i3uzsI9DK9EERiCpLyYBJDm
0088JpAC+cGAyKrTYHwp/PPhutfZjmrQm86mftlk9/G09ZaxMhzottjXLXjKy+Xu
3OsainxP3H7ISUE246WKyU88RV4k8y4zd/Dnn6PjpxQOD7BKKUSDddEWrN5ZP10E
2yiVcyEeiBHpHYHZZeI51FaP9IGSQTRugTNLmD/HDOhrk6Y9snsN3okwNWeHgYD3
5UC57NE6we8H2ioZsEvRmzFDLP4AYmpVqXjV2/JBH751sYdCf4BGSyxDN0asQ/Lk
P01pQKNOB0hFvxjzG52lR1TYotmmkRR5vz5w0EU77qXHnjp2QRbZ0tsf0AikhHpj
PTzk0o7yD73+rZHJD0rPUIc6v6Zwwif8FFRYWm0vwWJnyCaAIGlKiIZ70t4cz61O
okahzGI5J4xNMIZGT6gPLO0pPsy/kh6CHYGnn6qxR6yFzrJA4IQLRDmibAxSphPr
7QAVOrjv9HnZ7esHzyBwePBHmTTBKvmcLLEANEvFW5tngfIJvjmAyHLKT2M5052K
NRuVgVeTL3Mh0xI/ByvNHiT4Xgciq6ISLGVRDW4xyc4KG0FtzjlX5GSb27Q5l8RL
B/3/wu2LZ5ykv/OHHskK4fLWQD04l+p9oipeEWSmPcfrhx71/IPX/wL/OrsWG5Ac
lP5xYbDe5Ev+qYig+2sb
=DnIi
-----END PGP SIGNATURE-----
Anton Kolesov (2):
Advertise obstack only when chosen
ARC: Disable obstack
Max Filippov (2):
xtensa: fix stack unwinding over __default_sa_restorer
arm: fix __JMP_BUF_SP definition
Peter Korsgaard (1):
getaddrinfo: correct AI_V4MAPPED handling
Thomas Claveirole (1):
include/netdb.h: Do not define IDN-related flags.
Tim Hockin (2):
DNS: don't count search-path miss as a retry
DNS: Don't apply search domains to PTR lookups
Ubaldo Porcheddu (2):
Replaced any occurence of /bin/sh with _PATH_BSHELL to allow easier portability on system with default shell on a different directory, like for instance on android.
Replace /etc/resolv.conf with _PATH_RESCONF to allow portability of the code on system where resolv.conf is not in /etc .
Waldemar Brodkorb (14):
mips: fix build if threads are disabled
frv: resurrect port somehow, totally untested
libm: add ULPS for cris architecture
refresh xtensa ulps file
increase timeouts to successfully run on slower hardware/emulation, f.e. xtensa
libm: remove dead code
mark a.out support as not available
test: update ulps file for ARM
test: update ulps for SPARC
mips64: with n64 ABI mapping failed
arm: allow to build with DODEBUG=y
ia64: disable atomic tests
ia64: sync with glibc headers
bump version for release
-----------------------------------------------------------------------
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 50a5c1c36f39b3d0feffcbdf20d906508c545ffe (commit)
from 3c1457161e5206c2d576ab25d350a139511c096d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 50a5c1c36f39b3d0feffcbdf20d906508c545ffe
Author: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Date: Sun Mar 13 22:33:41 2016 +0100
bump version for release
-----------------------------------------------------------------------
Summary of changes:
Rules.mak | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Rules.mak b/Rules.mak
index b1cecec..fc53ad1 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -126,7 +126,7 @@ export RUNTIME_PREFIX DEVEL_PREFIX KERNEL_HEADERS MULTILIB_DIR
# Now config hard core
MAJOR_VERSION := 1
MINOR_VERSION := 0
-SUBLEVEL := 12
+SUBLEVEL := 13
EXTRAVERSION :=
VERSION := $(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL)
ABI_VERSION := $(MAJOR_VERSION)
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 3c1457161e5206c2d576ab25d350a139511c096d (commit)
via 8c85b44f6ab42561207365f19b9d1fd69d960771 (commit)
via 2ac8348609b63d6f3a87cb27ce17deff889c6a73 (commit)
from 3c67c044f93b452aa483eb1246195ebb4443cb44 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 3c1457161e5206c2d576ab25d350a139511c096d
Author: Peter Korsgaard <peter(a)korsgaard.com>
Date: Wed Mar 9 22:49:07 2016 +0100
getaddrinfo: correct AI_V4MAPPED handling
As recently reported on the Buildroot list:
http://lists.busybox.net/pipermail/buildroot/2016-March/155325.html
DNS lookups with Node.js currently fails on uClibc-ng. The reason for this
is the way AI_V4MAPPED is handled. According to POSIX, AI_V4MAPPED should
be ignored unless ai_family is AF_INET6:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/freeaddrinfo.html
If the AI_V4MAPPED flag is specified along with an ai_family of AF_INET6,
then getaddrinfo() shall return IPv4-mapped IPv6 addresses on finding no
matching IPv6 addresses (ai_addrlen shall be 16). The AI_V4MAPPED flag
shall be ignored unless ai_family equals AF_INET6.
uClibc-ng was also handling AI_V4MAPPED for AF_UNSPEC, fix that.
Signed-off-by: Peter Korsgaard <peter(a)korsgaard.com>
commit 8c85b44f6ab42561207365f19b9d1fd69d960771
Author: Tim Hockin <thockin(a)google.com>
Date: Wed Mar 9 22:12:23 2016 +0100
DNS: Don't apply search domains to PTR lookups
This lessens the load on upstream DNS servers (and it was just nonsensical).
Signed-off-by: Tim Hockin <thockin(a)google.com>
commit 2ac8348609b63d6f3a87cb27ce17deff889c6a73
Author: Tim Hockin <thockin(a)google.com>
Date: Wed Mar 9 21:48:32 2016 +0100
DNS: don't count search-path miss as a retry
Currently a miss on a search-path entry is counted as a retry. This means that
users with more than (num_nameservers * retries) entries in their search path
list fail before trying all search paths. Concretely, a single nameserver with
4 search paths will never try the 4th search because the default retry is 3.
The code doesn't currently retry a given nameserver in case of an error, so
retries is sort of meaningless (though there are some comments indicating it
might come). This change only treats total failure of a nameserver (try next
server) as a retry.
Signed-off-by: Tim Hockin <thockin(a)google.com>
-----------------------------------------------------------------------
Summary of changes:
libc/inet/getaddrinfo.c | 3 +--
libc/inet/resolv.c | 8 +++++---
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/libc/inet/getaddrinfo.c b/libc/inet/getaddrinfo.c
index 090d7e9..7ae32be 100644
--- a/libc/inet/getaddrinfo.c
+++ b/libc/inet/getaddrinfo.c
@@ -404,8 +404,7 @@ gaih_inet(const char *name, const struct gaih_service *service,
struct gaih_servtuple *st;
struct gaih_addrtuple *at;
int rc;
- int v4mapped = (req->ai_family == PF_UNSPEC || req->ai_family == PF_INET6)
- && (req->ai_flags & AI_V4MAPPED);
+ int v4mapped = req->ai_family == PF_INET6 && (req->ai_flags & AI_V4MAPPED);
unsigned seen = 0;
if (req->ai_flags & AI_ADDRCONFIG) {
/* "seen" is only used when AI_ADDRCONFIG is specified.
diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c
index 4b33896..f378c9b 100644
--- a/libc/inet/resolv.c
+++ b/libc/inet/resolv.c
@@ -1264,7 +1264,7 @@ int __dns_lookup(const char *name,
int variant = -1; /* search domain to append, -1: none */
int local_ns_num = -1; /* Nth server to use */
int local_id = local_id; /* for compiler */
- int sdomains;
+ int sdomains = 0;
bool ends_with_dot;
sockaddr46_t sa;
@@ -1302,7 +1302,9 @@ int __dns_lookup(const char *name,
* or do other Really Bad Things. */
__UCLIBC_MUTEX_LOCK(__resolv_lock);
__open_nameservers();
- sdomains = __searchdomains;
+ if (type != T_PTR) {
+ sdomains = __searchdomains;
+ }
lookup[name_len] = '\0';
if ((unsigned)variant < sdomains) {
/* lookup is name_len + 1 + MAXLEN_searchdomain + 1 long */
@@ -1320,7 +1322,6 @@ int __dns_lookup(const char *name,
local_ns_num = last_ns_num;
retries_left = __nameservers * __resolv_attempts;
}
- retries_left--;
if (local_ns_num >= __nameservers)
local_ns_num = 0;
local_id++;
@@ -1572,6 +1573,7 @@ int __dns_lookup(const char *name,
try_next_server:
/* Try next nameserver */
+ retries_left--;
local_ns_num++;
variant = -1;
} while (retries_left > 0);
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 3c67c044f93b452aa483eb1246195ebb4443cb44 (commit)
via fbb7168a0109ec23662953625d38de09d2642d77 (commit)
from a8187cd20769fd1a4dddbb51d86363eb80b40b9d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 3c67c044f93b452aa483eb1246195ebb4443cb44
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Thu Mar 10 21:49:36 2016 +0100
ia64: sync with glibc headers
commit fbb7168a0109ec23662953625d38de09d2642d77
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Thu Mar 10 21:49:19 2016 +0100
ia64: disable atomic tests
-----------------------------------------------------------------------
Summary of changes:
libc/sysdeps/linux/ia64/bits/sigcontext.h | 2 ++
libc/sysdeps/linux/ia64/sys/ucontext.h | 2 +-
test/silly/Makefile.in | 4 ++++
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/libc/sysdeps/linux/ia64/bits/sigcontext.h b/libc/sysdeps/linux/ia64/bits/sigcontext.h
index 97410db..6c2b521 100644
--- a/libc/sysdeps/linux/ia64/bits/sigcontext.h
+++ b/libc/sysdeps/linux/ia64/bits/sigcontext.h
@@ -24,6 +24,8 @@
#ifndef _BITS_SIGCONTEXT_H
#define _BITS_SIGCONTEXT_H 1
+#define __need_size_t
+#include <stddef.h>
#include <bits/sigstack.h>
struct ia64_fpreg
diff --git a/libc/sysdeps/linux/ia64/sys/ucontext.h b/libc/sysdeps/linux/ia64/sys/ucontext.h
index 8525007..ef56567 100644
--- a/libc/sysdeps/linux/ia64/sys/ucontext.h
+++ b/libc/sysdeps/linux/ia64/sys/ucontext.h
@@ -31,7 +31,7 @@
typedef struct sigcontext mcontext_t;
-#if defined __cplusplus && __GNUC_PREREQ (3, 5)
+#if __GNUC_PREREQ (3, 5)
# define _SC_GR0_OFFSET \
__builtin_offsetof (struct sigcontext, sc_gr[0])
#elif defined __GNUC__
diff --git a/test/silly/Makefile.in b/test/silly/Makefile.in
index 4f35368..c477344 100644
--- a/test/silly/Makefile.in
+++ b/test/silly/Makefile.in
@@ -4,6 +4,10 @@
RET_hello := 42
RET_tiny := 42
+ifeq ($(TARGET_ARCH),ia64)
+TESTS_DISABLED += tst-atomic tst-atomic-long
+endif
+
ifeq ($(TARGET_ARCH),mips)
TESTS_DISABLED += tst-atomic tst-atomic-long
endif
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
This seems wrong to me. The simplest answer seems to be a flag to
__dns_lookup() indicating whether or not to allow search paths. Is
that an acceptable change, or is there something better to do?
__JMP_BUF_SP is the index of a stack pointer slot in the __jmp_buf.
According to ARM __sigsetjmp code it does not depend on configuration
parameter __UCLIBC_HAS_FPU__. Make its definition unconditional.
__JMP_BUF_SP is used in the unwind_stop through the
_JMPBUF_CFA_UNWINDS_ADJ macro, this change fixes cleanup routines call
on thread cancellation in configurations with hard FP.
Signed-off-by: Max Filippov <jcmvbkbc(a)gmail.com>
---
libc/sysdeps/linux/arm/jmpbuf-offsets.h | 4 ----
1 file changed, 4 deletions(-)
diff --git a/libc/sysdeps/linux/arm/jmpbuf-offsets.h b/libc/sysdeps/linux/arm/jmpbuf-offsets.h
index f0e587f..93b50af 100644
--- a/libc/sysdeps/linux/arm/jmpbuf-offsets.h
+++ b/libc/sysdeps/linux/arm/jmpbuf-offsets.h
@@ -16,8 +16,4 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifdef __UCLIBC_HAS_FPU__
-#define __JMP_BUF_SP 20
-#else
#define __JMP_BUF_SP 8
-#endif
--
2.1.4
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via a8187cd20769fd1a4dddbb51d86363eb80b40b9d (commit)
from c8d441345fb301e6f5aa828f217d377dbc4f252b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit a8187cd20769fd1a4dddbb51d86363eb80b40b9d
Author: Max Filippov <jcmvbkbc(a)gmail.com>
Date: Sun Feb 28 22:46:11 2016 +0300
arm: fix __JMP_BUF_SP definition
__JMP_BUF_SP is the index of a stack pointer slot in the __jmp_buf.
According to ARM __sigsetjmp code it does not depend on configuration
parameter __UCLIBC_HAS_FPU__. Make its definition unconditional.
__JMP_BUF_SP is used in the unwind_stop through the
_JMPBUF_CFA_UNWINDS_ADJ macro, this change fixes cleanup routines call
on thread cancellation in configurations with hard FP.
Signed-off-by: Max Filippov <jcmvbkbc(a)gmail.com>
-----------------------------------------------------------------------
Summary of changes:
libc/sysdeps/linux/arm/jmpbuf-offsets.h | 4 ----
1 file changed, 4 deletions(-)
diff --git a/libc/sysdeps/linux/arm/jmpbuf-offsets.h b/libc/sysdeps/linux/arm/jmpbuf-offsets.h
index f0e587f..93b50af 100644
--- a/libc/sysdeps/linux/arm/jmpbuf-offsets.h
+++ b/libc/sysdeps/linux/arm/jmpbuf-offsets.h
@@ -16,8 +16,4 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifdef __UCLIBC_HAS_FPU__
-#define __JMP_BUF_SP 20
-#else
#define __JMP_BUF_SP 8
-#endif
hooks/post-receive
--
uClibc-ng - small C library for embedded systems