about summary refs log tree commit diff
path: root/nptl/init.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2007-06-26 06:47:07 +0000
committerRoland McGrath <roland@gnu.org>2007-06-26 06:47:07 +0000
commit0ecf9c1064e40f02d4b4e693e676c0f113372d57 (patch)
tree8a24f656356b8a207f87aab4674023ea37984134 /nptl/init.c
parenta28876d013accb785592925a13160b6ef7d4fa60 (diff)
downloadglibc-0ecf9c1064e40f02d4b4e693e676c0f113372d57.tar.gz
glibc-0ecf9c1064e40f02d4b4e693e676c0f113372d57.tar.xz
glibc-0ecf9c1064e40f02d4b4e693e676c0f113372d57.zip
2007-05-16 Roland McGrath <roland@redhat.com>
	* init.c (__nptl_initial_report_events): New variable.
	(__pthread_initialize_minimal_internal): Initialize pd->report_events
	to that.
Diffstat (limited to 'nptl/init.c')
-rw-r--r--nptl/init.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/nptl/init.c b/nptl/init.c
index be8359ea21..a1aec6b8f7 100644
--- a/nptl/init.c
+++ b/nptl/init.c
@@ -234,6 +234,9 @@ sighandler_setxid (int sig, siginfo_t *si, void *ctx)
 extern void **__libc_dl_error_tsd (void) __attribute__ ((const));
 
 
+/* This can be set by the debugger before initialization is complete.  */
+static bool __nptl_initial_report_events;
+
 void
 __pthread_initialize_minimal_internal (void)
 {
@@ -297,6 +300,9 @@ __pthread_initialize_minimal_internal (void)
   INIT_LIST_HEAD (&__stack_user);
   list_add (&pd->list, &__stack_user);
 
+  /* Before initializing __stack_user, the debugger could not find us and
+     had to set __nptl_initial_report_events.  Propagate its setting.  */
+  THREAD_SETMEM (pd, report_events, __nptl_initial_report_events);
 
   /* Install the cancellation signal handler.  If for some reason we
      cannot install the handler we do not abort.  Maybe we should, but