aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-10-17 12:10:17 +0000
committerRoland McGrath <roland@gnu.org>2002-10-17 12:10:17 +0000
commit2430d57a13f4f10312e13c58962cd9104e6428fd (patch)
tree6690ca0a7115c798e9c34cf24f55acf14311d661 /linuxthreads
parentd29724f8706e4e46994d6fabafc8389f7624cd0f (diff)
downloadglibc-2430d57a13f4f10312e13c58962cd9104e6428fd.zip
glibc-2430d57a13f4f10312e13c58962cd9104e6428fd.tar.gz
glibc-2430d57a13f4f10312e13c58962cd9104e6428fd.tar.bz2
* elf/dl-load.c (_dl_map_object_from_fd): Don't check DF_STATIC_TLS.
* elf/dl-reloc.c (_dl_relocate_object: CHECK_STATIC_TLS): New macro to signal error if an IE-model TLS reloc resolved to a dlopen'd module. * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela): Call it after performing TPOFF relocs. * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. * elf/dl-conflict.c (CHECK_STATIC_TLS): New macro (no-op). * elf/dl-close.c (remove_slotinfo): Change asserts so as not to crash when closing a partially-initialized object. * elf/dl-load.c (_dl_map_object_from_fd) [! USE_TLS]: Call lose instead of _dl_fatal_printf when we see PT_TLS.
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog6
-rw-r--r--linuxthreads/Makefile3
-rw-r--r--linuxthreads/unload.c6
3 files changed, 11 insertions, 4 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 71b00fa..6b185a0 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,9 @@
+2002-10-17 Roland McGrath <roland@redhat.com>
+
+ * Makefile (unload): Don't link in libpthread.so.
+ ($(objpfx)unload.out): Do depend on it.
+ * unload.c (main): Improve error reporting.
+
2002-10-09 Roland McGrath <roland@redhat.com>
* sysdeps/pthread/bits/libc-lock.h (__libc_maybe_call): New macro.
diff --git a/linuxthreads/Makefile b/linuxthreads/Makefile
index 230c75f..772c691 100644
--- a/linuxthreads/Makefile
+++ b/linuxthreads/Makefile
@@ -98,10 +98,11 @@ $(objpfx)libpthread.so: $(common-objpfx)libc.so \
# Make sure we link with the thread library.
ifeq ($(build-shared),yes)
$(addprefix $(objpfx), \
- $(filter-out $(tests-static), \
+ $(filter-out $(tests-static) unload, \
$(tests) $(test-srcs))): $(objpfx)libpthread.so
$(addprefix $(objpfx),$(librt-tests)): $(common-objpfx)rt/librt.so
$(objpfx)unload: $(common-objpfx)dlfcn/libdl.so
+$(objpfx)unload.out: $(objpfx)libpthread.so
else
$(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a
$(addprefix $(objpfx),$(librt-tests)): $(common-objpfx)rt/librt.a
diff --git a/linuxthreads/unload.c b/linuxthreads/unload.c
index ca94919..234d27f 100644
--- a/linuxthreads/unload.c
+++ b/linuxthreads/unload.c
@@ -1,5 +1,5 @@
/* Tests for non-unloading of libpthread.
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2002 Free Software Foundation, Inc.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2000.
The GNU C Library is free software; you can redistribute it and/or
@@ -29,13 +29,13 @@ main (void)
if (p == NULL)
{
- puts ("failed to load " LIBPTHREAD_SO);
+ printf ("failed to load %s: %s\n", LIBPTHREAD_SO, dlerror ());
exit (1);
}
if (dlclose (p) != 0)
{
- puts ("dlclose (" LIBPTHREAD_SO ") failed");
+ printf ("dlclose (%s) failed: %s\n", LIBPTHREAD_SO, dlerror ());
exit (1);
}