aboutsummaryrefslogtreecommitdiff
path: root/elf/rtld.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-11-24 23:56:47 +0000
committerRoland McGrath <roland@gnu.org>2002-11-24 23:56:47 +0000
commitbf2cc5fb028fecf8d6b1adffd952f7402f685923 (patch)
tree52589daf3f86896ace602af8803d9b92593ca9d4 /elf/rtld.c
parent13a571a7470a1830736e6a1b1cd46b1553db041c (diff)
downloadglibc-bf2cc5fb028fecf8d6b1adffd952f7402f685923.zip
glibc-bf2cc5fb028fecf8d6b1adffd952f7402f685923.tar.gz
glibc-bf2cc5fb028fecf8d6b1adffd952f7402f685923.tar.bz2
* sysdeps/posix/readv.c: Include <errno.h>, use __set_errno macro.
* sysdeps/posix/writev.c: Likewise. From Momchil Velikov <velco@fadata.bg>. * elf/dl-error.c [! _LIBC_REENTRANT]: Use a static variable instead of calling *GL(dl_error_catch_tsd) for a thread-local location. * elf/rtld.c (startup_error_tsd): Conditionalize on [_LIBC_REENTRANT]. (dl_main): Same for GL(dl_error_catch_tsd) initialization. * elf/dl-tsd.c: Conditionalize contents on [_LIBC_REENTRANT]. * libio/iofflush.c: Add libc_hidden_def. * libio/iofwrite.c: Likewise. * sysdeps/generic/sigtimedwait.c: Likewise. * sysdeps/generic/sigwaitinfo.c: Likewise. * sysdeps/posix/sigwait.c: Likewise. Reported by Momchil Velikov <velco@fadata.bg>. * inet/inet_lnaof.c (inet_lnaof): Change return type to in_addr_t to match <arpa/inet.h> declaration. * inet/inet_netof.c (inet_netof): Likewise. * inet/inet_mkadr.c (inet_makeaddr): Likewise for argument types. Reported by Momchil Velikov <velco@fadata.bg>.
Diffstat (limited to 'elf/rtld.c')
-rw-r--r--elf/rtld.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index 3a64ca7..350cc70 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -560,6 +560,7 @@ match_version (const char *string, struct link_map *map)
return 0;
}
+#ifdef _LIBC_REENTRANT
/* _dl_error_catch_tsd points to this for the single-threaded case.
It's reset by the thread library for multithreaded programs. */
static void ** __attribute__ ((const))
@@ -568,6 +569,7 @@ startup_error_tsd (void)
static void *data;
return &data;
}
+#endif
static const char *library_path; /* The library search path. */
static const char *preloadlist; /* The list preloaded objects. */
@@ -598,8 +600,10 @@ dl_main (const ElfW(Phdr) *phdr,
void *tcbp;
#endif
+#ifdef _LIBC_REENTRANT
/* Explicit initialization since the reloc would just be more work. */
GL(dl_error_catch_tsd) = &startup_error_tsd;
+#endif
/* Process the environment variable which control the behaviour. */
process_envvars (&mode);