mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
Update.
* version.h (VERSION): Bump to 2.0.99. * posix/fnmath.h: Don't redefine __P when used in glibc. * posix/glob.h: Likewise. * inet/rcmd.c (__ivaliduser2): Fix memory leak. Patch by Dick Streefland <dick_streefland@tasking.com>. * stdio-common/tst-ungetc.c: Add more test cases. * sysdeps/unix/sysv/linux/Dist: Add linux_fsinfo.h. * sysdeps/unix/sysv/linux/fstatvfs.c: Move filesystem magic number definitions to ... * sysdeps/unix/sysv/linux/linux_fsinfo.h: ...here. New file. * sysdeps/unix/sysv/linux/fpathconf.c: New file. * sysdeps/unix/sysv/linux/pathconf.c: New file. * sysdeps/unix/sysv/linux/alpha/fpathconf.c: Handle _PC_LINK_MAX here. * sysdeps/unix/sysv/linux/alpha/pathconf.c: Likewise. 1998-10-20 Philip Blundell <pb@nexus.co.uk> * sysdeps/unix/sysv/linux/arm/bits/armsigctx.h: Include <asm/ptrace.h> to define struct pt_regs. * sysdeps/unix/sysv/linux/arm/profil-counter.h: Don't bother including <asm/ptrace.h> here. * sysdeps/unix/sysv/linux/arm/sysdep.S: Remove spurious call to C_SYMBOL_NAME macro. 1998-10-23 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/generic/sys/ptrace.h (__ptrace_request): Remove comma at end of enumerator list. * sysdeps/unix/sysv/linux/sys/ptrace.h (__ptrace_request): Likewise. * posix/wordexp.h: Likewise. * db/db.h: Use __PMT instead of __P in typedefs. * db/mpool.h: Likewise. * sysdeps/generic/bits/siginfo.h: Likewise. * nis/rpcsvc/ypclnt.h: Likewise. 1998-10-23 Ulrich Drepper <drepper@cygnus.com>
This commit is contained in:
@ -7,6 +7,7 @@ kernel_stat.h
|
||||
kernel_termios.h
|
||||
ldd-rewrite.sed
|
||||
lddlibc4.c
|
||||
linux_fsinfo.h
|
||||
llseek.c
|
||||
s_pread64.c
|
||||
s_pwrite64.c
|
||||
|
@ -22,9 +22,7 @@
|
||||
#include <limits.h>
|
||||
#include <sys/statfs.h>
|
||||
|
||||
#define EXT2_SUPER_MAGIC 0xef53
|
||||
#define UFS_MAGIC 0x00011954
|
||||
#define UFS_CIGAM 0x54190100 /* byteswapped MAGIC */
|
||||
#include <linux_fsinfo.h>
|
||||
|
||||
static long int default_fpathconf (int fd, int name);
|
||||
|
||||
@ -55,6 +53,46 @@ __fpathconf (fd, name)
|
||||
/* This filesystem supported files >2GB. */
|
||||
return 64;
|
||||
}
|
||||
if (name == _PC_LINK_MAX)
|
||||
{
|
||||
struct statfs fsbuf;
|
||||
|
||||
/* Determine the filesystem type. */
|
||||
if (__fstatfs (fd, &fsbuf) < 0)
|
||||
/* not possible, return the default value. */
|
||||
return LINK_MAX;
|
||||
|
||||
switch (fsbuf.f_type)
|
||||
{
|
||||
case EXT2_SUPER_MAGIC:
|
||||
return EXT2_LINK_MAX;
|
||||
|
||||
case MINIX_SUPER_MAGIC:
|
||||
case MINIX_SUPER_MAGIC2:
|
||||
return MINIX_LINK_MAX;
|
||||
|
||||
case MINIX2_SUPER_MAGIC:
|
||||
case MINIX2_SUPER_MAGIC2:
|
||||
return MINIX2_LINK_MAX;
|
||||
|
||||
case XENIX_SUPER_MAGIC:
|
||||
return XENIX_LINK_MAX;
|
||||
|
||||
case SYSV4_SUPER_MAGIC:
|
||||
case SYSV2_SUPER_MAGIC:
|
||||
return SYSV_LINK_MAX;
|
||||
|
||||
case COH_SUPER_MAGIC:
|
||||
return COH_LINK_MAX;
|
||||
|
||||
case UFS_MAGIC:
|
||||
case UFS_CIGAM:
|
||||
return UFS_LINK_MAX;
|
||||
|
||||
default:
|
||||
return LINK_MAX;
|
||||
}
|
||||
}
|
||||
|
||||
/* Fallback to the generic version. */
|
||||
return default_fpathconf (fd, name);
|
||||
|
@ -23,9 +23,7 @@
|
||||
#include <fcntl.h>
|
||||
#include <sys/statfs.h>
|
||||
|
||||
#define EXT2_SUPER_MAGIC 0xef53
|
||||
#define UFS_MAGIC 0x00011954
|
||||
#define UFS_CIGAM 0x54190100 /* byteswapped MAGIC */
|
||||
#include <linux_fsinfo.h>
|
||||
|
||||
static long int default_pathconf (const char *path, int name);
|
||||
|
||||
@ -48,6 +46,46 @@ __pathconf (const char *path, int name)
|
||||
/* This filesystem supported files >2GB. */
|
||||
return 64;
|
||||
}
|
||||
if (name == _PC_LINK_MAX)
|
||||
{
|
||||
struct statfs fsbuf;
|
||||
|
||||
/* Determine the filesystem type. */
|
||||
if (__statfs (fd, &fsbuf) < 0)
|
||||
/* not possible, return the default value. */
|
||||
return LINK_MAX;
|
||||
|
||||
switch (fsbuf.f_type)
|
||||
{
|
||||
case EXT2_SUPER_MAGIC:
|
||||
return EXT2_LINK_MAX;
|
||||
|
||||
case MINIX_SUPER_MAGIC:
|
||||
case MINIX_SUPER_MAGIC2:
|
||||
return MINIX_LINK_MAX;
|
||||
|
||||
case MINIX2_SUPER_MAGIC:
|
||||
case MINIX2_SUPER_MAGIC2:
|
||||
return MINIX2_LINK_MAX;
|
||||
|
||||
case XENIX_SUPER_MAGIC:
|
||||
return XENIX_LINK_MAX;
|
||||
|
||||
case SYSV4_SUPER_MAGIC:
|
||||
case SYSV2_SUPER_MAGIC:
|
||||
return SYSV_LINK_MAX;
|
||||
|
||||
case COH_SUPER_MAGIC:
|
||||
return COH_LINK_MAX;
|
||||
|
||||
case UFS_MAGIC:
|
||||
case UFS_CIGAM:
|
||||
return UFS_LINK_MAX;
|
||||
|
||||
default:
|
||||
return LINK_MAX;
|
||||
}
|
||||
}
|
||||
|
||||
/* Fallback to the generic version. */
|
||||
return default_pathconf (path, name);
|
||||
|
@ -21,6 +21,8 @@
|
||||
Fortunately 2.0 puts a magic number in the first word and this is not
|
||||
a legal value for `trap_no', so we can tell them apart. */
|
||||
|
||||
#include <asm/ptrace.h>
|
||||
|
||||
union k_sigcontext
|
||||
{
|
||||
struct
|
||||
|
@ -18,7 +18,6 @@
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <signal.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <bits/armsigctx.h>
|
||||
|
||||
void
|
||||
|
@ -24,7 +24,7 @@
|
||||
.type C_SYMBOL_NAME(errno),%object
|
||||
.size C_SYMBOL_NAME(errno),4
|
||||
C_SYMBOL_NAME(errno): .zero 4
|
||||
weak_alias (C_SYMBOL_NAME(errno), C_SYMBOL_NAME(_errno))
|
||||
weak_alias (errno, _errno)
|
||||
.text
|
||||
|
||||
/* The syscall stubs jump here when they detect an error.
|
||||
|
80
sysdeps/unix/sysv/linux/fpathconf.c
Normal file
80
sysdeps/unix/sysv/linux/fpathconf.c
Normal file
@ -0,0 +1,80 @@
|
||||
/* Linux specific extensions to fpathconf.
|
||||
Copyright (C) 1991, 1995, 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
|
||||
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. */
|
||||
|
||||
#include <unistd.h>
|
||||
#include <limits.h>
|
||||
#include <sys/statfs.h>
|
||||
|
||||
#include "linux_fsinfo.h"
|
||||
|
||||
static long int posix_fpathconf (int fd, int name);
|
||||
|
||||
|
||||
/* Get file-specific information about descriptor FD. */
|
||||
long int
|
||||
__fpathconf (fd, name)
|
||||
int fd;
|
||||
int name;
|
||||
{
|
||||
if (name == _PC_LINK_MAX)
|
||||
{
|
||||
struct statfs fsbuf;
|
||||
|
||||
/* Determine the filesystem type. */
|
||||
if (__fstatfs (fd, &fsbuf) < 0)
|
||||
/* not possible, return the default value. */
|
||||
return LINK_MAX;
|
||||
|
||||
switch (fsbuf.f_type)
|
||||
{
|
||||
case EXT2_SUPER_MAGIC:
|
||||
return EXT2_LINK_MAX;
|
||||
|
||||
case MINIX_SUPER_MAGIC:
|
||||
case MINIX_SUPER_MAGIC2:
|
||||
return MINIX_LINK_MAX;
|
||||
|
||||
case MINIX2_SUPER_MAGIC:
|
||||
case MINIX2_SUPER_MAGIC2:
|
||||
return MINIX2_LINK_MAX;
|
||||
|
||||
case XENIX_SUPER_MAGIC:
|
||||
return XENIX_LINK_MAX;
|
||||
|
||||
case SYSV4_SUPER_MAGIC:
|
||||
case SYSV2_SUPER_MAGIC:
|
||||
return SYSV_LINK_MAX;
|
||||
|
||||
case COH_SUPER_MAGIC:
|
||||
return COH_LINK_MAX;
|
||||
|
||||
case UFS_MAGIC:
|
||||
case UFS_CIGAM:
|
||||
return UFS_LINK_MAX;
|
||||
|
||||
default:
|
||||
return LINK_MAX;
|
||||
}
|
||||
}
|
||||
|
||||
return posix_fpathconf (fd, name);
|
||||
}
|
||||
|
||||
#define __fpathconf static posix_fpathconf
|
||||
#include <sysdeps/posix/fpathconf.c>
|
@ -26,31 +26,7 @@
|
||||
#include <sys/statfs.h>
|
||||
#include <sys/statvfs.h>
|
||||
|
||||
/* These definitions come from the kernel headers. But we cannot
|
||||
include the headers here because of type clashes. If new
|
||||
filesystem types will become available we have to add the
|
||||
appropriate definitions here.*/
|
||||
#define ADFS_SUPER_MAGIC 0xadf5
|
||||
#define AFFS_SUPER_MAGIC 0xadff
|
||||
#define CODA_SUPER_MAGIC 0x73757245
|
||||
#define EXT2_SUPER_MAGIC 0xef53
|
||||
#define HPFS_SUPER_MAGIC 0xf995e849
|
||||
#define ISOFS_SUPER_MAGIC 0x9660
|
||||
#define MINIX_SUPER_MAGIC 0x137f
|
||||
#define MINIX_SUPER_MAGIC2 0x138F
|
||||
#define MINIX2_SUPER_MAGIC 0x2468
|
||||
#define MINIX2_SUPER_MAGIC2 0x2478
|
||||
#define MSDOS_SUPER_MAGIC 0x4d44
|
||||
#define NCP_SUPER_MAGIC 0x564c
|
||||
#define NFS_SUPER_MAGIC 0x6969
|
||||
#define PROC_SUPER_MAGIC 0x9fa0
|
||||
#define SMB_SUPER_MAGIC 0x517b
|
||||
#define XENIX_SUPER_MAGIC 0x012ff7b4
|
||||
#define SYSV4_SUPER_MAGIC 0x012ff7b5
|
||||
#define SYSV2_SUPER_MAGIC 0x012ff7b6
|
||||
#define COH_SUPER_MAGIC 0x012ff7b7
|
||||
#define UFS_MAGIC 0x00011954
|
||||
#define UFS_CIGAM 0x54190100 /* byteswapped MAGIC */
|
||||
#include "linux_fsinfo.h"
|
||||
|
||||
|
||||
int
|
||||
|
58
sysdeps/unix/sysv/linux/linux_fsinfo.h
Normal file
58
sysdeps/unix/sysv/linux/linux_fsinfo.h
Normal file
@ -0,0 +1,58 @@
|
||||
/* Constants from kernel header for various FSes.
|
||||
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 _LINUX_FSINFO_H
|
||||
#define _LINUX_FSINFO_H 1
|
||||
|
||||
/* These definitions come from the kernel headers. But we cannot
|
||||
include the headers here because of type clashes. If new
|
||||
filesystem types will become available we have to add the
|
||||
appropriate definitions here.*/
|
||||
#define ADFS_SUPER_MAGIC 0xadf5
|
||||
#define AFFS_SUPER_MAGIC 0xadff
|
||||
#define CODA_SUPER_MAGIC 0x73757245
|
||||
#define EXT2_SUPER_MAGIC 0xef53
|
||||
#define HPFS_SUPER_MAGIC 0xf995e849
|
||||
#define ISOFS_SUPER_MAGIC 0x9660
|
||||
#define MINIX_SUPER_MAGIC 0x137f
|
||||
#define MINIX_SUPER_MAGIC2 0x138F
|
||||
#define MINIX2_SUPER_MAGIC 0x2468
|
||||
#define MINIX2_SUPER_MAGIC2 0x2478
|
||||
#define MSDOS_SUPER_MAGIC 0x4d44
|
||||
#define NCP_SUPER_MAGIC 0x564c
|
||||
#define NFS_SUPER_MAGIC 0x6969
|
||||
#define PROC_SUPER_MAGIC 0x9fa0
|
||||
#define SMB_SUPER_MAGIC 0x517b
|
||||
#define XENIX_SUPER_MAGIC 0x012ff7b4
|
||||
#define SYSV4_SUPER_MAGIC 0x012ff7b5
|
||||
#define SYSV2_SUPER_MAGIC 0x012ff7b6
|
||||
#define COH_SUPER_MAGIC 0x012ff7b7
|
||||
#define UFS_MAGIC 0x00011954
|
||||
#define UFS_CIGAM 0x54190100 /* byteswapped MAGIC */
|
||||
|
||||
/* Maximum link counts. */
|
||||
#define EXT2_LINK_MAX 32000
|
||||
#define MINIX_LINK_MAX 250
|
||||
#define MINIX2_LINK_MAX 65530
|
||||
#define XENIX_LINK_MAX 126 /* ?? */
|
||||
#define SYSV_LINK_MAX 126 /* 127? 251? */
|
||||
#define COH_LINK_MAX 10000
|
||||
#define UFS_LINK_MAX EXT2_LINK_MAX
|
||||
|
||||
#endif /* linux_fsinfo.h */
|
80
sysdeps/unix/sysv/linux/pathconf.c
Normal file
80
sysdeps/unix/sysv/linux/pathconf.c
Normal file
@ -0,0 +1,80 @@
|
||||
/* Linux specific extensions to pathconf.
|
||||
Copyright (C) 1991, 1995, 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
|
||||
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. */
|
||||
|
||||
#include <unistd.h>
|
||||
#include <limits.h>
|
||||
#include <sys/statfs.h>
|
||||
|
||||
#include "linux_fsinfo.h"
|
||||
|
||||
static long int posix_pathconf (const char *path, int name);
|
||||
|
||||
|
||||
/* Get file-specific information about descriptor FD. */
|
||||
long int
|
||||
__pathconf (path, name)
|
||||
const char *path;
|
||||
int name;
|
||||
{
|
||||
if (name == _PC_LINK_MAX)
|
||||
{
|
||||
struct statfs fsbuf;
|
||||
|
||||
/* Determine the filesystem type. */
|
||||
if (__statfs (path, &fsbuf) < 0)
|
||||
/* not possible, return the default value. */
|
||||
return LINK_MAX;
|
||||
|
||||
switch (fsbuf.f_type)
|
||||
{
|
||||
case EXT2_SUPER_MAGIC:
|
||||
return EXT2_LINK_MAX;
|
||||
|
||||
case MINIX_SUPER_MAGIC:
|
||||
case MINIX_SUPER_MAGIC2:
|
||||
return MINIX_LINK_MAX;
|
||||
|
||||
case MINIX2_SUPER_MAGIC:
|
||||
case MINIX2_SUPER_MAGIC2:
|
||||
return MINIX2_LINK_MAX;
|
||||
|
||||
case XENIX_SUPER_MAGIC:
|
||||
return XENIX_LINK_MAX;
|
||||
|
||||
case SYSV4_SUPER_MAGIC:
|
||||
case SYSV2_SUPER_MAGIC:
|
||||
return SYSV_LINK_MAX;
|
||||
|
||||
case COH_SUPER_MAGIC:
|
||||
return COH_LINK_MAX;
|
||||
|
||||
case UFS_MAGIC:
|
||||
case UFS_CIGAM:
|
||||
return UFS_LINK_MAX;
|
||||
|
||||
default:
|
||||
return LINK_MAX;
|
||||
}
|
||||
}
|
||||
|
||||
return posix_pathconf (path, name);
|
||||
}
|
||||
|
||||
#define __pathconf static posix_pathconf
|
||||
#include <sysdeps/posix/pathconf.c>
|
@ -99,7 +99,7 @@ enum __ptrace_request
|
||||
#define PT_DETACH PTRACE_DETACH
|
||||
|
||||
/* Continue and stop at the next (return from) syscall. */
|
||||
PTRACE_SYSCALL = 24,
|
||||
PTRACE_SYSCALL = 24
|
||||
#define PTRACE_SYSCALL PTRACE_SYSCALL
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user