1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00
This commit is contained in:
Jakub Jelinek
2007-07-12 18:26:36 +00:00
parent 7d58530341
commit 0ecb606cb6
6215 changed files with 494638 additions and 305010 deletions

View File

@ -1,5 +1,5 @@
/* Error constants. Linux/Sparc specific version.
Copyright (C) 1996, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
Copyright (C) 1996,1997,1998,1999,2002,2005 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
@ -31,6 +31,12 @@
# define ECANCELED 127
# endif
/* Support for error codes to support robust mutexes was added later, too. */
# ifndef EOWNERDEAD
# define EOWNERDEAD 132
# define ENOTRECOVERABLE 133
# endif
# ifndef __ASSEMBLER__
/* Function to get address of global `errno' variable. */
extern int *__errno_location (void) __THROW __attribute__ ((__const__));

View File

@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for Linux/SPARC.
Copyright (C) 1995, 1996, 1997, 1998, 2000, 2003, 2004
Copyright (C) 1995, 1996, 1997, 1998, 2000, 2003, 2004, 2006
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@ -24,6 +24,9 @@
#include <sys/types.h>
#include <bits/wordsize.h>
#ifdef __USE_GNU
# include <bits/uio.h>
#endif
/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
located on an ext2 file system */
@ -113,7 +116,7 @@
# define F_SETLKW64 14 /* Set record locking info (blocking). */
#endif
/* for F_[GET|SET]FL */
/* for F_[GET|SET]FD */
#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */
@ -199,10 +202,55 @@ struct flock64
# define POSIX_FADV_NOREUSE 5 /* Data will be accessed once. */
#endif
#ifdef __USE_GNU
/* Flags for SYNC_FILE_RANGE. */
# define SYNC_FILE_RANGE_WAIT_BEFORE 1 /* Wait upon writeout of all pages
in the range before performing the
write. */
# define SYNC_FILE_RANGE_WRITE 2 /* Initiate writeout of all those
dirty pages in the range which are
not presently under writeback. */
# define SYNC_FILE_RANGE_WAIT_AFTER 4 /* Wait upon writeout of all pages in
the range after performing the
write. */
/* Flags for SPLICE and VMSPLICE. */
# define SPLICE_F_MOVE 1 /* Move pages instead of copying. */
# define SPLICE_F_NONBLOCK 2 /* Don't block on the pipe splicing
(but we may still block on the fd
we splice from/to). */
# define SPLICE_F_MORE 4 /* Expect more data. */
# define SPLICE_F_GIFT 8 /* Pages passed in are a gift. */
#endif
__BEGIN_DECLS
#ifdef __USE_GNU
/* Provide kernel hint to read ahead. */
extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
__THROW;
/* Selective file content synch'ing. */
extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
unsigned int __flags);
/* Splice address range into a pipe. */
extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count,
unsigned int __flags);
/* Splice two files together. */
extern int splice (int __fdin, __off64_t *__offin, int __fdout,
__off64_t *__offout, size_t __len, unsigned int __flags)
__THROW;
/* In-kernel implementation of tee for pipe buffers. */
extern int tee (int __fdin, int __fdout, size_t __len, unsigned int __flags)
__THROW;
#endif
__END_DECLS

View File

@ -1,5 +1,5 @@
/* Definitions for POSIX memory map interface. Linux/SPARC version.
Copyright (C) 1997, 1999, 2000, 2003 Free Software Foundation, Inc.
Copyright (C) 1997,1999,2000,2003,2005,2006 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
@ -57,12 +57,14 @@
/* These are Linux-specific. */
#ifdef __USE_MISC
# define MAP_GROWSDOWN 0x0100 /* Stack-like segment. */
# define MAP_GROWSDOWN 0x0200 /* Stack-like segment. */
# define MAP_DENYWRITE 0x0800 /* ETXTBSY */
# define MAP_EXECUTABLE 0x1000 /* Mark it as an executable. */
# define MAP_LOCKED 0x0100 /* Lock the mapping. */
# define MAP_NORESERVE 0x0040 /* Don't check for reservations. */
# define _MAP_NEW 0x80000000 /* Binary compatibility with SunOS. */
# define MAP_POPULATE 0x8000 /* Populate (prefault) pagetables. */
# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
#endif
/* Flags to `msync'. */
@ -78,6 +80,7 @@
/* Flags for `mremap'. */
#ifdef __USE_GNU
# define MREMAP_MAYMOVE 1
# define MREMAP_FIXED 2
#endif
/* Advice to `madvise'. */
@ -87,6 +90,10 @@
# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */
# define MADV_WILLNEED 3 /* Will need these pages. */
# define MADV_DONTNEED 4 /* Don't need these pages. */
# define MADV_FREE 5 /* Content can be freed (Solaris). */
# define MADV_REMOVE 9 /* Remove these pages and resources. */
# define MADV_DONTFORK 10 /* Do not inherit across fork. */
# define MADV_DOFORK 11 /* Do inherit across fork. */
#endif
/* The POSIX people had to invent similar names for the same things. */

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1997, 2001 Free Software Foundation, Inc.
/* Copyright (C) 1997, 2001, 2006 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
@ -35,6 +35,13 @@
# define POLLWRBAND 0x100 /* Priority data may be written. */
#endif
#ifdef __USE_GNU
/* These are extensions for Linux. */
# define POLLMSG 0x200
# define POLLREMOVE 0x400
# define POLLRDHUP 0x800
#endif
/* Event types always implicitly polled for. These bits need not be set in
`events', but they will appear in `revents' to indicate the status of
the file descriptor. */

View File

@ -1,5 +1,5 @@
/* Bit values & structures for resource limits. Linux/SPARC version.
Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2004
Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2004, 2005
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@ -89,7 +89,18 @@ enum __rlimit_resource
__RLIMIT_MSGQUEUE = 12,
#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
__RLIMIT_NLIMITS = 13,
/* Maximum nice priority allowed to raise to.
Nice levels 19 .. -20 correspond to 0 .. 39
values of this resource limit. */
__RLIMIT_NICE = 13,
#define RLIMIT_NICE __RLIMIT_NICE
/* Maximum realtime priority allowed for non-priviledged
processes. */
__RLIMIT_RTPRIO = 14,
#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
__RLIMIT_NLIMITS = 15,
__RLIM_NLIMITS = __RLIMIT_NLIMITS
#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
#define RLIM_NLIMITS __RLIM_NLIMITS

View File

@ -1,4 +1,5 @@
/* Copyright (C) 1997,1999,2000,2003 Free Software Foundation, Inc.
/* Copyright (C) 1997, 1999, 2000, 2003, 2005, 2006
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
@ -57,28 +58,12 @@ typedef struct __sparc64_jmp_buf
} __jmp_buf[1];
#endif
/* Test if longjmp to JMPBUF would unwind the frame
containing a local variable at ADDRESS. */
#define _JMPBUF_UNWINDS(jmpbuf, address) \
((unsigned long int) (address) < (jmpbuf)->uc_mcontext.mc_fp)
#else
#if defined __USE_MISC || defined _ASM
# define JB_SP 0
# define JB_FP 1
# define JB_PC 2
#endif
#ifndef _ASM
typedef int __jmp_buf[3];
#endif
/* Test if longjmp to JMPBUF would unwind the frame
containing a local variable at ADDRESS. */
#define _JMPBUF_UNWINDS(jmpbuf, address) \
((int) (address) < (jmpbuf)[JB_SP])
#endif
#endif /* bits/setjmp.h */

View File

@ -81,6 +81,7 @@ struct shmid_ds
# define SHM_DEST 01000 /* segment will be destroyed on last detach */
# define SHM_LOCKED 02000 /* segment will not be swapped */
# define SHM_HUGETLB 04000 /* segment is mapped via hugetlb */
# define SHM_NORESERVE 010000 /* don't check for reservations */
struct shminfo
{

View File

@ -1,4 +1,5 @@
/* Copyright (C) 1992,95,96,97,98,99,2000,2001,2002 Free Software Foundation, Inc.
/* Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2006
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
@ -60,15 +61,7 @@ struct stat
#else
__blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
#endif
#if __WORDSIZE == 64
__time_t st_atime; /* Time of last access. */
unsigned long int __unused1;
__time_t st_mtime; /* Time of last modification. */
unsigned long int __unused2;
__time_t st_ctime; /* Time of last status change. */
unsigned long int __unused3;
#else
# ifdef __USE_MISC
#ifdef __USE_MISC
/* Nanosecond resolution timestamps are stored in a format
equivalent to 'struct timespec'. This is the type used
whenever possible but the Unix namespace rules do not allow the
@ -78,17 +71,16 @@ struct stat
struct timespec st_atim; /* Time of last access. */
struct timespec st_mtim; /* Time of last modification. */
struct timespec st_ctim; /* Time of last status change. */
# define st_atime st_atim.tv_sec /* Backward compatibility. */
# define st_mtime st_mtim.tv_sec
# define st_ctime st_ctim.tv_sec
# else
# define st_atime st_atim.tv_sec /* Backward compatibility. */
# define st_mtime st_mtim.tv_sec
# define st_ctime st_ctim.tv_sec
#else
__time_t st_atime; /* Time of last access. */
unsigned long int st_atimensec; /* Nscecs of last access. */
__time_t st_mtime; /* Time of last modification. */
unsigned long int st_mtimensec; /* Nsecs of last modification. */
__time_t st_ctime; /* Time of last status change. */
unsigned long int st_ctimensec; /* Nsecs of last status change. */
# endif
#endif
unsigned long int __unused4;
unsigned long int __unused5;
@ -112,15 +104,7 @@ struct stat64
__blksize_t st_blksize; /* Optimal block size for I/O. */
__blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
#if __WORDSIZE == 64
__time_t st_atime; /* Time of last access. */
unsigned long int __unused1;
__time_t st_mtime; /* Time of last modification. */
unsigned long int __unused2;
__time_t st_ctime; /* Time of last status change. */
unsigned long int __unused3;
#else
# ifdef __USE_MISC
#ifdef __USE_MISC
/* Nanosecond resolution timestamps are stored in a format
equivalent to 'struct timespec'. This is the type used
whenever possible but the Unix namespace rules do not allow the
@ -130,17 +114,16 @@ struct stat64
struct timespec st_atim; /* Time of last access. */
struct timespec st_mtim; /* Time of last modification. */
struct timespec st_ctim; /* Time of last status change. */
# define st_atime st_atim.tv_sec /* Backward compatibility. */
# define st_mtime st_mtim.tv_sec
# define st_ctime st_ctim.tv_sec
# else
# define st_atime st_atim.tv_sec /* Backward compatibility. */
# define st_mtime st_mtim.tv_sec
# define st_ctime st_ctim.tv_sec
#else
__time_t st_atime; /* Time of last access. */
unsigned long int st_atimensec; /* Nscecs of last access. */
__time_t st_mtime; /* Time of last modification. */
unsigned long int st_mtimensec; /* Nsecs of last modification. */
__time_t st_ctime; /* Time of last status change. */
unsigned long int st_ctimensec; /* Nsecs of last status change. */
# endif
#endif
unsigned long int __unused4;
unsigned long int __unused5;

View File

@ -1,5 +1,6 @@
/* termios type and macro definitions. Linux/SPARC version.
Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 2005
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
@ -84,34 +85,41 @@ struct termios
#define ONLRET 0x00000020
#define OFILL 0x00000040
#define OFDEL 0x00000080
#define NLDLY 0x00000100
#define NL0 0x00000000
#define NL1 0x00000100
#define CRDLY 0x00000600
#define CR0 0x00000000
#define CR1 0x00000200
#define CR2 0x00000400
#define CR3 0x00000600
#define TABDLY 0x00001800
#define TAB0 0x00000000
#define TAB1 0x00000800
#define TAB2 0x00001000
#define TAB3 0x00001800
#define XTABS 0x00001800
#define BSDLY 0x00002000
#define BS0 0x00000000
#define BS1 0x00002000
#define VTDLY 0x00004000
#define VT0 0x00000000
#define VT1 0x00004000
#if defined __USE_MISC || defined __USE_XOPEN
# define NLDLY 0x00000100
# define NL0 0x00000000
# define NL1 0x00000100
# define CRDLY 0x00000600
# define CR0 0x00000000
# define CR1 0x00000200
# define CR2 0x00000400
# define CR3 0x00000600
# define TABDLY 0x00001800
# define TAB0 0x00000000
# define TAB1 0x00000800
# define TAB2 0x00001000
# define TAB3 0x00001800
# define BSDLY 0x00002000
# define BS0 0x00000000
# define BS1 0x00002000
#define FFDLY 0x00008000
#define FF0 0x00000000
#define FF1 0x00008000
#endif
#define VTDLY 0x00004000
#define VT0 0x00000000
#define VT1 0x00004000
#define PAGEOUT 0x00010000 /* SUNOS specific */
#define WRAP 0x00020000 /* SUNOS specific */
#ifdef __USE_MISC
# define XTABS 0x00001800
#endif
/* c_cflag bit meaning */
#define CBAUD 0x0000100f
#ifdef __USE_MISC
# define CBAUD 0x0000100f
#endif
#define B0 0x00000000 /* hang up */
#define B50 0x00000001
#define B75 0x00000002
@ -128,8 +136,10 @@ struct termios
#define B9600 0x0000000d
#define B19200 0x0000000e
#define B38400 0x0000000f
#define EXTA B19200
#define EXTB B38400
#ifdef __USE_MISC
# define EXTA B19200
# define EXTB B38400
#endif
#define CSIZE 0x00000030
#define CS5 0x00000000
#define CS6 0x00000010
@ -141,7 +151,9 @@ struct termios
#define PARODD 0x00000200
#define HUPCL 0x00000400
#define CLOCAL 0x00000800
#define CBAUDEX 0x00001000
#ifdef __USE_MISC
# define CBAUDEX 0x00001000
#endif
#define B57600 0x00001001
#define B115200 0x00001002
#define B230400 0x00001003
@ -159,26 +171,32 @@ struct termios
#define B2000000 0x0000100f
#define __MAX_BAUD B2000000
#define CIBAUD 0x100f0000 /* input baud rate (not used) */
#define CMSPAR 0x40000000 /* mark or space (stick) parity */
#define CRTSCTS 0x80000000 /* flow control */
#ifdef __USE_MISC
# define CIBAUD 0x100f0000 /* input baud rate (not used) */
# define CMSPAR 0x40000000 /* mark or space (stick) parity */
# define CRTSCTS 0x80000000 /* flow control */
#endif
/* c_lflag bits */
#define ISIG 0x00000001
#define ICANON 0x00000002
#define XCASE 0x00000004
#if defined __USE_MISC || defined __USE_XOPEN
# define XCASE 0x00000004
#endif
#define ECHO 0x00000008
#define ECHOE 0x00000010
#define ECHOK 0x00000020
#define ECHONL 0x00000040
#define NOFLSH 0x00000080
#define TOSTOP 0x00000100
#define ECHOCTL 0x00000200
#define ECHOPRT 0x00000400
#define ECHOKE 0x00000800
#define DEFECHO 0x00001000 /* SUNOS thing, what is it? */
#define FLUSHO 0x00002000
#define PENDIN 0x00004000
#ifdef __USE_MISC
# define ECHOCTL 0x00000200
# define ECHOPRT 0x00000400
# define ECHOKE 0x00000800
# define DEFECHO 0x00001000 /* SUNOS thing, what is it? */
# define FLUSHO 0x00002000
# define PENDIN 0x00004000
#endif
#define IEXTEN 0x00008000
/* modem lines */

View File

@ -0,0 +1,20 @@
/* Determine the wordsize from the preprocessor defines. */
#if defined __arch64__ || defined __sparcv9
# define __WORDSIZE 64
#else
# define __WORDSIZE 32
#endif
#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
# if __WORDSIZE == 32
/* Signal that in 32bit ABI we didn't used to have a `long double'.
The changes all the `long double' function variants to be redirects
to the double functions. */
# define __LONG_DOUBLE_MATH_OPTIONAL 1
# ifndef __LONG_DOUBLE_128__
# define __NO_LONG_DOUBLE_MATH 1
# endif
# endif
#endif