diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-11-30 14:21:53 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-11-30 14:21:53 +0000 |
commit | 348ed5157bb4b6ef0e38f18ab8fd8d9910544e6e (patch) | |
tree | 8292846db47f486376760bcbf5f3dc6ef9a260a9 /sysdeps | |
parent | 3f7b3d9b1f5fe48edeaa532355a7fb04a1836fa2 (diff) | |
download | glibc-348ed5157bb4b6ef0e38f18ab8fd8d9910544e6e.tar glibc-348ed5157bb4b6ef0e38f18ab8fd8d9910544e6e.tar.gz glibc-348ed5157bb4b6ef0e38f18ab8fd8d9910544e6e.tar.bz2 glibc-348ed5157bb4b6ef0e38f18ab8fd8d9910544e6e.zip |
Update.
1998-11-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* nscd/nscd_getpw_r.c: Include nscd_proto.h for prototypes.
* sysdeps/generic/errno-loc.c: Include <errno.h> for prototype,
undefine errno to get variable.
* sysdeps/unix/sysv/linux/i386/setfsuid.c: Include <sys/fsuid.h>
instead of <unistd.h> for prototype.
* sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise.
1998-11-30 Ulrich Drepper <drepper@cygnus.com>
* misc/err.h: Correct comments and use protected attribute keywords.
Reported by Joseph Myers <jsm28@cam.ac.uk>.
1998-11-29 Roland McGrath <roland@baalperazim.frob.com>
* malloc/thread-m.h [_LIBC]: Include <bits/libc-tsd.h>, and
remove tsd stuff from pthreads/cthreads libc sections.
Use __libc_tsd_define for MALLOC key.
[_LIBC] (tsd_key_t, tsd_key_create): Define to a zero-size type and a
no-op, respectively.
[_LIBC] (tsd_setspecific, tsd_getspecific): Use __libc_tsd_get/set.
* elf/dl-error.c: Include <bits/libc-tsd.h>.
Use __libc_tsd_define for DL_ERROR key.
(tsd_setspecific, tsd_getspecific): Rewritten using __libc_tsd_get/set.
* sysdeps/mach/hurd/bits/libc-tsd.h: New file.
* sysdeps/generic/bits/libc-tsd.h: New file.
* Makefile (distribute): Add bits/libc-tsd.h.
1998-10-12 Roland McGrath <roland@baalperazim.frob.com>
* elf/dl-error.c: Remove kludge to check for ld.so load address.
There is no need if weak undefined symbols are not used in ld.so;
see linuxthreads/ChangeLog for changes to files
linuxthreads/sysdeps/pthread/bits/libc-lock.h and
linuxthreads/sysdeps/pthread/bits/libc-tsd.h.
1998-11-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/i386/bits/string.h (__memset_cc): Fix typo (s->__s).
* sysdeps/i386/i486/bits/string.h: Add prototypes for all new
inline functions.
* sysdeps/i386/bits/string.h: Likewise.
1998-11-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/alpha/bits/ipc.h: Remove ipc_kludge.
1998-11-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* db2/progs/db_load/db_load.c (main): Avoid -Wparentheses warning.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/bits/libc-tsd.h | 51 | ||||
-rw-r--r-- | sysdeps/generic/errno-loc.c | 5 | ||||
-rw-r--r-- | sysdeps/i386/bits/string.h | 16 | ||||
-rw-r--r-- | sysdeps/i386/i486/bits/string.h | 99 | ||||
-rw-r--r-- | sysdeps/mach/hurd/bits/libc-tsd.h | 37 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/bits/ipc.h | 9 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/setfsgid.c | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/setfsuid.c | 2 |
8 files changed, 207 insertions, 14 deletions
diff --git a/sysdeps/generic/bits/libc-tsd.h b/sysdeps/generic/bits/libc-tsd.h new file mode 100644 index 0000000000..6048d995c8 --- /dev/null +++ b/sysdeps/generic/bits/libc-tsd.h @@ -0,0 +1,51 @@ +/* libc-internal interface for thread-specific data. Stub version. + Copyright (C) 1998 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 + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _BITS_LIBC_TSD_H +#define _BITS_LIBC_TSD_H 1 + +/* This file defines the following macros for accessing a small fixed + set of thread-specific `void *' data used only internally by libc. + + __libc_tsd_define(CLASS, KEY) -- Define or declare a `void *' datum + for KEY. CLASS can be `static' for + keys used in only one source file, + empty for global definitions, or + `extern' for global declarations. + __libc_tsd_get(KEY) -- Return the `void *' datum for KEY. + __libc_tsd_set(KEY, VALUE) -- Set the datum for KEY to VALUE. + + The set of available KEY's will usually be provided as an enum, + and contains (at least): + _LIBC_TSD_KEY_MALLOC + _LIBC_TSD_KEY_DL_ERROR + All uses must be the literal _LIBC_TSD_* name in the __libc_tsd_* macros. + Some implementations may not provide any enum at all and instead + using string pasting in the macros. */ + +/* This is the generic/stub implementation for wholly single-threaded + systems. We don't define an enum for the possible key values, because + the KEYs translate directly into variables by macro magic. */ + +#define __libc_tsd_define(CLASS, KEY) CLASS void *__libc_tsd_##KEY##_data; +#define __libc_tsd_get(KEY) (__libc_tsd_##KEY##_data) +#define __libc_tsd_set(KEY, VALUE) (__libc_tsd_##KEY##_data = (VALUE)) + + +#endif /* bits/libc-tsd.h */ diff --git a/sysdeps/generic/errno-loc.c b/sysdeps/generic/errno-loc.c index 46b9f173d1..43fea06a39 100644 --- a/sysdeps/generic/errno-loc.c +++ b/sysdeps/generic/errno-loc.c @@ -1,6 +1,6 @@ /* MT support function to get address of `errno' variable, non-threaded version. - Copyright (C) 1996 Free Software Foundation, Inc. + Copyright (C) 1996, 1998 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 @@ -18,7 +18,8 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -extern int errno; +#include <errno.h> +#undef errno int * weak_const_function diff --git a/sysdeps/i386/bits/string.h b/sysdeps/i386/bits/string.h index 6885cbb019..016f414a30 100644 --- a/sysdeps/i386/bits/string.h +++ b/sysdeps/i386/bits/string.h @@ -45,6 +45,9 @@ : memcpy (dest, src, n))) /* This looks horribly ugly, but the compiler can optimize it totally, as the count is constant. */ +__STRING_INLINE void *__memcpy_c (void *__dest, __const void *__src, + size_t __n); + __STRING_INLINE void * __memcpy_c (void *__dest, __const void *__src, size_t __n) { @@ -170,6 +173,9 @@ memmove (void *__dest, __const void *__src, size_t __n) : __memset_cg (s, 0x01010101UL * (unsigned char) (c), n))\ : __memset_gg (s, c, n))) +__STRING_INLINE void *__memset_cc (void *__s, unsigned long int __pattern, + size_t __n); + __STRING_INLINE void * __memset_cc (void *__s, unsigned long int __pattern, size_t __n) { @@ -211,7 +217,7 @@ __memset_cc (void *__s, unsigned long int __pattern, size_t __n) return __s; case 2: __COMMON_CODE ("\n\tstosw"); - return s; + return __s; case 3: __COMMON_CODE ("\n\tstosw\n\tstosb"); return __s; @@ -219,6 +225,8 @@ __memset_cc (void *__s, unsigned long int __pattern, size_t __n) #undef __COMMON_CODE } +__STRING_INLINE void *__memset_cg (void *__s, unsigned long __c, size_t __n); + __STRING_INLINE void * __memset_cg (void *__s, unsigned long __c, size_t __n) { @@ -240,6 +248,8 @@ __memset_cg (void *__s, unsigned long __c, size_t __n) return __s; } +__STRING_INLINE void *__memset_gg (void *__s, char __c, size_t __n); + __STRING_INLINE void * __memset_gg (void *__s, char __c, size_t __n) { @@ -455,6 +465,8 @@ strncmp (__const char *__s1, __const char *__s2, size_t __n) ? __strchr_c (s, ((c) & 0xff) << 8) \ : __strchr_g (s, c))) +__STRING_INLINE char *__strchr_g (__const char *__s, int __c); + __STRING_INLINE char * __strchr_g (__const char *__s, int __c) { @@ -478,6 +490,8 @@ __strchr_g (__const char *__s, int __c) return __res - 1; } +__STRING_INLINE char *__strchr_c (__const char *__s, int __c); + __STRING_INLINE char * __strchr_c (__const char *__s, int __c) { diff --git a/sysdeps/i386/i486/bits/string.h b/sysdeps/i386/i486/bits/string.h index 9c4bb525cc..5fe206224c 100644 --- a/sysdeps/i386/i486/bits/string.h +++ b/sysdeps/i386/i486/bits/string.h @@ -59,6 +59,9 @@ ? __memcpy_by2 (dest, src, n) \ : __memcpy_g (dest, src, n)))) +__STRING_INLINE void *__memcpy_by4 (void *__dest, __const void *__src, + size_t __n); + __STRING_INLINE void * __memcpy_by4 (void *__dest, __const void *__src, size_t __n) { @@ -78,6 +81,9 @@ __memcpy_by4 (void *__dest, __const void *__src, size_t __n) return __dest; } +__STRING_INLINE void *__memcpy_by2 (void *__dest, __const void *__src, + size_t __n); + __STRING_INLINE void * __memcpy_by2 (void *__dest, __const void *__src, size_t __n) { @@ -102,7 +108,10 @@ __memcpy_by2 (void *__dest, __const void *__src, size_t __n) return __dest; } -__STRING_INLINE void * +__STRING_INLINE void *__memcpy_g (void *__dest, __const void *__src, + size_t __n); + + __STRING_INLINE void * __memcpy_g (void *__dest, __const void *__src, size_t __n) { register unsigned long int __d0, __d1, __d2; @@ -203,6 +212,8 @@ memcmp (__const void *__s1, __const void *__s2, size_t __n) ? __memset_gc_by2 (s, c, n) \ : __memset_gg (s, c, n)))) +__STRING_INLINE void *__memset_cc_by4 (void *__s, int __c, size_t __n); + __STRING_INLINE void * __memset_cc_by4 (void *__s, int __c, size_t __n) { @@ -220,6 +231,8 @@ __memset_cc_by4 (void *__s, int __c, size_t __n) return __s; } +__STRING_INLINE void *__memset_cc_by2 (void *__s, int __c, size_t __n); + __STRING_INLINE void * __memset_cc_by2 (void *__s, int __c, size_t __n) { @@ -241,6 +254,8 @@ __memset_cc_by2 (void *__s, int __c, size_t __n) return __s; } +__STRING_INLINE void *__memset_gc_by4 (void *__s, int __c, size_t __n); + __STRING_INLINE void * __memset_gc_by4 (void *__s, int __c, size_t __n) { @@ -262,6 +277,8 @@ __memset_gc_by4 (void *__s, int __c, size_t __n) return __s; } +__STRING_INLINE void *__memset_gc_by2 (void *__s, int __c, size_t __n); + __STRING_INLINE void * __memset_gc_by2 (void *__s, int __c, size_t __n) { @@ -287,6 +304,8 @@ __memset_gc_by2 (void *__s, int __c, size_t __n) return __s; } +__STRING_INLINE void *__memset_cg (void *__s, int __c, size_t __n); + __STRING_INLINE void * __memset_cg (void *__s, int __c, size_t __n) { @@ -304,6 +323,8 @@ __memset_cg (void *__s, int __c, size_t __n) return __s; } +__STRING_INLINE void *__memset_gg (void *__s, int __c, size_t __n); + __STRING_INLINE void * __memset_gg (void *__s, int __c, size_t __n) { @@ -362,6 +383,8 @@ memchr (__const void *__s, int __c, size_t __n) (__extension__ (__builtin_constant_p (str) \ ? __builtin_strlen (str) \ : __strlen_g (str))) +__STRING_INLINE size_t __strlen_g (__const char *__str); + __STRING_INLINE size_t __strlen_g (__const char *__str) { @@ -438,6 +461,8 @@ __strlen_g (__const char *__str) } \ (char *) __dest; })) +__STRING_INLINE char *__strcpy_g (char *__dest, __const char *__src); + __STRING_INLINE char * __strcpy_g (char *__dest, __const char *__src) { @@ -530,6 +555,9 @@ __strcpy_g (char *__dest, __const char *__src) } \ (char *) __dest; })) +__STRING_INLINE char *__mempcpy_by4 (char *__dest, __const char *__src, + size_t __srclen); + __STRING_INLINE char * __mempcpy_by4 (char *__dest, __const char *__src, size_t __srclen) { @@ -549,6 +577,9 @@ __mempcpy_by4 (char *__dest, __const char *__src, size_t __srclen) return __tmp; } +__STRING_INLINE char *__mempcpy_by2 (char *__dest, __const char *__src, + size_t __srclen); + __STRING_INLINE char * __mempcpy_by2 (char *__dest, __const char *__src, size_t __srclen) { @@ -573,6 +604,9 @@ __mempcpy_by2 (char *__dest, __const char *__src, size_t __srclen) return __tmp + 2; } +__STRING_INLINE char *__mempcpy_byn (char *__dest, __const char *__src, + size_t __srclen); + __STRING_INLINE char * __mempcpy_byn (char *__dest, __const char *__src, size_t __srclen) { @@ -595,6 +629,8 @@ __mempcpy_byn (char *__dest, __const char *__src, size_t __srclen) return __tmp; } +__STRING_INLINE char *__stpcpy_g (char *__dest, __const char *__src); + __STRING_INLINE char * __stpcpy_g (char *__dest, __const char *__src) { @@ -633,6 +669,9 @@ __stpcpy_g (char *__dest, __const char *__src) ? __strncpy_by2 (dest, src, srclen, n) \ : __strncpy_byn (dest, src, srclen, n))) +__STRING_INLINE char *__strncpy_by4 (char *__dest, __const char __src[], + size_t __srclen, size_t __n); + __STRING_INLINE char * __strncpy_by4 (char *__dest, __const char __src[], size_t __srclen, size_t __n) { @@ -653,6 +692,9 @@ __strncpy_by4 (char *__dest, __const char __src[], size_t __srclen, size_t __n) return __dest; } +__STRING_INLINE char *__strncpy_by2 (char *__dest, __const char __src[], + size_t __srclen, size_t __n); + __STRING_INLINE char * __strncpy_by2 (char *__dest, __const char __src[], size_t __srclen, size_t __n) { @@ -678,6 +720,9 @@ __strncpy_by2 (char *__dest, __const char __src[], size_t __srclen, size_t __n) return __dest; } +__STRING_INLINE char *__strncpy_byn (char *__dest, __const char __src[], + size_t __srclen, size_t __n); + __STRING_INLINE char * __strncpy_byn (char *__dest, __const char __src[], size_t __srclen, size_t __n) { @@ -701,6 +746,9 @@ __strncpy_byn (char *__dest, __const char __src[], size_t __srclen, size_t __n) return __dest; } +__STRING_INLINE char *__strncpy_gg (char *__dest, __const char *__src, + size_t __n); + __STRING_INLINE char * __strncpy_gg (char *__dest, __const char *__src, size_t __n) { @@ -738,6 +786,9 @@ __strncpy_gg (char *__dest, __const char *__src, size_t __n) ? __strcat_c (dest, src, strlen (src) + 1) \ : __strcat_g (dest, src))) +__STRING_INLINE char *__strcat_c (char *__dest, __const char __src[], + size_t __srclen); + __STRING_INLINE char * __strcat_c (char *__dest, __const char __src[], size_t __srclen) { @@ -765,6 +816,8 @@ __strcat_c (char *__dest, __const char __src[], size_t __srclen) return __dest; } +__STRING_INLINE char *__strcat_g (char *__dest, __const char *__src); + __STRING_INLINE char * __strcat_g (char *__dest, __const char *__src) { @@ -800,6 +853,9 @@ __strcat_g (char *__dest, __const char *__src) (__const char *) src, n), __dest)) \ : __strncat_g (__dest, src, n); })) +__STRING_INLINE char *__strncat_g (char *__dest, __const char __src[], + size_t __n); + __STRING_INLINE char * __strncat_g (char *__dest, __const char __src[], size_t __n) { @@ -918,6 +974,8 @@ __strncat_g (char *__dest, __const char __src[], size_t __n) } \ __result; })) +__STRING_INLINE int __strcmp_gg (__const char *__s1, __const char *__s2); + __STRING_INLINE int __strcmp_gg (__const char *__s1, __const char *__s2) { @@ -954,6 +1012,9 @@ __strcmp_gg (__const char *__s1, __const char *__s2) ? strcmp (s1, s2) \ : __strncmp_g (s1, s2, n)))) +__STRING_INLINE int __strncmp_g (__const char *__s1, __const char *__s2, + size_t __n); + __STRING_INLINE int __strncmp_g (__const char *__s1, __const char *__s2, size_t __n) { @@ -991,6 +1052,8 @@ __strncmp_g (__const char *__s1, __const char *__s2, size_t __n) ? __strchr_c (s, ((c) & 0xff) << 8) \ : __strchr_g (s, c))) +__STRING_INLINE char *__strchr_c (__const char *__s, int __c); + __STRING_INLINE char * __strchr_c (__const char *__s, int __c) { @@ -1012,6 +1075,8 @@ __strchr_c (__const char *__s, int __c) return __res; } +__STRING_INLINE char *__strchr_g (__const char *__s, int __c); + __STRING_INLINE char * __strchr_g (__const char *__s, int __c) { @@ -1053,6 +1118,8 @@ __strchr_g (__const char *__s, int __c) : __strrchr_g (s, c))) #ifdef __i686__ +__STRING_INLINE char *__strrchr_c (__const char *__s, int __c); + __STRING_INLINE char * __strrchr_c (__const char *__s, int __c) { @@ -1072,6 +1139,8 @@ __strrchr_c (__const char *__s, int __c) return __res - 1; } +__STRING_INLINE char *__strrchr_g (__const char *__s, int __c); + __STRING_INLINE char * __strrchr_g (__const char *__s, int __c) { @@ -1092,6 +1161,8 @@ __strrchr_g (__const char *__s, int __c) return __res - 1; } #else +__STRING_INLINE char *__strrchr_c (__const char *__s, int __c); + __STRING_INLINE char * __strrchr_c (__const char *__s, int __c) { @@ -1113,6 +1184,8 @@ __strrchr_c (__const char *__s, int __c) return __res; } +__STRING_INLINE char *__strrchr_g (__const char *__s, int __c); + __STRING_INLINE char * __strrchr_g (__const char *__s, int __c) { @@ -1159,6 +1232,8 @@ __strrchr_g (__const char *__s, int __c) : __strcspn_cg (s, reject, strlen (reject)))) \ : __strcspn_g (s, reject))) +__STRING_INLINE size_t __strcspn_c1 (__const char *__s, int __reject); + __STRING_INLINE size_t __strcspn_c1 (__const char *__s, int __reject) { @@ -1179,6 +1254,9 @@ __strcspn_c1 (__const char *__s, int __reject) return (__res - 1) - __s; } +__STRING_INLINE size_t __strcspn_cg (__const char *__s, __const char __reject[], + size_t __reject_len); + __STRING_INLINE size_t __strcspn_cg (__const char *__s, __const char __reject[], size_t __reject_len) { @@ -1201,7 +1279,9 @@ __strcspn_cg (__const char *__s, __const char __reject[], size_t __reject_len) return (__res - 1) - __s; } +__STRING_INLINE size_t __strcspn_g (__const char *__s, __const char *__reject); #ifdef __PIC__ + __STRING_INLINE size_t __strcspn_g (__const char *__s, __const char *__reject) { @@ -1269,6 +1349,8 @@ __strcspn_g (__const char *__s, __const char *__reject) : __strspn_cg (s, accept, strlen (accept)))) \ : __strspn_g (s, accept))) +__STRING_INLINE size_t __strspn_c1 (__const char *__s, int __accept); + __STRING_INLINE size_t __strspn_c1 (__const char *__s, int __accept) { @@ -1287,6 +1369,9 @@ __strspn_c1 (__const char *__s, int __accept) return (__res - 1) - __s; } +__STRING_INLINE size_t __strspn_cg (__const char *__s, __const char __accept[], + size_t __accept_len); + __STRING_INLINE size_t __strspn_cg (__const char *__s, __const char __accept[], size_t __accept_len) { @@ -1309,7 +1394,9 @@ __strspn_cg (__const char *__s, __const char __accept[], size_t __accept_len) return (__res - 1) - __s; } +__STRING_INLINE size_t __strspn_g (__const char *__s, __const char *__accept); #ifdef __PIC__ + __STRING_INLINE size_t __strspn_g (__const char *__s, __const char *__accept) { @@ -1375,6 +1462,9 @@ __strspn_g (__const char *__s, __const char *__accept) : __strpbrk_cg (s, accept, strlen (accept)))) \ : __strpbrk_g (s, accept))) +__STRING_INLINE char *__strpbrk_cg (__const char *__s, __const char __accept[], + size_t __accept_len); + __STRING_INLINE char * __strpbrk_cg (__const char *__s, __const char __accept[], size_t __accept_len) { @@ -1401,7 +1491,9 @@ __strpbrk_cg (__const char *__s, __const char __accept[], size_t __accept_len) return __res; } +__STRING_INLINE char *__strpbrk_g (__const char *__s, __const char *__accept); #ifdef __PIC__ + __STRING_INLINE char * __strpbrk_g (__const char *__s, __const char *__accept) { @@ -1479,6 +1571,9 @@ __strpbrk_g (__const char *__s, __const char *__accept) /* Please note that this function need not handle NEEDLEs with a length shorter than two. */ +__STRING_INLINE char *__strstr_cg (__const char *__haystack, __const char __needle[], + size_t __needle_len); + __STRING_INLINE char * __strstr_cg (__const char *__haystack, __const char __needle[], size_t __needle_len) @@ -1504,7 +1599,9 @@ __strstr_cg (__const char *__haystack, __const char __needle[], return __res; } +__STRING_INLINE char *__strstr_g (__const char *__haystack, __const char *__needle); #ifdef __PIC__ + __STRING_INLINE char * __strstr_g (__const char *__haystack, __const char *__needle) { diff --git a/sysdeps/mach/hurd/bits/libc-tsd.h b/sysdeps/mach/hurd/bits/libc-tsd.h new file mode 100644 index 0000000000..6f074c7d86 --- /dev/null +++ b/sysdeps/mach/hurd/bits/libc-tsd.h @@ -0,0 +1,37 @@ +/* libc-internal interface for thread-specific data. Hurd version. + Copyright (C) 1998 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 + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _BITS_LIBC_TSD_H +#define _BITS_LIBC_TSD_H 1 + +#include <hurd/threadvar.h> + +#define __libc_tsd_define(CLASS, KEY) /* nothing, always have threadvars */ + +#define __libc_tsd_threadvar_location(KEY) \ + ((void **) __hurd_threadvar_location (_HURD_THREADVAR_##KEY)) + +#define __libc_tsd_get(KEY) \ + (*__libc_tsd_threadvar_location (KEY)) + +#define __libc_tsd_set(KEY, VALUE) \ + (*__libc_tsd_threadvar_location (KEY) = (VALUE)) + + +#endif /* bits/libc-tsd.h */ diff --git a/sysdeps/unix/sysv/linux/alpha/bits/ipc.h b/sysdeps/unix/sysv/linux/alpha/bits/ipc.h index ec116f6114..7b644e8b7a 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/ipc.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/ipc.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998 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 @@ -50,13 +50,6 @@ struct ipc_perm }; -/* Kludge to work around Linux' restriction of only up to five - arguments to a system call. */ -struct ipc_kludge - { - void *msgp; - long int msgtyp; - }; __BEGIN_DECLS diff --git a/sysdeps/unix/sysv/linux/i386/setfsgid.c b/sysdeps/unix/sysv/linux/i386/setfsgid.c index 1614431ada..434b19377b 100644 --- a/sysdeps/unix/sysv/linux/i386/setfsgid.c +++ b/sysdeps/unix/sysv/linux/i386/setfsgid.c @@ -17,8 +17,8 @@ Boston, MA 02111-1307, USA. */ #include <errno.h> -#include <unistd.h> #include <sys/types.h> +#include <sys/fsuid.h> #include <sysdep.h> #include <sys/syscall.h> diff --git a/sysdeps/unix/sysv/linux/i386/setfsuid.c b/sysdeps/unix/sysv/linux/i386/setfsuid.c index a2983a5e7a..f3771694a1 100644 --- a/sysdeps/unix/sysv/linux/i386/setfsuid.c +++ b/sysdeps/unix/sysv/linux/i386/setfsuid.c @@ -17,8 +17,8 @@ Boston, MA 02111-1307, USA. */ #include <errno.h> -#include <unistd.h> #include <sys/types.h> +#include <sys/fsuid.h> #include <sysdep.h> #include <sys/syscall.h> |