From 181c92c2e6832c0955c1d96855d535a7e7e88f5c Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 7 Mar 2003 05:32:16 +0000 Subject: Update. --- nptl/ChangeLog | 7 --- nptl/pthread_attr_setstack.c | 51 ++++++++++++++++++++++ nptl/pthread_attr_setstackaddr.c | 47 ++++++++++++++++++++ nptl/sysdeps/pthread/pthread_attr_setstack.c | 51 ---------------------- nptl/sysdeps/pthread/pthread_attr_setstackaddr.c | 47 -------------------- .../unix/sysv/linux/x86_64/pthread_attr_setstack.c | 31 ------------- .../sysv/linux/x86_64/pthread_attr_setstackaddr.c | 30 ------------- 7 files changed, 98 insertions(+), 166 deletions(-) create mode 100644 nptl/pthread_attr_setstack.c create mode 100644 nptl/pthread_attr_setstackaddr.c delete mode 100644 nptl/sysdeps/pthread/pthread_attr_setstack.c delete mode 100644 nptl/sysdeps/pthread/pthread_attr_setstackaddr.c delete mode 100644 nptl/sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstack.c delete mode 100644 nptl/sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstackaddr.c diff --git a/nptl/ChangeLog b/nptl/ChangeLog index ff0fbefb45..7f4ba2dd9e 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,13 +1,6 @@ 2003-03-04 Ulrich Drepper * sysdeps/unix/sysv/linux/x86_64/Makefile: New file. - * sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstack.c: New file. - * sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstackaddr.c: New file. - - * pthread_attr_setstack.c: Moved to... - * sysdeps/pthread/pthread_attr_setstack.c: ...here. New file. - * pthread_attr_setstackaddr.c: Moved to... - * sysdeps/pthread/pthread_attr_setstackaddr.c: ...here. New file. * pthread_create.c: Define __pthread_keys using nocommon attribute, not by placing it explicitly in bss. diff --git a/nptl/pthread_attr_setstack.c b/nptl/pthread_attr_setstack.c new file mode 100644 index 0000000000..b5105f1fc1 --- /dev/null +++ b/nptl/pthread_attr_setstack.c @@ -0,0 +1,51 @@ +/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 2002. + + 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 +#include +#include +#include "pthreadP.h" + + +int +__pthread_attr_setstack (attr, stackaddr, stacksize) + pthread_attr_t *attr; + void *stackaddr; + size_t stacksize; +{ + struct pthread_attr *iattr; + + assert (sizeof (*attr) >= sizeof (struct pthread_attr)); + iattr = (struct pthread_attr *) attr; + + /* Catch invalid sizes. */ + if (stacksize < PTHREAD_STACK_MIN) + return EINVAL; + +#ifdef EXTRA_PARAM_CHECKS + EXTRA_PARAM_CHECKS; +#endif + + iattr->stacksize = stacksize; + iattr->stackaddr = (char *) stackaddr + stacksize; + iattr->flags |= ATTR_FLAG_STACKADDR; + + return 0; +} +strong_alias (__pthread_attr_setstack, pthread_attr_setstack) diff --git a/nptl/pthread_attr_setstackaddr.c b/nptl/pthread_attr_setstackaddr.c new file mode 100644 index 0000000000..0d7a7c0eb1 --- /dev/null +++ b/nptl/pthread_attr_setstackaddr.c @@ -0,0 +1,47 @@ +/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 2002. + + 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 +#include +#include "pthreadP.h" + + +int +__pthread_attr_setstackaddr (attr, stackaddr) + pthread_attr_t *attr; + void *stackaddr; +{ + struct pthread_attr *iattr; + +#ifdef EXTRA_PARAM_CHECKS + EXTRA_PARAM_CHECKS; +#endif + + assert (sizeof (*attr) >= sizeof (struct pthread_attr)); + iattr = (struct pthread_attr *) attr; + + iattr->stackaddr = stackaddr; + iattr->flags |= ATTR_FLAG_STACKADDR; + + return 0; +} +strong_alias (__pthread_attr_setstackaddr, pthread_attr_setstackaddr) + +link_warning (pthread_attr_setstackaddr, + "the use of `pthread_attr_setstackaddr' is deprecated, use `pthread_attr_setstack'") diff --git a/nptl/sysdeps/pthread/pthread_attr_setstack.c b/nptl/sysdeps/pthread/pthread_attr_setstack.c deleted file mode 100644 index b5105f1fc1..0000000000 --- a/nptl/sysdeps/pthread/pthread_attr_setstack.c +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 2002. - - 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 -#include -#include -#include "pthreadP.h" - - -int -__pthread_attr_setstack (attr, stackaddr, stacksize) - pthread_attr_t *attr; - void *stackaddr; - size_t stacksize; -{ - struct pthread_attr *iattr; - - assert (sizeof (*attr) >= sizeof (struct pthread_attr)); - iattr = (struct pthread_attr *) attr; - - /* Catch invalid sizes. */ - if (stacksize < PTHREAD_STACK_MIN) - return EINVAL; - -#ifdef EXTRA_PARAM_CHECKS - EXTRA_PARAM_CHECKS; -#endif - - iattr->stacksize = stacksize; - iattr->stackaddr = (char *) stackaddr + stacksize; - iattr->flags |= ATTR_FLAG_STACKADDR; - - return 0; -} -strong_alias (__pthread_attr_setstack, pthread_attr_setstack) diff --git a/nptl/sysdeps/pthread/pthread_attr_setstackaddr.c b/nptl/sysdeps/pthread/pthread_attr_setstackaddr.c deleted file mode 100644 index 0d7a7c0eb1..0000000000 --- a/nptl/sysdeps/pthread/pthread_attr_setstackaddr.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 2002. - - 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 -#include -#include "pthreadP.h" - - -int -__pthread_attr_setstackaddr (attr, stackaddr) - pthread_attr_t *attr; - void *stackaddr; -{ - struct pthread_attr *iattr; - -#ifdef EXTRA_PARAM_CHECKS - EXTRA_PARAM_CHECKS; -#endif - - assert (sizeof (*attr) >= sizeof (struct pthread_attr)); - iattr = (struct pthread_attr *) attr; - - iattr->stackaddr = stackaddr; - iattr->flags |= ATTR_FLAG_STACKADDR; - - return 0; -} -strong_alias (__pthread_attr_setstackaddr, pthread_attr_setstackaddr) - -link_warning (pthread_attr_setstackaddr, - "the use of `pthread_attr_setstackaddr' is deprecated, use `pthread_attr_setstack'") diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstack.c b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstack.c deleted file mode 100644 index 7b9f094033..0000000000 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstack.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 2003. - - 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 - -/* For Linux/x86-64 we have one extra requirement: the stack must be - in the first 4GB. Otherwise the segment register base address is - not wide enough. */ -#define EXTRA_PARAM_CHECKS \ - if ((uintptr_t) stackaddr > 0x100000000ul \ - || (uintptr_t) stackaddr + stacksize > 0x100000000ul) \ - /* We cannot handle that stack address. */ \ - return EINVAL - -#include diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstackaddr.c b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstackaddr.c deleted file mode 100644 index e95f7dff11..0000000000 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_attr_setstackaddr.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 2003. - - 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 - -/* For Linux/x86-64 we have one extra requirement: the stack must be - in the first 4GB. Otherwise the segment register base address is - not wide enough. */ -#define EXTRA_PARAM_CHECKS \ - if ((uintptr_t) stackaddr > 0x100000000ul) \ - /* We cannot handle that stack address. */ \ - return EINVAL - -#include -- cgit v1.2.3