1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00
1998-10-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/sys/swap.h (SWAP_FLAG_PREFER,
	SWAP_FLAG_PRIO_MASK,SWAP_FLAG_PRIO_SHIFT): Added.
	Remove inclusion of <linux/swap.h>.

1998-10-05  Ulrich Drepper  <drepper@cygnus.com>

	* io/sys/stat.h: Use __P in definitions of inline stat functions
	so that they match the declaration.

1998-10-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/sys/quota.h (Q_RSQUASH): Added.

1998-10-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/sys/acct.h: Bring in sync with current
	linux 2.1 version.

1998-10-02  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/arm/dl-machine.h: Fix typo in last change.

	* sysdeps/arm/bits/huge_val.h: New file.

1998-10-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/sys/reboot.h (RB_POWER_OFF): Added.

	* sysdeps/unix/sysv/linux/sys/ptrace.h (PTRACE_SYSCALL): Add
	define.

1998-10-05  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/posix/getcwd.c (__getcwd): Use temporary variable to
	store result of realloc instead of using BUF.

1998-10-04  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* misc/sgtty.h (_SGTTY_H): Correct spelling.
	Reported by Rouben Rostamian <rostamian@umbc.edu> [PR libc/817].

1998-10-04  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/memory.texi (Obstacks): Document
	obstack_alloc_failed_handler usage.

	* malloc/obstack.h: Enhance comment about
	obstack_alloc_failed_handler usage.
	* malloc/obstack.c: Likewise.

1998-10-05  Ulrich Drepper  <drepper@cygnus.com>

	* misc/sys/cdefs.h (__extension__): Define as empty if no gcc or
	gcc before 2.8 is used.

1998-10-01  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/arm/machine-gmon.h: Correct args to mcount().  Patch
	from Scott Bambrough.

	* sysdeps/unix/sysv/linux/arm/register-dump.h: New file.

	* libio/libioP.h (FILEBUF_LITERAL) [! _IO_MTSAFE_IO]: Don't
	include the lock member.

1998-09-03  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/arm/fpu/__longjmp.S: Cope with fussy assembler.

1998-09-29  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* string/bits/string2.h (__string2_1bptr_p): Don't use a statement
	expression.
	(__mempcpy, strcpy, __stpcpy, strcmp, strcspn, strspn, strpbrk,
	__strsep): Greatly reduce size of expansion by combining common
	expressions.
	(__mempcpy_small, __strcpy_small, __stpcpy_small): Convert to
	inline function.
	(__mempcpy_args, __strcpy_args, __stpcpy_args): New macros, used
	by the above definitions.

1998-09-27  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: New file, use
	correct struct ipc_perm definition.

1998-09-29  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/ypclnt.c (yp_all): Close UDP socket und give CLIENT handle free.

	* sysdeps/unix/sysv/linux/alpha/ioperm.c: List Ruffian in platforms[].
	* sysdeps/unix/sysv/linux/net/if_shaper.h: New file.
This commit is contained in:
Ulrich Drepper
1998-10-05 13:40:47 +00:00
parent 8c93cd99f5
commit 8325d82cf3
15 changed files with 270 additions and 84 deletions

View File

@ -1,3 +1,60 @@
1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sys/swap.h (SWAP_FLAG_PREFER,
SWAP_FLAG_PRIO_MASK,SWAP_FLAG_PRIO_SHIFT): Added.
Remove inclusion of <linux/swap.h>.
1998-10-05 Ulrich Drepper <drepper@cygnus.com>
* io/sys/stat.h: Use __P in definitions of inline stat functions
so that they match the declaration.
1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sys/quota.h (Q_RSQUASH): Added.
1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sys/acct.h: Bring in sync with current
linux 2.1 version.
1998-10-02 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/dl-machine.h: Fix typo in last change.
* sysdeps/arm/bits/huge_val.h: New file.
1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sys/reboot.h (RB_POWER_OFF): Added.
* sysdeps/unix/sysv/linux/sys/ptrace.h (PTRACE_SYSCALL): Add
define.
1998-10-05 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/posix/getcwd.c (__getcwd): Use temporary variable to
store result of realloc instead of using BUF.
1998-10-04 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/sgtty.h (_SGTTY_H): Correct spelling.
Reported by Rouben Rostamian <rostamian@umbc.edu> [PR libc/817].
1998-10-04 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/memory.texi (Obstacks): Document
obstack_alloc_failed_handler usage.
* malloc/obstack.h: Enhance comment about
obstack_alloc_failed_handler usage.
* malloc/obstack.c: Likewise.
1998-10-05 Ulrich Drepper <drepper@cygnus.com>
* misc/sys/cdefs.h (__extension__): Define as empty if no gcc or
gcc before 2.8 is used.
1998-10-01 Philip Blundell <pb@nexus.co.uk> 1998-10-01 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/machine-gmon.h: Correct args to mcount(). Patch * sysdeps/arm/machine-gmon.h: Correct args to mcount(). Patch

View File

@ -310,47 +310,53 @@ extern int __xmknod __P ((int __ver, __const char *__path,
__mode_t __mode, __dev_t *__dev)); __mode_t __mode, __dev_t *__dev));
#if defined __GNUC__ && __GNUC__ >= 2 #if defined __GNUC__ && __GNUC__ >= 2
/* Inlined versions of the real stat and mknod functions. */ /* Inlined versions of the real stat and mknod functions.
extern __inline__ int stat (__const char *__path, struct stat *__statbuf) We have to use __P here since we need definitions matching the
declarations above. */
extern __inline__ int stat __P ((__const char *__path, struct stat *__statbuf))
{ {
return __xstat (_STAT_VER, __path, __statbuf); return __xstat (_STAT_VER, __path, __statbuf);
} }
# if defined __USE_BSD || defined __USE_XOPEN_EXTENDED # if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
extern __inline__ int lstat (__const char *__path, struct stat *__statbuf) extern __inline__ int lstat __P ((__const char *__path,
struct stat *__statbuf))
{ {
return __lxstat (_STAT_VER, __path, __statbuf); return __lxstat (_STAT_VER, __path, __statbuf);
} }
# endif # endif
extern __inline__ int fstat (int __fd, struct stat *__statbuf) extern __inline__ int fstat __P ((int __fd, struct stat *__statbuf))
{ {
return __fxstat (_STAT_VER, __fd, __statbuf); return __fxstat (_STAT_VER, __fd, __statbuf);
} }
# if defined __USE_MISC || defined __USE_BSD # if defined __USE_MISC || defined __USE_BSD
extern __inline__ int mknod (__const char *__path, __mode_t __mode, extern __inline__ int mknod __P ((__const char *__path, __mode_t __mode,
__dev_t __dev) __dev_t __dev))
{ {
return __xmknod (_MKNOD_VER, __path, __mode, &__dev); return __xmknod (_MKNOD_VER, __path, __mode, &__dev);
} }
# endif # endif
# ifdef __USE_LARGEFILE64 # ifdef __USE_LARGEFILE64
extern __inline__ int stat64 (__const char *__path, struct stat64 *__statbuf) extern __inline__ int stat64 __P ((__const char *__path,
struct stat64 *__statbuf))
{ {
return __xstat64 (_STAT_VER, __path, __statbuf); return __xstat64 (_STAT_VER, __path, __statbuf);
} }
# if defined __USE_BSD || defined __USE_XOPEN_EXTENDED # if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
extern __inline__ int lstat64 (__const char *__path, struct stat64 *__statbuf) extern __inline__ int lstat64 __P ((__const char *__path,
struct stat64 *__statbuf))
{ {
return __lxstat64 (_STAT_VER, __path, __statbuf); return __lxstat64 (_STAT_VER, __path, __statbuf);
} }
# endif # endif
extern __inline__ int fstat64 (int __fd, struct stat64 *__statbuf) extern __inline__ int fstat64 __P ((int __fd, struct stat64 *__statbuf))
{ {
return __fxstat64 (_STAT_VER, __fd, __statbuf); return __fxstat64 (_STAT_VER, __fd, __statbuf);
} }

View File

@ -16,6 +16,7 @@
#define _SEMAPHORE_H 1 #define _SEMAPHORE_H 1
#include <features.h> #include <features.h>
#include <sys/types.h>
#include <limits.h> #include <limits.h>

View File

@ -78,7 +78,9 @@ union fooround {long x; double d;};
/* The functions allocating more room by calling `obstack_chunk_alloc' /* The functions allocating more room by calling `obstack_chunk_alloc'
jump to the handler pointed to by `obstack_alloc_failed_handler'. jump to the handler pointed to by `obstack_alloc_failed_handler'.
This variable by default points to the internal function This can be set to a user defined function which should either
abort gracefully or use longjump - but shouldn't return. This
variable by default points to the internal function
`print_and_abort'. */ `print_and_abort'. */
#if defined (__STDC__) && __STDC__ #if defined (__STDC__) && __STDC__
static void print_and_abort (void); static void print_and_abort (void);
@ -142,9 +144,8 @@ struct obstack *_obstack;
CHUNKFUN is the function to use to allocate chunks, CHUNKFUN is the function to use to allocate chunks,
and FREEFUN the function to free them. and FREEFUN the function to free them.
Return nonzero if successful, zero if out of memory. Return nonzero if successful, calls obstack_alloc_failed_handler if
To recover from an out of memory error, allocation fails. */
free up some memory, then call this again. */
int int
_obstack_begin (h, size, alignment, chunkfun, freefun) _obstack_begin (h, size, alignment, chunkfun, freefun)

View File

@ -254,8 +254,9 @@ int obstack_memory_used (struct obstack *obstack);
so we do not declare them. */ so we do not declare them. */
/* Error handler called when `obstack_chunk_alloc' failed to allocate /* Error handler called when `obstack_chunk_alloc' failed to allocate
more memory. This can be set to a user defined function. The more memory. This can be set to a user defined function which
default action is to print a message and abort. */ should either abort gracefully or use longjump - but shouldn't
return. The default action is to print a message and abort. */
#if defined __STDC__ && __STDC__ #if defined __STDC__ && __STDC__
extern void (*obstack_alloc_failed_handler) (void); extern void (*obstack_alloc_failed_handler) (void);
#else #else

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1992, 1996 Free Software Foundation, Inc. /* Copyright (C) 1991, 1992, 1996, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -17,7 +17,7 @@
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
#ifndef _SGTTY_H #ifndef _SGTTY_H
#define _SGTYY_H 1 #define _SGTTY_H 1
#include <features.h> #include <features.h>

View File

@ -141,6 +141,16 @@
#endif #endif
/* It is possible to compile containing GCC extensions even if GCC is
run in pedantic mode if the uses are carefully marked using the
`__extension__' keyword. But this is not generally available before
version 2.8. */
#if !defined __GNUC__ || __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
# define __extension__ /* Ignore */
#endif
/* No current version of gcc knows the `restrict' keyword. Define it /* No current version of gcc knows the `restrict' keyword. Define it
for now unconditionally to the empty string. */ for now unconditionally to the empty string. */
#define __restrict #define __restrict

View File

@ -0,0 +1,88 @@
/* `HUGE_VAL' constants for IEEE 754 machines (where it is infinity).
Used by <stdlib.h> and <math.h> functions for overflow.
ARM version.
Copyright (C) 1992, 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
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 _MATH_H
# error "Never use <bits/huge_val.h> directly; include <math.h> instead."
#endif
#include <features.h>
/* IEEE positive infinity (-HUGE_VAL is negative infinity). */
#ifdef __GNUC__
# define HUGE_VAL \
(__extension__ \
((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; }) \
{ __l: 0x000000007ff00000ULL }).__d)
#else /* not GCC */
# include <endian.h>
typedef union { unsigned char __c[8]; double __d; } __huge_val_t;
# if __BYTE_ORDER == __BIG_ENDIAN
# define __HUGE_VAL_bytes { 0, 0, 0, 0, 0x7f, 0xf0, 0, 0 }
# endif
# if __BYTE_ORDER == __LITTLE_ENDIAN
# define __HUGE_VAL_bytes { 0, 0, 0xf0, 0x7f, 0, 0, 0, 0 }
# endif
static __huge_val_t __huge_val = { __HUGE_VAL_bytes };
# define HUGE_VAL (__huge_val.__d)
#endif /* GCC. */
/* ISO C 9X extensions: (float) HUGE_VALF and (long double) HUGE_VALL. */
#ifdef __USE_ISOC9X
# ifdef __GNUC__
# define HUGE_VALF \
(__extension__ \
((union { unsigned __l __attribute__((__mode__(__SI__))); float __d; }) \
{ __l: 0x7f800000UL }).__d)
# else /* not GCC */
typedef union { unsigned char __c[4]; float __f; } __huge_valf_t;
# if __BYTE_ORDER == __BIG_ENDIAN
# define __HUGE_VALF_bytes { 0x7f, 0x80, 0, 0 }
# endif
# if __BYTE_ORDER == __LITTLE_ENDIAN
# define __HUGE_VALF_bytes { 0, 0, 0x80, 0x7f }
# endif
static __huge_valf_t __huge_valf = { __HUGE_VALF_bytes };
# define HUGE_VALF (__huge_valf.__f)
# endif /* GCC. */
/* Generally there is no separate `long double' format and it is the
same as `double'. */
# define HUGE_VALL HUGE_VAL
#endif /* __USE_ISOC9X. */

View File

@ -315,7 +315,7 @@ _dl_start_user:
.word _dl_fini(GOT) .word _dl_fini(GOT)
.L_STACK_END: .L_STACK_END:
.word __libc_stack_end(GOT) .word __libc_stack_end(GOT)
.L_MAIN_SEARCHLIST .L_MAIN_SEARCHLIST:
.word _dl_main_searchlist(GOT) .word _dl_main_searchlist(GOT)
.previous\n\ .previous\n\
"); ");

View File

@ -369,17 +369,19 @@ __getcwd (buf, size)
} }
else else
{ {
char *tmp;
size *= 2; size *= 2;
buf = realloc (path, size); tmp = realloc (path, size);
if (buf == NULL) if (tmp == NULL)
{ {
(void) __closedir (dirstream); (void) __closedir (dirstream);
free (path); free (path);
__set_errno (ENOMEM);/* closedir might have changed it.*/ __set_errno (ENOMEM);/* closedir might have changed it.*/
goto lose; goto lose;
} }
pathp = &buf[pathp - path + size / 2]; pathp = &tmp[pathp - path + size / 2];
path = buf; path = tmp;
/* Move current contents up to the end of the buffer. /* Move current contents up to the end of the buffer.
This is guaranteed to be non-overlapping. */ This is guaranteed to be non-overlapping. */
memcpy (pathp, pathp - size / 2, path + size - pathp); memcpy (pathp, pathp - size / 2, path + size - pathp);

View File

@ -23,36 +23,47 @@
#define __need_time_t #define __need_time_t
#include <time.h> #include <time.h>
#include <sys/types.h>
__BEGIN_DECLS __BEGIN_DECLS
#define ACCT_COMM 16 #define ACCT_COMM 16
/*
comp_t is a 16-bit "floating" point number with a 3-bit base 8
exponent and a 13-bit fraction. See linux/kernel/acct.c for the
specific encoding system used.
*/
typedef u_int16_t comp_t;
struct acct struct acct
{ {
char ac_comm[ACCT_COMM]; /* Accounting command name. */ char ac_flag; /* Accounting flags. */
time_t ac_utime; /* Accounting user time. */ u_int16_t ac_uid; /* Accounting user ID. */
time_t ac_stime; /* Accounting system time. */ u_int16_t ac_gid; /* Accounting group ID. */
time_t ac_etime; /* Accounting elapsed time. */ u_int16_t ac_tty; /* Controlling tty. */
time_t ac_btime; /* Beginning time. */ u_int32_t ac_btime; /* Beginning time. */
unsigned short int ac_uid; /* Accounting user ID. */ comp_t ac_utime; /* Accounting user time. */
unsigned short int ac_gid; /* Accounting group ID. */ comp_t ac_stime; /* Accounting system time. */
unsigned short int ac_tty; /* Controlling tty. */ comp_t ac_etime; /* Accounting elapsed time. */
/* Please note that the value of the `ac_tty' field, a device number, comp_t ac_mem; /* Accounting average memory usage. */
is encoded differently in the kernel and for the libc dev_t type. */ comp_t ac_io; /* Accounting chars transferred. */
char ac_flag; /* Accounting flag. */ comp_t ac_rw; /* Accounting blocks read or written. */
long int ac_minflt; /* Accounting minor pagefaults. */ comp_t ac_minflt; /* Accounting minor pagefaults. */
long int ac_majflt; /* Accounting major pagefaults. */ comp_t ac_majflt; /* Accounting major pagefaults. */
long int ac_exitcode; /* Accounting process exitcode. */ comp_t ac_swaps; /* Accounting number of swaps. */
u_int32_t ac_exitcode; /* Accounting process exitcode. */
char ac_comm[ACCT_COMM+1]; /* Accounting command name. */
char ac_pad[10]; /* Accounting padding bytes. */
}; };
enum enum
{ {
AFORK = 0001, /* Has executed fork, but no exec. */ AFORK = 0x01, /* Has executed fork, but no exec. */
ASU = 0002, /* Used super-user privileges. */ ASU = 0x02, /* Used super-user privileges. */
ACORE = 0004, /* Dumped core. */ ACORE = 0x08, /* Dumped core. */
AXSIG = 0010 /* Killed by a signal. */ AXSIG = 0x10 /* Killed by a signal. */
}; };
#define AHZ 100 #define AHZ 100

View File

@ -18,8 +18,8 @@
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
#ifndef _SYS_PTRACE_H #ifndef _SYS_PTRACE_H
#define _SYS_PTRACE_H 1 #define _SYS_PTRACE_H 1
#include <features.h> #include <features.h>
__BEGIN_DECLS __BEGIN_DECLS
@ -100,6 +100,7 @@ enum __ptrace_request
/* Continue and stop at the next (return from) syscall. */ /* Continue and stop at the next (return from) syscall. */
PTRACE_SYSCALL = 24, PTRACE_SYSCALL = 24,
#define PTRACE_SYSCALL PTRACE_SYSCALL
}; };
/* Perform process tracing functions. REQUEST is one of the values /* Perform process tracing functions. REQUEST is one of the values

View File

@ -106,6 +106,7 @@
#define Q_SYNC 0x0600 /* sync disk copy of a filesystems quotas */ #define Q_SYNC 0x0600 /* sync disk copy of a filesystems quotas */
#define Q_SETQLIM 0x0700 /* set limits */ #define Q_SETQLIM 0x0700 /* set limits */
#define Q_GETSTATS 0x0800 /* get collected stats */ #define Q_GETSTATS 0x0800 /* get collected stats */
#define Q_RSQUASH 0x1000 /* set root_squash option */
/* /*
* The following structure defines the format of the disk quota file * The following structure defines the format of the disk quota file

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. /* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -20,8 +20,8 @@
bits in the argument to the `reboot' system call. */ bits in the argument to the `reboot' system call. */
#ifndef _SYS_REBOOT_H #ifndef _SYS_REBOOT_H
#define _SYS_REBOOT_H 1 #define _SYS_REBOOT_H 1
#include <features.h> #include <features.h>
/* Perform a hard reset now. */ /* Perform a hard reset now. */
@ -36,6 +36,9 @@
/* Disable reboot using Ctrl-Alt-Delete keystroke. */ /* Disable reboot using Ctrl-Alt-Delete keystroke. */
#define RB_DISABLE_CAD 0 #define RB_DISABLE_CAD 0
/* Stop system and switch power off if possible. */
#define RB_POWER_OFF 0x4321fedc
__BEGIN_DECLS __BEGIN_DECLS
/* Reboot or halt the system. */ /* Reboot or halt the system. */

View File

@ -1,5 +1,5 @@
/* Calls to enable and disable swapping on specified locations. Linux version. /* Calls to enable and disable swapping on specified locations. Linux 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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -22,8 +22,12 @@
#define _SYS_SWAP_H 1 #define _SYS_SWAP_H 1
#include <features.h> #include <features.h>
/* Get constants from kernel headers. */ /* The swap priority is encoded as:
#include <linux/swap.h> (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK
*/
#define SWAP_FLAG_PREFER 0x8000 /* Set if swap priority is specified. */
#define SWAP_FLAG_PRIO_MASK 0x7fff
#define SWAP_FLAG_PRIO_SHIFT 0
__BEGIN_DECLS __BEGIN_DECLS