Move some stuff from pthreaddef.h to kernel-features.h
authorDavid Bartley <dtbartle@maltodextrin.csclub.uwaterloo.ca>
Sat, 6 Sep 2008 18:31:25 +0000 (18:31 +0000)
committerDavid Bartley <dtbartle@maltodextrin.csclub.uwaterloo.ca>
Sat, 6 Sep 2008 18:31:25 +0000 (18:31 +0000)
nptl/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/pthreaddef.h
nptl/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/x86/pthreaddef.h [deleted file]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/kernel-features.h

index 47e52b5..2f7f2f9 100644 (file)
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <ucontext.h>
+#include <sys/isa_defs.h>
+
+/* Get the arch-specific version.  */
+#include_next <pthreaddef.h>
+
 /* Register atfork handlers to protect signal_lock.  */
 extern void sigaction_atfork (void);
 
 /* Register atfork handlers to protect signal_lock.  */
 extern void sigaction_atfork (void);
 
-#include <ucontext.h>
 #define PLATFORM_PTHREAD_INIT                   \
     sigaction_atfork ();                        \
     THREAD_SETMEM (pd, main_thread, 1);         \
 #define PLATFORM_PTHREAD_INIT                   \
     sigaction_atfork ();                        \
     THREAD_SETMEM (pd, main_thread, 1);         \
@@ -55,22 +60,17 @@ extern size_t main_stacksize;
 /* Use pthread scheduler functions in tpp.  */
 #define TPP_PTHREAD_SCHED
 
 /* Use pthread scheduler functions in tpp.  */
 #define TPP_PTHREAD_SCHED
 
-/* pthread_setXid not supported/needed.  */
-#define NO_SETXID_SUPPORT
-
-/* Disable robust list.  */
-#define NO_ROBUST_LIST_SUPPORT
+/* pthread_ is unsigned.  */
+#define FREE_P(descr) ((descr)->tid == (pthread_t)-1)
 
 
-/* Disable futex support.  */
-#define NO_FUTEX_SUPPORT
+/* The first thread has a large (10M) stack so use the arch defaults.  */
+#define PTHREAD_USE_ARCH_STACK_DEFAULT_SIZE
 
 
-/* Make sure SIGCANCEL sanity check compiles.  */
-#define SI_TKILL SI_LWP
-#define __ASSUME_CORRECT_SI_PID
+/* __exit_thread_inline is the same for all architectures.  */
+#include <inline-syscall.h>
 
 
-/* We support tkill.  */
-#undef __NR_tgkill
-#undef __ASSUME_TGKILL
+DECLARE_INLINE_SYSCALL (void, lwp_exit, void);
 
 
-/* pthread_ is unsigned.  */
-#define FREE_P(descr) ((descr)->tid == (pthread_t)-1)
+#undef __exit_thread_inline
+#define __exit_thread_inline(val) \
+    INLINE_SYSCALL (lwp_exit, 0);
diff --git a/nptl/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/x86/pthreaddef.h b/nptl/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/x86/pthreaddef.h
deleted file mode 100644 (file)
index 7511e0e..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright (C) 2002, 2003, 2008 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-   OpenSolaris bits contributed by David Bartley
-    <dtbartle@csclub.uwaterloo.ca>, 2008.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include_next <pthreaddef.h>
-
-/* Default stack size.  */
-#define ARCH_STACK_DEFAULT_SIZE        (2 * 1024 * 1024)
-
-/* Required stack pointer alignment at beginning.  SSE requires 16
-   bytes.  */
-#define STACK_ALIGN            16
-
-/* Minimal stack size after allocating thread descriptor and guard size.  */
-#define MINIMAL_REST_STACK     2048
-
-/* Alignment requirement for TCB.  */
-#define TCB_ALIGNMENT          16
-
-
-/* Location of current stack frame.  */
-#define CURRENT_STACK_FRAME    __builtin_frame_address (0)
-
-
-/* XXX Until we have a better place keep the definitions here.  */
-
-#include <inline-syscall.h>
-
-DECLARE_INLINE_SYSCALL (void, lwp_exit, void);
-
-/* While there is no such syscall.  */
-#define __exit_thread_inline(val) \
-    INLINE_SYSCALL (lwp_exit, 0);
index fe2c2cb..e7134ca 100644 (file)
@@ -1 +1,35 @@
-#define PTHREAD_SIGBASE 230
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+/* pthread_setXid not supported/needed.  */
+#define NO_SETXID_SUPPORT
+
+/* Disable robust list.  */
+#define NO_ROBUST_LIST_SUPPORT
+
+/* Disable futex support.  */
+#define NO_FUTEX_SUPPORT
+
+/* Make sure SIGCANCEL sanity check compiles.  */
+#define SI_TKILL SI_LWP
+#define __ASSUME_CORRECT_SI_PID
+
+/* We support tkill.  */
+#undef __NR_tgkill
+#undef __ASSUME_TGKILL