This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, master, updated. glibc-2.12-197-g22cd1c9
- From: drepper at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 25 Oct 2010 00:40:28 -0000
- Subject: GNU C Library master sources branch, master, updated. glibc-2.12-197-g22cd1c9
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 "GNU C Library master sources".
The branch, master has been updated
via 22cd1c9bcf57c5829d65b6da825f7a459d40c9eb (commit)
from 18edac4857531b4b034eef37a07e3b03117de2bf (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 -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=22cd1c9bcf57c5829d65b6da825f7a459d40c9eb
commit 22cd1c9bcf57c5829d65b6da825f7a459d40c9eb
Author: Andreas Schwab <schwab@redhat.com>
Date: Sun Oct 24 20:40:14 2010 -0400
Don't expand DST twice in dl_open
diff --git a/ChangeLog b/ChangeLog
index e162666..f3735a9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-10-18 Andreas Schwab <schwab@redhat.com>
+
+ * elf/dl-open.c (dl_open_worker): Don't expand DST here, let
+ _dl_map_object do it.
+
2010-10-19 Ulrich Drepper <drepper@gmail.com>
* sysdeps/i386/bits/mathdef.h (FP_FAST_FMA): If the GCC 4.6 port has
diff --git a/elf/dl-open.c b/elf/dl-open.c
index 754a263..c394b3f 100644
--- a/elf/dl-open.c
+++ b/elf/dl-open.c
@@ -221,35 +221,6 @@ dl_open_worker (void *a)
assert (_dl_debug_initialize (0, args->nsid)->r_state == RT_CONSISTENT);
- /* Maybe we have to expand a DST. */
- if (__builtin_expect (dst != NULL, 0))
- {
- size_t len = strlen (file);
-
- /* Determine how much space we need. We have to allocate the
- memory locally. */
- size_t required = DL_DST_REQUIRED (call_map, file, len,
- _dl_dst_count (dst, 0));
-
- /* Get space for the new file name. */
- char *new_file = (char *) alloca (required + 1);
-
- /* Generate the new file name. */
- _dl_dst_substitute (call_map, file, new_file, 0);
-
- /* If the substitution failed don't try to load. */
- if (*new_file == '\0')
- _dl_signal_error (0, "dlopen", NULL,
- N_("empty dynamic string token substitution"));
-
- /* Now we have a new file name. */
- file = new_file;
-
- /* It does not matter whether call_map is set even if we
- computed it only because of the DST. Since the path contains
- a slash the value is not used. See dl-load.c. */
- }
-
/* Load the named object. */
struct link_map *new;
args->map = new = _dl_map_object (call_map, file, 0, lt_loaded, 0,
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 5 +++++
elf/dl-open.c | 29 -----------------------------
2 files changed, 5 insertions(+), 29 deletions(-)
hooks/post-receive
--
GNU C Library master sources