From 61423e13e519c41c49adcdd8d1259a8213a5fded Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 25 Sep 2001 03:04:41 +0000 Subject: 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 * 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 * sysdeps/unix/sysv/linux/sh/Makefile (sysdep_headers): Add sys/io.h. 2001-09-24 Jakub Jelinek * elf/dl-open.c (dl_open_worker): Update l_scope_max. 2001-09-24 Ulrich Drepper --- sysdeps/unix/sysv/linux/ia64/bits/sigaction.h | 2 +- sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h | 2 +- sysdeps/unix/sysv/linux/sh/Makefile | 1 + sysdeps/unix/sysv/linux/sparc/bits/sigaction.h | 2 +- sysdeps/unix/sysv/linux/ulimit.c | 14 +++++++++++--- 5 files changed, 15 insertions(+), 6 deletions(-) (limited to 'sysdeps/unix/sysv') diff --git a/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h b/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h index 9b1aafb02d..c34fcc4037 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 43738b2654..38af8d8654 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 57cd3d9e94..0929c7c324 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 e5cf753c70..ee4196764d 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 c2481f5c8a..9c309c371d 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); } -- cgit 1.4.1