about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--dlfcn/Makefile2
-rw-r--r--elf/Makefile2
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/manager.c4
5 files changed, 15 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index c1181c7924..a5c8f74a27 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+1999-07-09  Andreas Schwab  <schwab@suse.de>
+
+	* elf/Makefile (headers): Remove bits/dlfcn.h and dlfcn.h.
+
+	* dlfcn/Makefile (headers): Add bits/dlfcn.h.
+
 1999-07-09  Ulrich Drepper  <drepper@cygnus.com>
 
 	* hesiod/Versions [GLIBC_2.2]: Add _nss_hesiod_initgroups.
diff --git a/dlfcn/Makefile b/dlfcn/Makefile
index ee8203cf68..7457b5687e 100644
--- a/dlfcn/Makefile
+++ b/dlfcn/Makefile
@@ -17,7 +17,7 @@
 # Boston, MA 02111-1307, USA.
 
 subdir		:= dlfcn
-headers		:= dlfcn.h
+headers		:= bits/dlfcn.h dlfcn.h
 extra-libs	:= libdl
 libdl-routines	:= dlopen dlclose dlsym dlvsym dlerror dladdr
 distribute	:= dlopenold.c
diff --git a/elf/Makefile b/elf/Makefile
index 48012ee0c4..d063a4d007 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -20,7 +20,7 @@
 
 subdir		:= elf
 
-headers		= elf.h bits/elfclass.h bits/dlfcn.h link.h dlfcn.h
+headers		= elf.h bits/elfclass.h link.h
 routines	= $(dl-routines) dl-open dl-close dl-symbol dl-support \
 		  dl-addr enbl-secure dl-profstub dl-origin dl-libc dl-sym
 
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 1e39b001b8..ab97529a83 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+1999-07-09  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c (pthread_handle_create): Free mmap region after stack
+	if clone failed.  Patch by Kaz Kylheku <kaz@ashi.FootPrints.net>.
+
 1999-05-23  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
 
 	* man/pthread_cond_init.man: Correct example.
diff --git a/linuxthreads/manager.c b/linuxthreads/manager.c
index f390aa13e8..f783bb1a13 100644
--- a/linuxthreads/manager.c
+++ b/linuxthreads/manager.c
@@ -379,10 +379,10 @@ static int pthread_handle_create(pthread_t *thread, const pthread_attr_t *attr,
     /* Free the stack if we allocated it */
     if (attr == NULL || !attr->__stackaddr_set)
       {
-	munmap((caddr_t)((char *)(new_thread+1) - INITIAL_STACK_SIZE),
-	       INITIAL_STACK_SIZE);
 	if (new_thread->p_guardsize != 0)
 	  munmap(new_thread->p_guardaddr, new_thread->p_guardsize);
+	munmap((caddr_t)((char *)(new_thread+1) - INITIAL_STACK_SIZE),
+	       INITIAL_STACK_SIZE);
       }
     __pthread_handles[sseg].h_descr = NULL;
     __pthread_handles[sseg].h_bottom = NULL;