diff options
author | Thomas Schwinge <thomas@schwinge.name> | 2011-10-20 17:04:43 +0200 |
---|---|---|
committer | Thomas Schwinge <thomas@schwinge.name> | 2011-10-20 17:07:46 +0200 |
commit | 221b60d8f0cf39511d26e275b3a0e26a4bdc4f15 (patch) | |
tree | 3709e6de0bce10163a85421fc2376fe35863c312 /sysdeps/mach/hurd/ia32/pt-setup.c | |
parent | 33d3344be6ab376cc73f12c8355a262cb3057021 (diff) | |
parent | 1b37ff3740644d3febf6ae6e7f756a8d152a37e6 (diff) |
Merge branch 'tls'
Conflicts:
ChangeLog
Makefile
pthread/pt-exit.c
pthread/pt-internal.h
sysdeps/mach/hurd/ia32/pt-setup.c
sysdeps/mach/hurd/pt-docancel.c
sysdeps/mach/hurd/pt-sysdep.h
Diffstat (limited to 'sysdeps/mach/hurd/ia32/pt-setup.c')
-rw-r--r-- | sysdeps/mach/hurd/ia32/pt-setup.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sysdeps/mach/hurd/ia32/pt-setup.c b/sysdeps/mach/hurd/ia32/pt-setup.c index 7eb223c2..5420dc8e 100644 --- a/sysdeps/mach/hurd/ia32/pt-setup.c +++ b/sysdeps/mach/hurd/ia32/pt-setup.c @@ -1,5 +1,5 @@ /* Setup thread stack. Hurd/i386 version. - Copyright (C) 2000, 2002, 2005, 2008 Free Software Foundation, Inc. + Copyright (C) 2000, 2002, 2005, 2007, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -91,12 +91,15 @@ __pthread_setup (struct __pthread *thread, thread->mcontext.pc = entry_point; thread->mcontext.sp = stack_setup (thread, start_routine, arg); + thread->tcb->self = thread->kernel_thread; + ktid = __mach_thread_self (); if (thread->kernel_thread != ktid) { - err = __thread_set_pcsp (thread->kernel_thread, + err = __thread_set_pcsptp (thread->kernel_thread, 1, thread->mcontext.pc, - 1, thread->mcontext.sp); + 1, thread->mcontext.sp, + 1, thread->tcb); assert_perror (err); } __mach_port_deallocate (__mach_task_self (), ktid); |