aboutsummaryrefslogtreecommitdiff
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
parenta28876d013accb785592925a13160b6ef7d4fa60 (diff)
downloadglibc-0ecf9c1064e40f02d4b4e693e676c0f113372d57.tar
glibc-0ecf9c1064e40f02d4b4e693e676c0f113372d57.tar.gz
glibc-0ecf9c1064e40f02d4b4e693e676c0f113372d57.tar.bz2
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.
-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