diff options
author | Ulrich Drepper <drepper@redhat.com> | 2007-03-17 17:09:13 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2007-03-17 17:09:13 +0000 |
commit | 965cba048c978a2841c537383ed3408259c918f3 (patch) | |
tree | e06867399d7e0026645f2a9f69d836629dcc283e /elf | |
parent | b037a293a48718af30d706c2e18c929d0e69a621 (diff) | |
download | glibc-965cba048c978a2841c537383ed3408259c918f3.tar.gz glibc-965cba048c978a2841c537383ed3408259c918f3.tar.xz glibc-965cba048c978a2841c537383ed3408259c918f3.zip |
* elf/dl-open.c (dl_open_worker): Declare l in 2 different cvs/fedora-glibc-20070317T2130
smaller scopes. * elf/dl-dst.h (DL_DST_REQ_STATIC): Add l as macro argument. (DL_DST_REQUIRED): Adjust user. * include/dlfcn.h (struct link_map): New forward decl. * inet/getnameinfo.c: Include stddef.h. (getnameinfo): Use offsetof. * time/tst-mktime2.c (do_test): Don't rely on signed wrap. * stdio-common/vfprintf.c (_itoa): Undef before redefining. * string/strerror_l.c: Include stdlib.h.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/dl-dst.h | 9 | ||||
-rw-r--r-- | elf/dl-open.c | 5 |
2 files changed, 8 insertions, 6 deletions
diff --git a/elf/dl-dst.h b/elf/dl-dst.h index 83d16bdb0e..175b7cd195 100644 --- a/elf/dl-dst.h +++ b/elf/dl-dst.h @@ -1,5 +1,6 @@ /* Handling of dynamic sring tokens. - Copyright (C) 1999,2001,2002,2003,2004,2006 Free Software Foundation, Inc. + Copyright (C) 1999,2001,2002,2003,2004,2006,2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -50,7 +51,7 @@ \ First get the origin string if it is not available yet. \ This can only happen for the map of the executable. */ \ - DL_DST_REQ_STATIC \ + DL_DST_REQ_STATIC (l) \ if ((l)->l_origin == NULL) \ { \ assert ((l)->l_name[0] == '\0'); \ @@ -68,9 +69,9 @@ __len; }) #ifdef SHARED -# define DL_DST_REQ_STATIC /* nothing */ +# define DL_DST_REQ_STATIC(l) /* nothing */ #else -# define DL_DST_REQ_STATIC \ +# define DL_DST_REQ_STATIC(l) \ if ((l) == NULL) \ { \ const char *origin = _dl_get_origin (); \ diff --git a/elf/dl-open.c b/elf/dl-open.c index c997521126..259372178b 100644 --- a/elf/dl-open.c +++ b/elf/dl-open.c @@ -161,7 +161,7 @@ dl_open_worker (void *a) struct dl_open_args *args = a; const char *file = args->file; int mode = args->mode; - struct link_map *new, *l; + struct link_map *new; int lazy; unsigned int i; bool any_tls = false; @@ -186,6 +186,7 @@ dl_open_worker (void *a) By default we assume this is the main application. */ call_map = GL(dl_ns)[LM_ID_BASE]._ns_loaded; + struct link_map *l; for (Lmid_t ns = 0; ns < DL_NNS; ++ns) for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next) if (caller_dlopen >= (const void *) l->l_map_start @@ -325,7 +326,7 @@ dl_open_worker (void *a) /* Relocate the objects loaded. We do this in reverse order so that copy relocs of earlier objects overwrite the data written by later objects. */ - l = new; + struct link_map *l = new; while (l->l_next) l = l->l_next; while (1) |