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.14-163-g1dc2770
- From: drepper at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 13 Aug 2011 16:48:04 -0000
- Subject: GNU C Library master sources branch, master, updated. glibc-2.14-163-g1dc2770
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 1dc277048c82f5445031b9273114a6a5c505abd8 (commit)
from f9ddf089f124279836930692b9cd7bc807e60088 (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=1dc277048c82f5445031b9273114a6a5c505abd8
commit 1dc277048c82f5445031b9273114a6a5c505abd8
Author: Ulrich Drepper <drepper@gmail.com>
Date: Sat Aug 13 12:47:47 2011 -0400
Fix caller information of NSS modules
diff --git a/ChangeLog b/ChangeLog
index c4abdcc..8d2f204 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2011-08-13 Ulrich Drepper <drepper@gmail.com>
+ * elf/dl-libc.c (do_dlopen_args): Add caller_dlopen.
+ (do_dlopen): Pass caller_dlopen to dl_open.
+ (__libc_dlopen_mode): Initialize caller_dlopen.
+
* intl/l10nflist.c (_nl_normalize_codeset): Make it compile outside
of libc. Make tolower call locale-independent. Optimize a bit by
using isdigit instead of isalnum.
diff --git a/elf/dl-libc.c b/elf/dl-libc.c
index 7be9483..e440d01 100644
--- a/elf/dl-libc.c
+++ b/elf/dl-libc.c
@@ -1,5 +1,6 @@
/* Handle loading and unloading shared objects for internal libc purposes.
- Copyright (C) 1999-2002,2004-2006,2009,2010 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002,2004-2006,2009,2010,2011
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Zack Weinberg <zack@rabi.columbia.edu>, 1999.
@@ -62,6 +63,8 @@ struct do_dlopen_args
const char *name;
/* Opening mode. */
int mode;
+ /* This is the caller of the dlopen() function. */
+ const void *caller_dlopen;
/* Return from do_dlopen. */
struct link_map *map;
@@ -83,8 +86,9 @@ do_dlopen (void *ptr)
{
struct do_dlopen_args *args = (struct do_dlopen_args *) ptr;
/* Open and relocate the shared object. */
- args->map = GLRO(dl_open) (args->name, args->mode, NULL, __LM_ID_CALLER,
- __libc_argc, __libc_argv, __environ);
+ args->map = GLRO(dl_open) (args->name, args->mode, args->caller_dlopen,
+ __LM_ID_CALLER, __libc_argc, __libc_argv,
+ __environ);
}
static void
@@ -153,6 +157,7 @@ __libc_dlopen_mode (const char *name, int mode)
struct do_dlopen_args args;
args.name = name;
args.mode = mode;
+ args.caller_dlopen = RETURN_ADDRESS (0);
#ifdef SHARED
if (__builtin_expect (_dl_open_hook != NULL, 0))
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 4 ++++
elf/dl-libc.c | 11 ++++++++---
2 files changed, 12 insertions(+), 3 deletions(-)
hooks/post-receive
--
GNU C Library master sources