diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-09-25 03:04:41 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-09-25 03:04:41 +0000 |
commit | 61423e13e519c41c49adcdd8d1259a8213a5fded (patch) | |
tree | ad0accd2407bf0d15e276e1d72caf5132a794177 /sysdeps | |
parent | 8db6604d862909a10643e051f73795cbdaa1a8d5 (diff) | |
download | glibc-61423e13e519c41c49adcdd8d1259a8213a5fded.zip glibc-61423e13e519c41c49adcdd8d1259a8213a5fded.tar.gz glibc-61423e13e519c41c49adcdd8d1259a8213a5fded.tar.bz2 |
Update.
* sysdeps/unix/sysv/linux/ulimit.c (__ulimit): Handle overflow in
UL_SETFSIZE computations better.
* string/Versions: Export __strsep for GLIBC_2.2.5.
* string/bits/string2.h: Define all __STRING_INLINE functions if
_FORCE_INLINES is defined.
Use int instead of char of parameter types.
(__strsep): Don't use __strsep_g. Don't define it.
(__strsep_1c, __strsep_2c, __strsep_3c): Optimize.
* sysdeps/i386/i486/string.h (__strcpy_a_small): Renamed from
__strcpy_small.
(__stpcpy_a_small): Renamed from __stpcpy_small.
(__strcspn_c1): Don't define if _FORCE_INLINES.
(__strspn_c1): Likewise.
2001-09-22 Ben Collins <bcollins@debian.org>
* sysdeps/sparc/bits/sigaction.h: Define SA_RESTART and friends when
_UNIX98_SOURCE is defined too. Matches generic/bits/sigaction.h.
* sysdeps/ia64/bits/sigaction.h: Likewise.
* sysdeps/s390/s390-64/bits/sigaction.h: Likewise.
2001-09-24 Andrew Haley <aph@cambridge.redhat.com>
* sysdeps/unix/sysv/linux/sh/Makefile (sysdep_headers): Add sys/io.h.
2001-09-24 Jakub Jelinek <jakub@redhat.com>
* elf/dl-open.c (dl_open_worker): Update l_scope_max.
2001-09-24 Ulrich Drepper <drepper@redhat.com>
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/i386/i486/bits/string.h | 12 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/bits/sigaction.h | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sh/Makefile | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/bits/sigaction.h | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ulimit.c | 14 |
6 files changed, 23 insertions, 10 deletions
diff --git a/sysdeps/i386/i486/bits/string.h b/sysdeps/i386/i486/bits/string.h index 07757ec..d1c8d8a 100644 --- a/sysdeps/i386/i486/bits/string.h +++ b/sysdeps/i386/i486/bits/string.h @@ -545,13 +545,13 @@ __strlen_g (__const char *__str) #define strcpy(dest, src) \ (__extension__ (__builtin_constant_p (src) \ ? (sizeof ((src)[0]) == 1 && strlen (src) + 1 <= 8 \ - ? __strcpy_small (dest, src, strlen (src) + 1) \ + ? __strcpy_a_small (dest, src, strlen (src) + 1) \ : (char *) memcpy ((char *) dest, \ (__const char *) src, \ strlen (src) + 1)) \ : __strcpy_g (dest, src))) -#define __strcpy_small(dest, src, srclen) \ +#define __strcpy_a_small(dest, src, srclen) \ (__extension__ ({ char *__dest = (dest); \ union { \ unsigned int __ui; \ @@ -629,7 +629,7 @@ __strcpy_g (char *__dest, __const char *__src) # define __stpcpy(dest, src) \ (__extension__ (__builtin_constant_p (src) \ ? (strlen (src) + 1 <= 8 \ - ? __stpcpy_small (dest, src, strlen (src) + 1) \ + ? __stpcpy_a_small (dest, src, strlen (src) + 1) \ : __stpcpy_c (dest, src, strlen (src) + 1)) \ : __stpcpy_g (dest, src))) # define __stpcpy_c(dest, src, srclen) \ @@ -642,7 +642,7 @@ __strcpy_g (char *__dest, __const char *__src) /* In glibc itself we use this symbol for namespace reasons. */ # define stpcpy(dest, src) __stpcpy (dest, src) -# define __stpcpy_small(dest, src, srclen) \ +# define __stpcpy_a_small(dest, src, srclen) \ (__extension__ ({ union { \ unsigned int __ui; \ unsigned short int __usi; \ @@ -1441,6 +1441,7 @@ __strrchr_g (__const char *__s, int __c) __STRING_INLINE size_t __strcspn_c1 (__const char *__s, int __reject); +#ifndef _FORCE_INLINES __STRING_INLINE size_t __strcspn_c1 (__const char *__s, int __reject) { @@ -1460,6 +1461,7 @@ __strcspn_c1 (__const char *__s, int __reject) : "cc"); return (__res - 1) - __s; } +#endif __STRING_INLINE size_t __strcspn_cg (__const char *__s, __const char __reject[], size_t __reject_len); @@ -1556,6 +1558,7 @@ __strcspn_g (__const char *__s, __const char *__reject) : __strspn_cg (s, accept, strlen (accept)))) \ : __strspn_g (s, accept))) +#ifndef _FORCE_INLINES __STRING_INLINE size_t __strspn_c1 (__const char *__s, int __accept); __STRING_INLINE size_t @@ -1575,6 +1578,7 @@ __strspn_c1 (__const char *__s, int __accept) : "cc"); return (__res - 1) - __s; } +#endif __STRING_INLINE size_t __strspn_cg (__const char *__s, __const char __accept[], size_t __accept_len); diff --git a/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h b/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h index 9b1aafb..c34fcc4 100644 --- a/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h +++ b/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h @@ -50,7 +50,7 @@ struct sigaction /* Bits in `sa_flags'. */ #define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */ #define SA_SIGINFO 0x00000004 -#ifdef __USE_MISC +#if defined __USE_UNIX98 || defined __USE_MISC # define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */ # define SA_RESTART 0x10000000 /* Restart syscall on signal return. */ # define SA_NODEFER 0x40000000 /* Don't automatically block the signal diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h b/sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h index 43738b2..38af8d8 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h +++ b/sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h @@ -53,7 +53,7 @@ struct sigaction /* Bits in `sa_flags'. */ #define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */ #define SA_SIGINFO 0x00000004 -#ifdef __USE_MISC +#if defined __USE_UNIX98 || defined __USE_MISC # define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */ # define SA_RESTART 0x10000000 /* Restart syscall on signal return. */ # define SA_NODEFER 0x40000000 /* Don't automatically block the signal diff --git a/sysdeps/unix/sysv/linux/sh/Makefile b/sysdeps/unix/sysv/linux/sh/Makefile index 57cd3d9..0929c7c 100644 --- a/sysdeps/unix/sysv/linux/sh/Makefile +++ b/sysdeps/unix/sysv/linux/sh/Makefile @@ -4,6 +4,7 @@ endif ifeq ($(subdir),misc) sysdep_routines += setfsgid setfsuid setresgid setresuid +sysdep_headers += sys/io.h endif ifeq ($(subdir),signal) diff --git a/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h index e5cf753..ee41967 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h @@ -56,7 +56,7 @@ struct sigaction #define SA_NOCLDWAIT 0x00000100 /* Don't create zombie on child death. */ #define SA_SIGINFO 0x00000200 /* Invoke signal-catching function with three arguments instead of one. */ -#ifdef __USE_MISC +#if defined __USE_UNIX98 || defined __USE_MISC # define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */ # define SA_RESTART 0x00000002 /* Restart syscall on signal return. */ # define SA_INTERRUPT 0x00000010 /* Historical no-op. */ diff --git a/sysdeps/unix/sysv/linux/ulimit.c b/sysdeps/unix/sysv/linux/ulimit.c index c2481f5..9c309c3 100644 --- a/sysdeps/unix/sysv/linux/ulimit.c +++ b/sysdeps/unix/sysv/linux/ulimit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991,92,94,95,96,97,98,2000 Free Software Foundation, Inc. +/* Copyright (C) 1991,92,1994-1998,2000,2001 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 @@ -55,8 +55,16 @@ __ulimit (int cmd, ...) { long int newlimit = va_arg (va, long int); - limit.rlim_cur = newlimit * 512; - limit.rlim_max = newlimit * 512; + if ((rlim_t) newlimit > RLIM_INFINITY / 512) + { + limit.rlim_cur = RLIM_INFINITY; + limit.rlim_max = RLIM_INFINITY; + } + else + { + limit.rlim_cur = newlimit * 512; + limit.rlim_max = newlimit * 512; + } result = __setrlimit (RLIMIT_FSIZE, &limit); } |