summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--elf/dl-open.c3
-rw-r--r--fedora/branch.mk4
-rw-r--r--fedora/glibc.spec.in6
-rw-r--r--resolv/res_send.c4
5 files changed, 22 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 37ee696fda..bbe8284c45 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2009-04-16 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/dl-open.c (_dl_open): Bump GL(dl_nns) to 1 if no libraries
+ are dlopened in statically linked program even for __LM_ID_CALLER.
+
+2009-04-16 Ulrich Drepper <drepper@redhat.com>
+
+ * resolv/res_send.c (send_dg): Don't switch into single-request
+ mode if we already are in it.
+
2009-04-15 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/getsysstats.c (next_line): Make sure there
diff --git a/elf/dl-open.c b/elf/dl-open.c
index 3799669cee..458cf0cd13 100644
--- a/elf/dl-open.c
+++ b/elf/dl-open.c
@@ -580,7 +580,8 @@ no more namespaces available for dlmopen()"));
_dl_signal_error (EINVAL, file, NULL,
N_("invalid target namespace in dlmopen()"));
#ifndef SHARED
- else if (nsid == LM_ID_BASE && GL(dl_ns)[LM_ID_BASE]._ns_loaded == NULL
+ else if ((nsid == LM_ID_BASE || nsid == __LM_ID_CALLER)
+ && GL(dl_ns)[LM_ID_BASE]._ns_loaded == NULL
&& GL(dl_nns) == 0)
GL(dl_nns) = 1;
#endif
diff --git a/fedora/branch.mk b/fedora/branch.mk
index d8505286dd..253166a762 100644
--- a/fedora/branch.mk
+++ b/fedora/branch.mk
@@ -3,5 +3,5 @@ glibc-branch := fedora
glibc-base := HEAD
DIST_BRANCH := devel
COLLECTION := dist-f8
-fedora-sync-date := 2009-04-16 06:10 UTC
-fedora-sync-tag := fedora-glibc-20090416T0610
+fedora-sync-date := 2009-04-16 16:10 UTC
+fedora-sync-tag := fedora-glibc-20090416T1610
diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in
index 93e24c9240..85bcd04cc6 100644
--- a/fedora/glibc.spec.in
+++ b/fedora/glibc.spec.in
@@ -19,7 +19,7 @@
Summary: The GNU libc libraries
Name: glibc
Version: @glibcversion@
-Release: 18
+Release: 19
# GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
# Things that are linked directly into dynamically linked programs
# and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
@@ -1009,6 +1009,10 @@ rm -f *.filelist*
%endif
%changelog
+* Thu Apr 16 2009 Jakub Jelinek <jakub@redhat.com> 2.9.90-19
+- update from trunk
+ - fix dlopen from statically linked binaries (#495830)
+
* Thu Apr 16 2009 Jakub Jelinek <jakub@redhat.com> 2.9.90-18
- update from trunk
- fix fallocate
diff --git a/resolv/res_send.c b/resolv/res_send.c
index 0490b52fca..a339c2be51 100644
--- a/resolv/res_send.c
+++ b/resolv/res_send.c
@@ -1048,7 +1048,9 @@ send_dg(res_state statp,
}
if (n == 0) {
Dprint(statp->options & RES_DEBUG, (stdout, ";; timeout\n"));
- if (resplen > 1 && (recvresp1 || (buf2 != NULL && recvresp2)))
+ if (!single_request
+ && resplen > 1
+ && (recvresp1 || (buf2 != NULL && recvresp2)))
{
/* There are quite a few broken name servers out
there which don't handle two outstanding