From 2430d57a13f4f10312e13c58962cd9104e6428fd Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 17 Oct 2002 12:10:17 +0000 Subject: * 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. --- linuxthreads/ChangeLog | 6 ++++++ linuxthreads/Makefile | 3 ++- linuxthreads/unload.c | 6 +++--- 3 files changed, 11 insertions(+), 4 deletions(-) (limited to 'linuxthreads') diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 71b00fa253..6b185a02e8 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,9 @@ +2002-10-17 Roland McGrath + + * 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 * sysdeps/pthread/bits/libc-lock.h (__libc_maybe_call): New macro. diff --git a/linuxthreads/Makefile b/linuxthreads/Makefile index 230c75f4f6..772c691475 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 ca949196b4..234d27f904 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 , 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); } -- cgit v1.2.3