2000-05-22 05:22:28 +08:00
|
|
|
@node Error Reporting, Memory, Introduction, Top
|
1995-02-18 09:27:10 +08:00
|
|
|
@chapter Error Reporting
|
1998-07-13 20:29:13 +08:00
|
|
|
@c %MENU% How library functions report errors
|
1995-02-18 09:27:10 +08:00
|
|
|
@cindex error reporting
|
|
|
|
@cindex reporting errors
|
|
|
|
@cindex error codes
|
|
|
|
@cindex status codes
|
|
|
|
|
2012-02-28 22:44:20 +08:00
|
|
|
Many functions in @theglibc{} detect and report error conditions,
|
1995-02-18 09:27:10 +08:00
|
|
|
and sometimes your programs need to check for these error conditions.
|
|
|
|
For example, when you open an input file, you should verify that the
|
|
|
|
file was actually opened correctly, and print an error message or take
|
|
|
|
other appropriate action if the call to the library function failed.
|
|
|
|
|
|
|
|
This chapter describes how the error reporting facility works. Your
|
|
|
|
program should include the header file @file{errno.h} to use this
|
|
|
|
facility.
|
|
|
|
@pindex errno.h
|
|
|
|
|
|
|
|
@menu
|
|
|
|
* Checking for Errors:: How errors are reported by library functions.
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
* Error Codes:: Error code macros; all of these expand
|
1995-02-18 09:27:10 +08:00
|
|
|
into integer constant values.
|
|
|
|
* Error Messages:: Mapping error codes onto error messages.
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
@node Checking for Errors, Error Codes, , Error Reporting
|
|
|
|
@section Checking for Errors
|
|
|
|
|
|
|
|
Most library functions return a special value to indicate that they have
|
|
|
|
failed. The special value is typically @code{-1}, a null pointer, or a
|
|
|
|
constant such as @code{EOF} that is defined for that purpose. But this
|
|
|
|
return value tells you only that an error has occurred. To find out
|
|
|
|
what kind of error it was, you need to look at the error code stored in the
|
|
|
|
variable @code{errno}. This variable is declared in the header file
|
|
|
|
@file{errno.h}.
|
|
|
|
@pindex errno.h
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr {Variable} {volatile int} errno
|
|
|
|
The variable @code{errno} contains the system error number. You can
|
|
|
|
change the value of @code{errno}.
|
|
|
|
|
|
|
|
Since @code{errno} is declared @code{volatile}, it might be changed
|
|
|
|
asynchronously by a signal handler; see @ref{Defining Handlers}.
|
|
|
|
However, a properly written signal handler saves and restores the value
|
|
|
|
of @code{errno}, so you generally do not need to worry about this
|
|
|
|
possibility except when writing signal handlers.
|
|
|
|
|
|
|
|
The initial value of @code{errno} at program startup is zero. Many
|
|
|
|
library functions are guaranteed to set it to certain nonzero values
|
|
|
|
when they encounter certain kinds of errors. These error conditions are
|
|
|
|
listed for each function. These functions do not change @code{errno}
|
|
|
|
when they succeed; thus, the value of @code{errno} after a successful
|
|
|
|
call is not necessarily zero, and you should not use @code{errno} to
|
|
|
|
determine @emph{whether} a call failed. The proper way to do that is
|
1999-06-16 23:44:59 +08:00
|
|
|
documented for each function. @emph{If} the call failed, you can
|
1995-02-18 09:27:10 +08:00
|
|
|
examine @code{errno}.
|
|
|
|
|
|
|
|
Many library functions can set @code{errno} to a nonzero value as a
|
|
|
|
result of calling other library functions which might fail. You should
|
|
|
|
assume that any library function might alter @code{errno} when the
|
|
|
|
function returns an error.
|
|
|
|
|
1996-12-08 16:01:13 +08:00
|
|
|
@strong{Portability Note:} @w{ISO C} specifies @code{errno} as a
|
1995-02-18 09:27:10 +08:00
|
|
|
``modifiable lvalue'' rather than as a variable, permitting it to be
|
|
|
|
implemented as a macro. For example, its expansion might involve a
|
2012-03-08 09:27:38 +08:00
|
|
|
function call, like @w{@code{*__errno_location ()}}. In fact, that is
|
|
|
|
what it is
|
|
|
|
on @gnulinuxhurdsystems{}. @Theglibc{}, on each system, does
|
1995-02-18 09:27:10 +08:00
|
|
|
whatever is right for the particular system.
|
|
|
|
|
|
|
|
There are a few library functions, like @code{sqrt} and @code{atan},
|
|
|
|
that return a perfectly legitimate value in case of an error, but also
|
|
|
|
set @code{errno}. For these functions, if you want to check to see
|
|
|
|
whether an error occurred, the recommended method is to set @code{errno}
|
|
|
|
to zero before calling the function, and then check its value afterward.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@pindex errno.h
|
|
|
|
All the error codes have symbolic names; they are macros defined in
|
|
|
|
@file{errno.h}. The names start with @samp{E} and an upper-case
|
|
|
|
letter or digit; you should consider names of this form to be
|
|
|
|
reserved names. @xref{Reserved Names}.
|
|
|
|
|
|
|
|
The error code values are all positive integers and are all distinct,
|
|
|
|
with one exception: @code{EWOULDBLOCK} and @code{EAGAIN} are the same.
|
|
|
|
Since the values are distinct, you can use them as labels in a
|
|
|
|
@code{switch} statement; just don't use both @code{EWOULDBLOCK} and
|
|
|
|
@code{EAGAIN}. Your program should not make any other assumptions about
|
|
|
|
the specific values of these symbolic constants.
|
|
|
|
|
|
|
|
The value of @code{errno} doesn't necessarily have to correspond to any
|
|
|
|
of these macros, since some library functions might return other error
|
|
|
|
codes of their own for other situations. The only values that are
|
|
|
|
guaranteed to be meaningful for a particular library function are the
|
|
|
|
ones that this manual lists for that function.
|
|
|
|
|
2012-03-08 09:27:38 +08:00
|
|
|
Except on @gnuhurdsystems{}, almost any system call can return @code{EFAULT} if
|
1995-02-18 09:27:10 +08:00
|
|
|
it is given an invalid pointer as an argument. Since this could only
|
|
|
|
happen as a result of a bug in your program, and since it will not
|
2012-03-08 09:27:38 +08:00
|
|
|
happen on @gnuhurdsystems{}, we have saved space by not mentioning
|
1995-02-18 09:27:10 +08:00
|
|
|
@code{EFAULT} in the descriptions of individual functions.
|
|
|
|
|
|
|
|
In some Unix systems, many system calls can also return @code{EFAULT} if
|
|
|
|
given as an argument a pointer into the stack, and the kernel for some
|
|
|
|
obscure reason fails in its attempt to extend the stack. If this ever
|
|
|
|
happens, you should probably try using statically or dynamically
|
|
|
|
allocated memory instead of stack memory on that system.
|
|
|
|
|
|
|
|
@node Error Codes, Error Messages, Checking for Errors, Error Reporting
|
|
|
|
@section Error Codes
|
|
|
|
|
|
|
|
@pindex errno.h
|
|
|
|
The error code macros are defined in the header file @file{errno.h}.
|
|
|
|
All of them expand into integer constant values. Some of these error
|
2012-03-08 09:27:38 +08:00
|
|
|
codes can't occur on @gnusystems{}, but they can occur using @theglibc{}
|
2012-02-28 22:44:20 +08:00
|
|
|
on other systems.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Operation not permitted
|
|
|
|
@deftypevr Macro int EPERM
|
|
|
|
@comment errno 1 @c DO NOT REMOVE
|
|
|
|
Operation not permitted; only the owner of the file (or other resource)
|
|
|
|
or processes with special privileges can perform the operation.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: No such file or directory
|
|
|
|
@deftypevr Macro int ENOENT
|
|
|
|
@comment errno 2 @c DO NOT REMOVE
|
|
|
|
No such file or directory. This is a ``file doesn't exist'' error
|
|
|
|
for ordinary files that are referenced in contexts where they are
|
|
|
|
expected to already exist.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: No such process
|
|
|
|
@deftypevr Macro int ESRCH
|
|
|
|
@comment errno 3 @c DO NOT REMOVE
|
|
|
|
No process matches the specified process ID.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Interrupted system call
|
|
|
|
@deftypevr Macro int EINTR
|
|
|
|
@comment errno 4 @c DO NOT REMOVE
|
1996-12-20 09:39:50 +08:00
|
|
|
Interrupted function call; an asynchronous signal occurred and prevented
|
1995-02-18 09:27:10 +08:00
|
|
|
completion of the call. When this happens, you should try the call
|
|
|
|
again.
|
|
|
|
|
|
|
|
You can choose to have functions resume after a signal that is handled,
|
|
|
|
rather than failing with @code{EINTR}; see @ref{Interrupted
|
|
|
|
Primitives}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Input/output error
|
|
|
|
@deftypevr Macro int EIO
|
|
|
|
@comment errno 5 @c DO NOT REMOVE
|
|
|
|
Input/output error; usually used for physical read or write errors.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
2000-09-29 07:11:33 +08:00
|
|
|
@comment POSIX.1: No such device or address
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int ENXIO
|
|
|
|
@comment errno 6 @c DO NOT REMOVE
|
|
|
|
No such device or address. The system tried to use the device
|
|
|
|
represented by a file you specified, and it couldn't find the device.
|
|
|
|
This can mean that the device file was installed incorrectly, or that
|
|
|
|
the physical device is missing or not correctly attached to the
|
|
|
|
computer.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Argument list too long
|
|
|
|
@deftypevr Macro int E2BIG
|
|
|
|
@comment errno 7 @c DO NOT REMOVE
|
|
|
|
Argument list too long; used when the arguments passed to a new program
|
|
|
|
being executed with one of the @code{exec} functions (@pxref{Executing a
|
2012-03-08 09:27:38 +08:00
|
|
|
File}) occupy too much memory space. This condition never arises on
|
|
|
|
@gnuhurdsystems{}.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Exec format error
|
|
|
|
@deftypevr Macro int ENOEXEC
|
|
|
|
@comment errno 8 @c DO NOT REMOVE
|
|
|
|
Invalid executable file format. This condition is detected by the
|
|
|
|
@code{exec} functions; see @ref{Executing a File}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Bad file descriptor
|
|
|
|
@deftypevr Macro int EBADF
|
|
|
|
@comment errno 9 @c DO NOT REMOVE
|
|
|
|
Bad file descriptor; for example, I/O on a descriptor that has been
|
|
|
|
closed or reading from a descriptor open only for writing (or vice
|
|
|
|
versa).
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: No child processes
|
|
|
|
@deftypevr Macro int ECHILD
|
|
|
|
@comment errno 10 @c DO NOT REMOVE
|
|
|
|
There are no child processes. This error happens on operations that are
|
|
|
|
supposed to manipulate child processes, when there aren't any processes
|
|
|
|
to manipulate.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Resource deadlock avoided
|
|
|
|
@deftypevr Macro int EDEADLK
|
|
|
|
@comment errno 11 @c DO NOT REMOVE
|
|
|
|
Deadlock avoided; allocating a system resource would have resulted in a
|
|
|
|
deadlock situation. The system does not guarantee that it will notice
|
|
|
|
all such situations. This error means you got lucky and the system
|
|
|
|
noticed; it might just hang. @xref{File Locks}, for an example.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Cannot allocate memory
|
|
|
|
@deftypevr Macro int ENOMEM
|
|
|
|
@comment errno 12 @c DO NOT REMOVE
|
|
|
|
No memory available. The system cannot allocate more virtual memory
|
|
|
|
because its capacity is full.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Permission denied
|
|
|
|
@deftypevr Macro int EACCES
|
|
|
|
@comment errno 13 @c DO NOT REMOVE
|
|
|
|
Permission denied; the file permissions do not allow the attempted operation.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Bad address
|
|
|
|
@deftypevr Macro int EFAULT
|
|
|
|
@comment errno 14 @c DO NOT REMOVE
|
|
|
|
Bad address; an invalid pointer was detected.
|
2012-03-08 09:27:38 +08:00
|
|
|
On @gnuhurdsystems{}, this error never happens; you get a signal instead.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Block device required
|
|
|
|
@deftypevr Macro int ENOTBLK
|
|
|
|
@comment errno 15 @c DO NOT REMOVE
|
|
|
|
A file that isn't a block special file was given in a situation that
|
|
|
|
requires one. For example, trying to mount an ordinary file as a file
|
|
|
|
system in Unix gives this error.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-06-04 09:41:11 +08:00
|
|
|
@comment POSIX.1: Device or resource busy
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int EBUSY
|
|
|
|
@comment errno 16 @c DO NOT REMOVE
|
|
|
|
Resource busy; a system resource that can't be shared is already in use.
|
|
|
|
For example, if you try to delete a file that is the root of a currently
|
|
|
|
mounted filesystem, you get this error.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: File exists
|
|
|
|
@deftypevr Macro int EEXIST
|
|
|
|
@comment errno 17 @c DO NOT REMOVE
|
|
|
|
File exists; an existing file was specified in a context where it only
|
|
|
|
makes sense to specify a new file.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Invalid cross-device link
|
|
|
|
@deftypevr Macro int EXDEV
|
|
|
|
@comment errno 18 @c DO NOT REMOVE
|
|
|
|
An attempt to make an improper link across file systems was detected.
|
|
|
|
This happens not only when you use @code{link} (@pxref{Hard Links}) but
|
|
|
|
also when you rename a file with @code{rename} (@pxref{Renaming Files}).
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1998-11-18 22:46:49 +08:00
|
|
|
@comment POSIX.1: No such device
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int ENODEV
|
|
|
|
@comment errno 19 @c DO NOT REMOVE
|
|
|
|
The wrong type of device was given to a function that expects a
|
|
|
|
particular sort of device.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Not a directory
|
|
|
|
@deftypevr Macro int ENOTDIR
|
|
|
|
@comment errno 20 @c DO NOT REMOVE
|
|
|
|
A file that isn't a directory was specified when a directory is required.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Is a directory
|
|
|
|
@deftypevr Macro int EISDIR
|
|
|
|
@comment errno 21 @c DO NOT REMOVE
|
|
|
|
File is a directory; you cannot open a directory for writing,
|
|
|
|
or create or remove hard links to it.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Invalid argument
|
|
|
|
@deftypevr Macro int EINVAL
|
|
|
|
@comment errno 22 @c DO NOT REMOVE
|
|
|
|
Invalid argument. This is used to indicate various kinds of problems
|
|
|
|
with passing the wrong argument to a library function.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Too many open files
|
|
|
|
@deftypevr Macro int EMFILE
|
|
|
|
@comment errno 24 @c DO NOT REMOVE
|
|
|
|
The current process has too many files open and can't open any more.
|
|
|
|
Duplicate descriptors do count toward this limit.
|
|
|
|
|
|
|
|
In BSD and GNU, the number of open files is controlled by a resource
|
|
|
|
limit that can usually be increased. If you get this error, you might
|
|
|
|
want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited;
|
|
|
|
@pxref{Limits on Resources}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Too many open files in system
|
|
|
|
@deftypevr Macro int ENFILE
|
|
|
|
@comment errno 23 @c DO NOT REMOVE
|
|
|
|
There are too many distinct file openings in the entire system. Note
|
|
|
|
that any number of linked channels count as just one file opening; see
|
2012-03-08 09:27:38 +08:00
|
|
|
@ref{Linked Channels}. This error never occurs on @gnuhurdsystems{}.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Inappropriate ioctl for device
|
|
|
|
@deftypevr Macro int ENOTTY
|
|
|
|
@comment errno 25 @c DO NOT REMOVE
|
|
|
|
Inappropriate I/O control operation, such as trying to set terminal
|
|
|
|
modes on an ordinary file.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Text file busy
|
|
|
|
@deftypevr Macro int ETXTBSY
|
|
|
|
@comment errno 26 @c DO NOT REMOVE
|
|
|
|
An attempt to execute a file that is currently open for writing, or
|
|
|
|
write to a file that is currently being executed. Often using a
|
|
|
|
debugger to run a program is considered having it open for writing and
|
|
|
|
will cause this error. (The name stands for ``text file busy''.) This
|
2012-03-08 09:27:38 +08:00
|
|
|
is not an error on @gnuhurdsystems{}; the text is copied as necessary.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: File too large
|
|
|
|
@deftypevr Macro int EFBIG
|
|
|
|
@comment errno 27 @c DO NOT REMOVE
|
|
|
|
File too big; the size of a file would be larger than allowed by the system.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: No space left on device
|
|
|
|
@deftypevr Macro int ENOSPC
|
|
|
|
@comment errno 28 @c DO NOT REMOVE
|
|
|
|
No space left on device; write operation on a file failed because the
|
|
|
|
disk is full.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Illegal seek
|
|
|
|
@deftypevr Macro int ESPIPE
|
|
|
|
@comment errno 29 @c DO NOT REMOVE
|
|
|
|
Invalid seek operation (such as on a pipe).
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Read-only file system
|
|
|
|
@deftypevr Macro int EROFS
|
|
|
|
@comment errno 30 @c DO NOT REMOVE
|
|
|
|
An attempt was made to modify something on a read-only file system.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Too many links
|
|
|
|
@deftypevr Macro int EMLINK
|
|
|
|
@comment errno 31 @c DO NOT REMOVE
|
|
|
|
Too many links; the link count of a single file would become too large.
|
|
|
|
@code{rename} can cause this error if the file being renamed already has
|
|
|
|
as many links as it can take (@pxref{Renaming Files}).
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Broken pipe
|
|
|
|
@deftypevr Macro int EPIPE
|
|
|
|
@comment errno 32 @c DO NOT REMOVE
|
|
|
|
Broken pipe; there is no process reading from the other end of a pipe.
|
|
|
|
Every library function that returns this error code also generates a
|
|
|
|
@code{SIGPIPE} signal; this signal terminates the program if not handled
|
|
|
|
or blocked. Thus, your program will never actually see @code{EPIPE}
|
|
|
|
unless it has handled or blocked @code{SIGPIPE}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO: Numerical argument out of domain
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int EDOM
|
|
|
|
@comment errno 33 @c DO NOT REMOVE
|
|
|
|
Domain error; used by mathematical functions when an argument value does
|
|
|
|
not fall into the domain over which the function is defined.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO: Numerical result out of range
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int ERANGE
|
|
|
|
@comment errno 34 @c DO NOT REMOVE
|
|
|
|
Range error; used by mathematical functions when the result value is
|
|
|
|
not representable because of overflow or underflow.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Resource temporarily unavailable
|
|
|
|
@deftypevr Macro int EAGAIN
|
|
|
|
@comment errno 35 @c DO NOT REMOVE
|
|
|
|
Resource temporarily unavailable; the call might work if you try again
|
|
|
|
later. The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN};
|
2012-02-28 22:44:20 +08:00
|
|
|
they are always the same in @theglibc{}.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
This error can happen in a few different situations:
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
@item
|
|
|
|
An operation that would block was attempted on an object that has
|
|
|
|
non-blocking mode selected. Trying the same operation again will block
|
|
|
|
until some external condition makes it possible to read, write, or
|
|
|
|
connect (whatever the operation). You can use @code{select} to find out
|
|
|
|
when the operation will be possible; @pxref{Waiting for I/O}.
|
|
|
|
|
Update.
1997-08-04 15:29 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/localedef.c (main): Set bit in avail for those
categories which are successfully read.
* locale/programs/locfile.c (check_all_categories): Don't check
categories if they are not available.
(write_all_categories): Don't write categories if they are not
available.
* login/setutent_r.c (setutent_unknown): Change return type to
int and return result of called function.
* manual/arith.texi: Mark floating-point test macro from ISO C 9X
as macros (not functions).
* manual/libc.texinfo (UPDATED): Update.
* manual/math.texi: Document exceptions, functions to handle
exceptions, mathematical constants, FP comparison functions
and several new functions from ISO C 9X.
Change parameter of drand48, lrand48, and mrand48 to void (not
empty).
* manual/pattern.texi: Remove paragraph which explained that wordexp
is executed by running a shell.
* manual/time.texi: Explain difficulties with strftime if the
functions returns 0 and no error occurred.
* math/math.h: Correct comment for some M_* constants.
(isgreater, isgreaterequal, isless, islessequal, islessgreater,
inunordered): Rewrite to make sure the arguments are evaluated
exactly once.
* nis/rpcsvc/nis.x: Undo last change.
* nis/rpcsvc/nis.h: Likewise.
* nis/rpcsvc/nislib.h: File moved back to here.
* posix/sys/types.h: Don't define socklen_t. Pretty print.
* socket/sys/socket.h (bind, getsockname, connect, sendto, recvfrom,
getsockopt, setsockopt, accept): Change size argument to type
socklen_t.
Pretty print.
* manual/socket.texi: Describe socklen_t and change prototypes of
socket functions to use socklen_t.
* sysdeps/generic/bits/socket.h: Define socklen_t.
(struct msghdr): Correct types to use socklen_t.
* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise.
* stdio-common/printf_fp.c (__printf_fp): Correct rouding of number
1.0 < x < 8.0.
* stdio-common/tfformat.c: Add new tests for above bug.
* stdlib/strtod.c: Fix typo.
* string/Makefile (headers): Add bits/string.h.
(CFLAGS-*): Add -D__NO_STRING_INLINES.
* string/string.h: Include <bits/string.h> if optimizing and
__NO_STRING_INLINES is not defined.
* sysdeps/stub/bits/string.h: New file.
* sysdeps/powerpc/bits/fenv.h: Fix typos.
* sysdeps/unix/sysv/linux/if_index.c: Let functions return ENOSYS
if SIOGIFINDEX is not defined.
* sysdeps/wordsize-32/inttypes.h: Pretty print.
* sysdeps/wordsize-64/inttypes.h: Pretty print.
* termios/cfsetspeed.c: Rewrite loop to do what it shall do.
* wcsmbs/Makefile (tests): Add tst-wcstof.
* wcsmbs/tst-wcstof.c: New file.
1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/__longjmp.c: Replace call to abort by infinite
loop, to avoid dragging stdio into the dynamic linker.
1997-08-02 19:44 H.J. Lu <hjl@gnu.ai.mit.edu>
* nis/nis_findserv.c (xid, xid_seed, xid_lookup): Make them
u_int32_t.
1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/wordexp.c (parse_tilde): Fix calls to __getpwnam_r and
__getpwuid_r.
Include <stdio.h> to get prototypes of *printf.
(exec_comm): Remove unneeded variable *sh.
* libc.map: Add wordexp, wordfree.
* posix/Makefile (routines): Add wordexp.
1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/wordexp.c: Correct typo in comment.
(wordexp): Likewise.
* manual/errno.texi (Error Codes): Fix typo.
1997-08-03 15:28 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c (SECTION): Don't put quotes around section name
since this is not understood by all assemblers.
Patch by Klaus Espenlaub <kespenla@hydra.informatik.uni-ulm.de>.
1997-08-04 22:31:26 +08:00
|
|
|
@strong{Portability Note:} In many older Unix systems, this condition
|
1995-02-18 09:27:10 +08:00
|
|
|
was indicated by @code{EWOULDBLOCK}, which was a distinct error code
|
|
|
|
different from @code{EAGAIN}. To make your program portable, you should
|
|
|
|
check for both codes and treat them the same.
|
|
|
|
|
|
|
|
@item
|
|
|
|
A temporary resource shortage made an operation impossible. @code{fork}
|
|
|
|
can return this error. It indicates that the shortage is expected to
|
|
|
|
pass, so your program can try the call again later and it may succeed.
|
|
|
|
It is probably a good idea to delay for a few seconds before trying it
|
|
|
|
again, to allow time for other processes to release scarce resources.
|
|
|
|
Such shortages are usually fairly serious and affect the whole system,
|
|
|
|
so usually an interactive program should report the error to the user
|
|
|
|
and return to its command loop.
|
|
|
|
@end itemize
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Operation would block
|
|
|
|
@deftypevr Macro int EWOULDBLOCK
|
|
|
|
@comment errno EAGAIN @c DO NOT REMOVE
|
2012-02-28 22:44:20 +08:00
|
|
|
In @theglibc{}, this is another name for @code{EAGAIN} (above).
|
1995-02-18 09:27:10 +08:00
|
|
|
The values are always the same, on every operating system.
|
|
|
|
|
|
|
|
C libraries in many older Unix systems have @code{EWOULDBLOCK} as a
|
|
|
|
separate error code.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Operation now in progress
|
|
|
|
@deftypevr Macro int EINPROGRESS
|
|
|
|
@comment errno 36 @c DO NOT REMOVE
|
|
|
|
An operation that cannot complete immediately was initiated on an object
|
|
|
|
that has non-blocking mode selected. Some functions that must always
|
|
|
|
block (such as @code{connect}; @pxref{Connecting}) never return
|
|
|
|
@code{EAGAIN}. Instead, they return @code{EINPROGRESS} to indicate that
|
|
|
|
the operation has begun and will take some time. Attempts to manipulate
|
|
|
|
the object before the call completes return @code{EALREADY}. You can
|
|
|
|
use the @code{select} function to find out when the pending operation
|
|
|
|
has completed; @pxref{Waiting for I/O}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Operation already in progress
|
|
|
|
@deftypevr Macro int EALREADY
|
|
|
|
@comment errno 37 @c DO NOT REMOVE
|
|
|
|
An operation is already in progress on an object that has non-blocking
|
|
|
|
mode selected.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Socket operation on non-socket
|
|
|
|
@deftypevr Macro int ENOTSOCK
|
|
|
|
@comment errno 38 @c DO NOT REMOVE
|
|
|
|
A file that isn't a socket was specified when a socket is required.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Message too long
|
|
|
|
@deftypevr Macro int EMSGSIZE
|
|
|
|
@comment errno 40 @c DO NOT REMOVE
|
|
|
|
The size of a message sent on a socket was larger than the supported
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
maximum size.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Protocol wrong type for socket
|
|
|
|
@deftypevr Macro int EPROTOTYPE
|
|
|
|
@comment errno 41 @c DO NOT REMOVE
|
|
|
|
The socket type does not support the requested communications protocol.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Protocol not available
|
|
|
|
@deftypevr Macro int ENOPROTOOPT
|
|
|
|
@comment errno 42 @c DO NOT REMOVE
|
|
|
|
You specified a socket option that doesn't make sense for the
|
|
|
|
particular protocol being used by the socket. @xref{Socket Options}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Protocol not supported
|
|
|
|
@deftypevr Macro int EPROTONOSUPPORT
|
|
|
|
@comment errno 43 @c DO NOT REMOVE
|
|
|
|
The socket domain does not support the requested communications protocol
|
1998-06-02 20:58:14 +08:00
|
|
|
(perhaps because the requested protocol is completely invalid).
|
1995-02-18 09:27:10 +08:00
|
|
|
@xref{Creating a Socket}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Socket type not supported
|
|
|
|
@deftypevr Macro int ESOCKTNOSUPPORT
|
|
|
|
@comment errno 44 @c DO NOT REMOVE
|
|
|
|
The socket type is not supported.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Operation not supported
|
|
|
|
@deftypevr Macro int EOPNOTSUPP
|
|
|
|
@comment errno 45 @c DO NOT REMOVE
|
|
|
|
The operation you requested is not supported. Some socket functions
|
|
|
|
don't make sense for all types of sockets, and others may not be
|
2012-03-08 09:27:38 +08:00
|
|
|
implemented for all communications protocols. On @gnuhurdsystems{}, this
|
1995-02-18 09:27:10 +08:00
|
|
|
error can happen for many calls when the object does not support the
|
|
|
|
particular operation; it is a generic indication that the server knows
|
|
|
|
nothing to do for that call.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Protocol family not supported
|
|
|
|
@deftypevr Macro int EPFNOSUPPORT
|
|
|
|
@comment errno 46 @c DO NOT REMOVE
|
|
|
|
The socket communications protocol family you requested is not supported.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-06-04 09:41:11 +08:00
|
|
|
@comment BSD: Address family not supported by protocol
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int EAFNOSUPPORT
|
|
|
|
@comment errno 47 @c DO NOT REMOVE
|
|
|
|
The address family specified for a socket is not supported; it is
|
|
|
|
inconsistent with the protocol being used on the socket. @xref{Sockets}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Address already in use
|
|
|
|
@deftypevr Macro int EADDRINUSE
|
|
|
|
@comment errno 48 @c DO NOT REMOVE
|
|
|
|
The requested socket address is already in use. @xref{Socket Addresses}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-06-04 09:41:11 +08:00
|
|
|
@comment BSD: Cannot assign requested address
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int EADDRNOTAVAIL
|
|
|
|
@comment errno 49 @c DO NOT REMOVE
|
|
|
|
The requested socket address is not available; for example, you tried
|
|
|
|
to give a socket a name that doesn't match the local host name.
|
|
|
|
@xref{Socket Addresses}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Network is down
|
|
|
|
@deftypevr Macro int ENETDOWN
|
|
|
|
@comment errno 50 @c DO NOT REMOVE
|
|
|
|
A socket operation failed because the network was down.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Network is unreachable
|
|
|
|
@deftypevr Macro int ENETUNREACH
|
|
|
|
@comment errno 51 @c DO NOT REMOVE
|
|
|
|
A socket operation failed because the subnet containing the remote host
|
|
|
|
was unreachable.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Network dropped connection on reset
|
|
|
|
@deftypevr Macro int ENETRESET
|
|
|
|
@comment errno 52 @c DO NOT REMOVE
|
|
|
|
A network connection was reset because the remote host crashed.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Software caused connection abort
|
|
|
|
@deftypevr Macro int ECONNABORTED
|
|
|
|
@comment errno 53 @c DO NOT REMOVE
|
|
|
|
A network connection was aborted locally.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Connection reset by peer
|
|
|
|
@deftypevr Macro int ECONNRESET
|
|
|
|
@comment errno 54 @c DO NOT REMOVE
|
|
|
|
A network connection was closed for reasons outside the control of the
|
|
|
|
local host, such as by the remote machine rebooting or an unrecoverable
|
|
|
|
protocol violation.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: No buffer space available
|
|
|
|
@deftypevr Macro int ENOBUFS
|
|
|
|
@comment errno 55 @c DO NOT REMOVE
|
|
|
|
The kernel's buffers for I/O operations are all in use. In GNU, this
|
|
|
|
error is always synonymous with @code{ENOMEM}; you may get one or the
|
|
|
|
other from network operations.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-06-04 09:41:11 +08:00
|
|
|
@comment BSD: Transport endpoint is already connected
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int EISCONN
|
|
|
|
@comment errno 56 @c DO NOT REMOVE
|
|
|
|
You tried to connect a socket that is already connected.
|
|
|
|
@xref{Connecting}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-06-04 09:41:11 +08:00
|
|
|
@comment BSD: Transport endpoint is not connected
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int ENOTCONN
|
|
|
|
@comment errno 57 @c DO NOT REMOVE
|
|
|
|
The socket is not connected to anything. You get this error when you
|
|
|
|
try to transmit data over a socket, without first specifying a
|
|
|
|
destination for the data. For a connectionless socket (for datagram
|
|
|
|
protocols, such as UDP), you get @code{EDESTADDRREQ} instead.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Destination address required
|
|
|
|
@deftypevr Macro int EDESTADDRREQ
|
|
|
|
@comment errno 39 @c DO NOT REMOVE
|
|
|
|
No default destination address was set for the socket. You get this
|
|
|
|
error when you try to transmit data over a connectionless socket,
|
|
|
|
without first specifying a destination for the data with @code{connect}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-06-04 09:41:11 +08:00
|
|
|
@comment BSD: Cannot send after transport endpoint shutdown
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int ESHUTDOWN
|
|
|
|
@comment errno 58 @c DO NOT REMOVE
|
|
|
|
The socket has already been shut down.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-06-04 09:41:11 +08:00
|
|
|
@comment BSD: Too many references: cannot splice
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int ETOOMANYREFS
|
|
|
|
@comment errno 59 @c DO NOT REMOVE
|
|
|
|
???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Connection timed out
|
|
|
|
@deftypevr Macro int ETIMEDOUT
|
|
|
|
@comment errno 60 @c DO NOT REMOVE
|
|
|
|
A socket operation with a specified timeout received no response during
|
|
|
|
the timeout period.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Connection refused
|
|
|
|
@deftypevr Macro int ECONNREFUSED
|
|
|
|
@comment errno 61 @c DO NOT REMOVE
|
|
|
|
A remote host refused to allow the network connection (typically because
|
|
|
|
it is not running the requested service).
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Too many levels of symbolic links
|
|
|
|
@deftypevr Macro int ELOOP
|
|
|
|
@comment errno 62 @c DO NOT REMOVE
|
|
|
|
Too many levels of symbolic links were encountered in looking up a file name.
|
|
|
|
This often indicates a cycle of symbolic links.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: File name too long
|
|
|
|
@deftypevr Macro int ENAMETOOLONG
|
|
|
|
@comment errno 63 @c DO NOT REMOVE
|
|
|
|
Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for
|
|
|
|
Files}) or host name too long (in @code{gethostname} or
|
|
|
|
@code{sethostname}; @pxref{Host Identification}).
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Host is down
|
|
|
|
@deftypevr Macro int EHOSTDOWN
|
|
|
|
@comment errno 64 @c DO NOT REMOVE
|
|
|
|
The remote host for a requested network connection is down.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: No route to host
|
|
|
|
@deftypevr Macro int EHOSTUNREACH
|
|
|
|
@comment errno 65 @c DO NOT REMOVE
|
|
|
|
The remote host for a requested network connection is not reachable.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Directory not empty
|
|
|
|
@deftypevr Macro int ENOTEMPTY
|
|
|
|
@comment errno 66 @c DO NOT REMOVE
|
|
|
|
Directory not empty, where an empty directory was expected. Typically,
|
|
|
|
this error occurs when you are trying to delete a directory.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Too many processes
|
|
|
|
@deftypevr Macro int EPROCLIM
|
|
|
|
@comment errno 67 @c DO NOT REMOVE
|
|
|
|
This means that the per-user limit on new process would be exceeded by
|
|
|
|
an attempted @code{fork}. @xref{Limits on Resources}, for details on
|
|
|
|
the @code{RLIMIT_NPROC} limit.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Too many users
|
|
|
|
@deftypevr Macro int EUSERS
|
|
|
|
@comment errno 68 @c DO NOT REMOVE
|
|
|
|
The file quota system is confused because there are too many users.
|
|
|
|
@c This can probably happen in a GNU system when using NFS.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1998-12-23 21:13:49 +08:00
|
|
|
@comment BSD: Disk quota exceeded
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int EDQUOT
|
|
|
|
@comment errno 69 @c DO NOT REMOVE
|
|
|
|
The user's disk quota was exceeded.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
2013-05-24 03:28:00 +08:00
|
|
|
@comment BSD: Stale file handle
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int ESTALE
|
|
|
|
@comment errno 70 @c DO NOT REMOVE
|
2013-05-24 03:28:00 +08:00
|
|
|
Stale file handle. This indicates an internal confusion in the
|
|
|
|
file system which is due to file system rearrangements on the server host
|
|
|
|
for NFS file systems or corruption in other file systems.
|
|
|
|
Repairing this condition usually requires unmounting, possibly repairing
|
|
|
|
and remounting the file system.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-06-04 09:41:11 +08:00
|
|
|
@comment BSD: Object is remote
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int EREMOTE
|
|
|
|
@comment errno 71 @c DO NOT REMOVE
|
|
|
|
An attempt was made to NFS-mount a remote file system with a file name that
|
|
|
|
already specifies an NFS-mounted file.
|
|
|
|
(This is an error on some operating systems, but we expect it to work
|
2012-03-08 09:27:38 +08:00
|
|
|
properly on @gnuhurdsystems{}, making this error code impossible.)
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: RPC struct is bad
|
|
|
|
@deftypevr Macro int EBADRPC
|
|
|
|
@comment errno 72 @c DO NOT REMOVE
|
|
|
|
???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: RPC version wrong
|
|
|
|
@deftypevr Macro int ERPCMISMATCH
|
|
|
|
@comment errno 73 @c DO NOT REMOVE
|
|
|
|
???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: RPC program not available
|
|
|
|
@deftypevr Macro int EPROGUNAVAIL
|
|
|
|
@comment errno 74 @c DO NOT REMOVE
|
|
|
|
???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: RPC program version wrong
|
|
|
|
@deftypevr Macro int EPROGMISMATCH
|
|
|
|
@comment errno 75 @c DO NOT REMOVE
|
|
|
|
???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: RPC bad procedure for program
|
|
|
|
@deftypevr Macro int EPROCUNAVAIL
|
|
|
|
@comment errno 76 @c DO NOT REMOVE
|
|
|
|
???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: No locks available
|
|
|
|
@deftypevr Macro int ENOLCK
|
|
|
|
@comment errno 77 @c DO NOT REMOVE
|
|
|
|
No locks available. This is used by the file locking facilities; see
|
2012-03-08 09:27:38 +08:00
|
|
|
@ref{File Locks}. This error is never generated by @gnuhurdsystems{}, but
|
1995-02-18 09:27:10 +08:00
|
|
|
it can result from an operation to an NFS server running another
|
|
|
|
operating system.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Inappropriate file type or format
|
|
|
|
@deftypevr Macro int EFTYPE
|
|
|
|
@comment errno 79 @c DO NOT REMOVE
|
|
|
|
Inappropriate file type or format. The file was the wrong type for the
|
|
|
|
operation, or a data file had the wrong format.
|
|
|
|
|
|
|
|
On some systems @code{chmod} returns this error if you try to set the
|
|
|
|
sticky bit on a non-directory file; @pxref{Setting Permissions}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Authentication error
|
|
|
|
@deftypevr Macro int EAUTH
|
|
|
|
@comment errno 80 @c DO NOT REMOVE
|
|
|
|
???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Need authenticator
|
|
|
|
@deftypevr Macro int ENEEDAUTH
|
|
|
|
@comment errno 81 @c DO NOT REMOVE
|
|
|
|
???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Function not implemented
|
|
|
|
@deftypevr Macro int ENOSYS
|
|
|
|
@comment errno 78 @c DO NOT REMOVE
|
1999-01-22 07:25:25 +08:00
|
|
|
Function not implemented. This indicates that the function called is
|
|
|
|
not implemented at all, either in the C library itself or in the
|
|
|
|
operating system. When you get this error, you can be sure that this
|
|
|
|
particular function will always fail with @code{ENOSYS} unless you
|
|
|
|
install a new version of the C library or the operating system.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Not supported
|
|
|
|
@deftypevr Macro int ENOTSUP
|
|
|
|
@comment errno 118 @c DO NOT REMOVE
|
|
|
|
Not supported. A function returns this error when certain parameter
|
|
|
|
values are valid, but the functionality they request is not available.
|
|
|
|
This can mean that the function does not implement a particular command
|
|
|
|
or option value or flag bit at all. For functions that operate on some
|
|
|
|
object given in a parameter, such as a file descriptor or a port, it
|
|
|
|
might instead mean that only @emph{that specific object} (file
|
|
|
|
descriptor, port, etc.) is unable to support the other parameters given;
|
|
|
|
different file descriptors might support different ranges of parameter
|
|
|
|
values.
|
|
|
|
|
|
|
|
If the entire function is not available at all in the implementation,
|
|
|
|
it returns @code{ENOSYS} instead.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
@comment errno.h
|
Wed May 22 22:10:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* stdlib/canonicalize.c: New file.
* stdlib/stdlib.h: Declare canonicalize_file_name, realpath.
* stdlib/Makefile (routines): Add canonicalize.
* posix/unistd.h: Declare __canonicalize_directory_name_internal.
Thu May 23 00:01:10 1996 Ulrich Drepper <drepper@cygnus.com>
* db/recno/rec_seq.c: Prevent `sccsid' definition by using the
same #if condition as in the other db files.
* intl/Makefile: Add -Wno-unused CFLAGS for compilation of
bindtextdom.c, finddomain.c, and localealias.c.
* intl/dcgettext.c: Don't define prototype for getcwd() when
compiling in glibc.
* libio/cleanup.c: Add prototype for _IO_register_cleanup.
* libio/filedoalloc.c, libio/fileops.c, libio/iopopen.c: Don't
define _POSIX_SOURCE unconditionally.
* libio/filedoalloc.c, libio/iopopen.c: Include <unistd.h> if
compiling in glibc.
* libio/fileops.c (_IO_file_close_it): Don't sync file, call
flush instead. This relaxes the rules from POSIX.1 about
changing the active handle a bit.
* libio/iofopncook.c (struct _IO_cookie_file): Move definition
into <libio.h>.
Add prototypes for local functions to prevent warnings.
* libio/iopopen.c: Change prototypes for _IO_fork, _IO_pipe, and
_IO_DUP2 to contain complete parameter list.
* libio/libio.h: Add definition of struct _IO_cookie_file.
* libio/libioP.h: Add prototypes for _IO_vasprintf, _IO_vdprintf,
and _IO_vsnprintf.
* libio/memstream.c: Include <stdio.h>.
* libio/stdio.h: Add prototypes for fopencookie,
__stdio_gen_tempname, __vfscanf, __vsscanf, and __vsnprintf.
* libio/strops.c: Avoid useless expression in `for' initializer.
* locale/findlocale.c: Add some casts to prevent warnings.
* locale/programs/locfile.c (write_locale_data): Don't use
double `/' in locale binary file.
* posix/unistd.h: Remove prototype for `reboot'.
Update from bind-4.9.4-T1A.
* resolv/Makefile (routines): Add inet_ntop and inet_pton.
* resolv/arpa/nameser.h: Add definition of IN6ADDRSZ.
* resolv/gethnamaddr.c, resolv/getnetnamadr.c, resolv/res_comp.c,
resolv/res_debug.c, resolv/res_init.c
* resolv/inet_ntop.c, resolv/inet_pton.c: New files.
* resolv/resolv.h: Add RES_USE_INET6 flag.
(__dn_isvalid): Renamed to __res_dnok.
Add prototypes for __res_ownok and __res_mailok.
* stdio-common/Makefile: Add -Wno-unused to CFLAGS for _itoa.c.
* stdio-common/getline.c, stdio-common/vfscanf.c,
sysdeps/posix/tempname.c: Don't use <ansidecl.h> anymore.
* sysdeps/unix/sysv/linux/Makefile [$subdir == misc]
(sysdep_routines): Add s_reboot.
(install-others): Add $(includedir)/sys/syscall.h.
New rule for $(includedir)/sys/syscall.h to produce from
<asm/unistd.h>.
* sysdeps/unix/sysv/linux/reboot.c: New file. Make single
argument function call 3 argument system call.
* sysdeps/unix/sysv/linux/sys/reboot.h: New file. Linux specific
definition for reboot function.
* sysdeps/unix/sysv/linux/syscall.h: Remove old and obsolete
comment.
* sysdeps/unix/sysv/linux/syscalls.list: Rename function for
reboot syscall to __syscall_reboot.
* wcsmbs/wchar.h: Protect prototypes for wcstof and wcstold by
__USE_GNU, not USE_GNU.
Tue May 21 21:55:49 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* locale/programs/charset.c, locale/programs/ld-collate.c:
Add casts to prevent warnings on 64-bit machines.
* locale/programs/ld-monetary.c: Don't do unnecessary tests for
int_frac_digits and frac_digits which only produce warnings.
Mon May 13 23:45:29 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* inet/arpa/inet.h: Backup return type of inet_addr to u_long.
* resolv/inet_addr.c: Likewise.
* resolv/Makefile (distribute): Add res_hconf.h
(routines): Add res_hconf.
* resolv/gethnamaddr.c: Add support for /etc/host.conf.
* resolv/res_init.c: Initialize /etc/host.conf reader.
* resolv/res_hconf.c, resolv/res_hconf.h: New files.
Implementation of reading /etc/host.conf.
Wed May 22 21:21:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Rules (%.out rules): Prepend $($*-ENV) to the command.
* sysdeps/unix/sysv/linux/i386/brk.c (___brk_addr): Define as weak
alias for __curbrk.
Wed May 22 19:37:27 1996 Miles Bader <miles@gnu.ai.mit.edu>
* hurd/hurdexec.c (_hurd_exec): Pass INIT_TRACEMASK.
* hurd/hurdmsg.c (set_int): Support INIT_TRACEMASK.
Wed May 22 18:47:31 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/getcwd.c
(_hurd_canonicalize_directory_name_internal): New function, broken out
of __getcwd.
(__getcwd): Use it.
(__canonicalize_directory_name_internal): New function using it.
* sysdeps/posix/getcwd.c (__canonicalize_directory_name_internal): New
function, broken out of __getcwd.
(__getcwd): Use it.
Wed May 22 18:14:05 1996 Miles Bader <miles@gnu.ai.mit.edu>
* string/argz-create.c (__argz_create): Correctly calculate length.
* string/argz-extract.c (__argz_extract): Add terminating 0 entry.
* hurd/hurdstartup.c (_hurd_startup): ... and don't so here.
[HAVE_VMSDIR_H]: Include "vmsdir.h".
(glob) [VMS]: Don't grok ~.
1996-05-23 11:15:42 +08:00
|
|
|
@comment ISO: Invalid or incomplete multibyte or wide character
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
@deftypevr Macro int EILSEQ
|
|
|
|
@comment errno 106 @c DO NOT REMOVE
|
|
|
|
While decoding a multibyte character the function came along an invalid
|
|
|
|
or an incomplete sequence of bytes or the given wide character is invalid.
|
|
|
|
@end deftypevr
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment errno.h
|
|
|
|
@comment GNU: Inappropriate operation for background process
|
|
|
|
@deftypevr Macro int EBACKGROUND
|
|
|
|
@comment errno 100 @c DO NOT REMOVE
|
2012-03-08 09:27:38 +08:00
|
|
|
On @gnuhurdsystems{}, servers supporting the @code{term} protocol return
|
1995-02-18 09:27:10 +08:00
|
|
|
this error for certain operations when the caller is not in the
|
|
|
|
foreground process group of the terminal. Users do not usually see this
|
|
|
|
error because functions such as @code{read} and @code{write} translate
|
|
|
|
it into a @code{SIGTTIN} or @code{SIGTTOU} signal. @xref{Job Control},
|
|
|
|
for information on process groups and these signals.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment GNU: Translator died
|
|
|
|
@deftypevr Macro int EDIED
|
|
|
|
@comment errno 101 @c DO NOT REMOVE
|
2012-03-08 09:27:38 +08:00
|
|
|
On @gnuhurdsystems{}, opening a file returns this error when the file is
|
1995-02-18 09:27:10 +08:00
|
|
|
translated by a program and the translator program dies while starting
|
|
|
|
up, before it has connected to the file.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment GNU: ?
|
|
|
|
@deftypevr Macro int ED
|
|
|
|
@comment errno 102 @c DO NOT REMOVE
|
|
|
|
The experienced user will know what is wrong.
|
1996-07-15 01:48:00 +08:00
|
|
|
@c This error code is a joke. Its perror text is part of the joke.
|
|
|
|
@c Don't change it.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment GNU: You really blew it this time
|
|
|
|
@deftypevr Macro int EGREGIOUS
|
|
|
|
@comment errno 103 @c DO NOT REMOVE
|
|
|
|
You did @strong{what}?
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment GNU: Computer bought the farm
|
|
|
|
@deftypevr Macro int EIEIO
|
|
|
|
@comment errno 104 @c DO NOT REMOVE
|
|
|
|
Go home and have a glass of warm, dairy-fresh milk.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment GNU: Gratuitous error
|
|
|
|
@deftypevr Macro int EGRATUITOUS
|
|
|
|
@comment errno 105 @c DO NOT REMOVE
|
|
|
|
This error code has no purpose.
|
|
|
|
@end deftypevr
|
|
|
|
|
1996-11-16 03:50:04 +08:00
|
|
|
@comment errno.h
|
|
|
|
@comment XOPEN: Bad message
|
|
|
|
@deftypevr Macro int EBADMSG
|
|
|
|
@comment errno 107
|
|
|
|
@end deftypevr
|
1996-06-04 09:41:11 +08:00
|
|
|
|
|
|
|
@comment errno.h
|
1996-11-16 03:50:04 +08:00
|
|
|
@comment XOPEN: Identifier removed
|
|
|
|
@deftypevr Macro int EIDRM
|
|
|
|
@comment errno 108
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment XOPEN: Multihop attempted
|
|
|
|
@deftypevr Macro int EMULTIHOP
|
|
|
|
@comment errno 109
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment XOPEN: No data available
|
|
|
|
@deftypevr Macro int ENODATA
|
|
|
|
@comment errno 110
|
1996-06-04 09:41:11 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-11-16 03:50:04 +08:00
|
|
|
@comment XOPEN: Link has been severed
|
|
|
|
@deftypevr Macro int ENOLINK
|
|
|
|
@comment errno 111
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment XOPEN: No message of desired type
|
1996-06-04 09:41:11 +08:00
|
|
|
@deftypevr Macro int ENOMSG
|
1996-11-16 03:50:04 +08:00
|
|
|
@comment errno 112
|
1996-06-04 09:41:11 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-11-16 03:50:04 +08:00
|
|
|
@comment XOPEN: Out of streams resources
|
|
|
|
@deftypevr Macro int ENOSR
|
|
|
|
@comment errno 113
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment XOPEN: Device not a stream
|
|
|
|
@deftypevr Macro int ENOSTR
|
|
|
|
@comment errno 114
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment XOPEN: Value too large for defined data type
|
|
|
|
@deftypevr Macro int EOVERFLOW
|
|
|
|
@comment errno 115
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment XOPEN: Protocol error
|
|
|
|
@deftypevr Macro int EPROTO
|
|
|
|
@comment errno 116
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment XOPEN: Timer expired
|
|
|
|
@deftypevr Macro int ETIME
|
|
|
|
@comment errno 117
|
|
|
|
@end deftypevr
|
|
|
|
|
2002-08-27 17:23:13 +08:00
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Operation canceled
|
|
|
|
@deftypevr Macro int ECANCELED
|
2007-07-22 14:53:53 +08:00
|
|
|
@comment errno 119
|
2002-08-27 17:23:13 +08:00
|
|
|
Operation canceled; an asynchronous operation was canceled before it
|
|
|
|
completed. @xref{Asynchronous I/O}. When you call @code{aio_cancel},
|
|
|
|
the normal result is for the operations affected to complete with this
|
|
|
|
error; @pxref{Cancel AIO Operations}.
|
|
|
|
@end deftypevr
|
|
|
|
|
1996-11-16 03:50:04 +08:00
|
|
|
|
|
|
|
@emph{The following error codes are defined by the Linux/i386 kernel.
|
|
|
|
They are not yet documented.}
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Interrupted system call should be restarted
|
|
|
|
@deftypevr Macro int ERESTART
|
|
|
|
@comment errno ???/85
|
1996-06-04 09:41:11 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Channel number out of range
|
|
|
|
@deftypevr Macro int ECHRNG
|
|
|
|
@comment errno ???/44
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1998-03-19 22:32:08 +08:00
|
|
|
@comment Obsolete: Level 2 not synchronized
|
1996-06-04 09:41:11 +08:00
|
|
|
@deftypevr Macro int EL2NSYNC
|
|
|
|
@comment errno ???/45
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1998-03-19 22:32:08 +08:00
|
|
|
@comment Obsolete: Level 3 halted
|
1996-06-04 09:41:11 +08:00
|
|
|
@deftypevr Macro int EL3HLT
|
|
|
|
@comment errno ???/46
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1998-03-19 22:32:08 +08:00
|
|
|
@comment Obsolete: Level 3 reset
|
1996-06-04 09:41:11 +08:00
|
|
|
@deftypevr Macro int EL3RST
|
|
|
|
@comment errno ???/47
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Link number out of range
|
|
|
|
@deftypevr Macro int ELNRNG
|
|
|
|
@comment errno ???/48
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Protocol driver not attached
|
|
|
|
@deftypevr Macro int EUNATCH
|
|
|
|
@comment errno ???/49
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: No CSI structure available
|
|
|
|
@deftypevr Macro int ENOCSI
|
|
|
|
@comment errno ???/50
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1998-03-19 22:32:08 +08:00
|
|
|
@comment Obsolete: Level 2 halted
|
1996-06-04 09:41:11 +08:00
|
|
|
@deftypevr Macro int EL2HLT
|
|
|
|
@comment errno ???/51
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Invalid exchange
|
|
|
|
@deftypevr Macro int EBADE
|
|
|
|
@comment errno ???/52
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Invalid request descriptor
|
|
|
|
@deftypevr Macro int EBADR
|
|
|
|
@comment errno ???/53
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Exchange full
|
|
|
|
@deftypevr Macro int EXFULL
|
|
|
|
@comment errno ???/54
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: No anode
|
|
|
|
@deftypevr Macro int ENOANO
|
|
|
|
@comment errno ???/55
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Invalid request code
|
|
|
|
@deftypevr Macro int EBADRQC
|
|
|
|
@comment errno ???/56
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Invalid slot
|
|
|
|
@deftypevr Macro int EBADSLT
|
|
|
|
@comment errno ???/57
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: File locking deadlock error
|
|
|
|
@deftypevr Macro int EDEADLOCK
|
|
|
|
@comment errno ???/58
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Bad font file format
|
|
|
|
@deftypevr Macro int EBFONT
|
|
|
|
@comment errno ???/59
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Machine is not on the network
|
|
|
|
@deftypevr Macro int ENONET
|
|
|
|
@comment errno ???/64
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Package not installed
|
|
|
|
@deftypevr Macro int ENOPKG
|
|
|
|
@comment errno ???/65
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Advertise error
|
|
|
|
@deftypevr Macro int EADV
|
|
|
|
@comment errno ???/68
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Srmount error
|
|
|
|
@deftypevr Macro int ESRMNT
|
|
|
|
@comment errno ???/69
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Communication error on send
|
|
|
|
@deftypevr Macro int ECOMM
|
|
|
|
@comment errno ???/70
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: RFS specific error
|
|
|
|
@deftypevr Macro int EDOTDOT
|
|
|
|
@comment errno ???/73
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Name not unique on network
|
|
|
|
@deftypevr Macro int ENOTUNIQ
|
|
|
|
@comment errno ???/76
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: File descriptor in bad state
|
|
|
|
@deftypevr Macro int EBADFD
|
|
|
|
@comment errno ???/77
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Remote address changed
|
|
|
|
@deftypevr Macro int EREMCHG
|
|
|
|
@comment errno ???/78
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Can not access a needed shared library
|
|
|
|
@deftypevr Macro int ELIBACC
|
|
|
|
@comment errno ???/79
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Accessing a corrupted shared library
|
|
|
|
@deftypevr Macro int ELIBBAD
|
|
|
|
@comment errno ???/80
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: .lib section in a.out corrupted
|
|
|
|
@deftypevr Macro int ELIBSCN
|
|
|
|
@comment errno ???/81
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Attempting to link in too many shared libraries
|
|
|
|
@deftypevr Macro int ELIBMAX
|
|
|
|
@comment errno ???/82
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Cannot exec a shared library directly
|
|
|
|
@deftypevr Macro int ELIBEXEC
|
|
|
|
@comment errno ???/83
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Streams pipe error
|
|
|
|
@deftypevr Macro int ESTRPIPE
|
|
|
|
@comment errno ???/86
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Structure needs cleaning
|
|
|
|
@deftypevr Macro int EUCLEAN
|
|
|
|
@comment errno ???/117
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Not a XENIX named type file
|
|
|
|
@deftypevr Macro int ENOTNAM
|
|
|
|
@comment errno ???/118
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: No XENIX semaphores available
|
|
|
|
@deftypevr Macro int ENAVAIL
|
|
|
|
@comment errno ???/119
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Is a named type file
|
|
|
|
@deftypevr Macro int EISNAM
|
|
|
|
@comment errno ???/120
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Remote I/O error
|
|
|
|
@deftypevr Macro int EREMOTEIO
|
|
|
|
@comment errno ???/121
|
|
|
|
@end deftypevr
|
1995-02-18 09:27:10 +08:00
|
|
|
|
1997-04-02 22:47:34 +08:00
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: No medium found
|
|
|
|
@deftypevr Macro int ENOMEDIUM
|
|
|
|
@comment errno ???/???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Wrong medium type
|
|
|
|
@deftypevr Macro int EMEDIUMTYPE
|
|
|
|
@comment errno ???/???
|
|
|
|
@end deftypevr
|
2005-12-25 05:12:00 +08:00
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux: Required key not available
|
|
|
|
@deftypevr Macro int ENOKEY
|
|
|
|
@comment errno ???/???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux: Key has expired
|
|
|
|
@deftypevr Macro int EKEYEXPIRED
|
|
|
|
@comment errno ???/???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux: Key has been revoked
|
|
|
|
@deftypevr Macro int EKEYREVOKED
|
|
|
|
@comment errno ???/???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux: Key was rejected by service
|
|
|
|
@deftypevr Macro int EKEYREJECTED
|
|
|
|
@comment errno ???/???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux: Owner died
|
|
|
|
@deftypevr Macro int EOWNERDEAD
|
|
|
|
@comment errno ???/???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux: State not recoverable
|
|
|
|
@deftypevr Macro int ENOTRECOVERABLE
|
|
|
|
@comment errno ???/???
|
|
|
|
@end deftypevr
|
2009-11-15 02:20:25 +08:00
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux: Operation not possible due to RF-kill
|
|
|
|
@deftypevr Macro int ERFKILL
|
|
|
|
@comment errno ???/???
|
|
|
|
@end deftypevr
|
1997-04-02 22:47:34 +08:00
|
|
|
|
2012-02-19 22:51:40 +08:00
|
|
|
@comment errno.h
|
|
|
|
@comment Linux: Memory page has hardware error
|
|
|
|
@deftypevr Macro int EHWPOISON
|
|
|
|
@comment errno ???/???
|
|
|
|
@end deftypevr
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@node Error Messages, , Error Codes, Error Reporting
|
|
|
|
@section Error Messages
|
|
|
|
|
|
|
|
The library has functions and variables designed to make it easy for
|
|
|
|
your program to report informative error messages in the customary
|
|
|
|
format about the failure of a library call. The functions
|
|
|
|
@code{strerror} and @code{perror} give you the standard error message
|
|
|
|
for a given error code; the variable
|
|
|
|
@w{@code{program_invocation_short_name}} gives you convenient access to the
|
|
|
|
name of the program that encountered the error.
|
|
|
|
|
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun {char *} strerror (int @var{errnum})
|
2014-02-01 13:49:25 +08:00
|
|
|
@safety{@prelim{}@mtunsafe{@mtasurace{:strerror}}@asunsafe{@ascuheap{} @ascuintl{}}@acunsafe{@acsmem{}}}
|
|
|
|
@c Calls strerror_r with a static buffer allocated with malloc on the
|
|
|
|
@c first use.
|
1995-02-18 09:27:10 +08:00
|
|
|
The @code{strerror} function maps the error code (@pxref{Checking for
|
|
|
|
Errors}) specified by the @var{errnum} argument to a descriptive error
|
|
|
|
message string. The return value is a pointer to this string.
|
|
|
|
|
|
|
|
The value @var{errnum} normally comes from the variable @code{errno}.
|
|
|
|
|
|
|
|
You should not modify the string returned by @code{strerror}. Also, if
|
|
|
|
you make subsequent calls to @code{strerror}, the string might be
|
|
|
|
overwritten. (But it's guaranteed that no library function ever calls
|
|
|
|
@code{strerror} behind your back.)
|
|
|
|
|
|
|
|
The function @code{strerror} is declared in @file{string.h}.
|
|
|
|
@end deftypefun
|
|
|
|
|
1997-04-02 22:47:34 +08:00
|
|
|
@comment string.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun {char *} strerror_r (int @var{errnum}, char *@var{buf}, size_t @var{n})
|
2014-02-01 13:49:25 +08:00
|
|
|
@safety{@prelim{}@mtsafe{}@asunsafe{@ascuintl{}}@acunsafe{}}
|
1997-04-02 22:47:34 +08:00
|
|
|
The @code{strerror_r} function works like @code{strerror} but instead of
|
|
|
|
returning the error message in a statically allocated buffer shared by
|
Update.
1998-02-10 23:57 Ulrich Drepper <drepper@happy.cygnus.com>
* misc/tst-efgcvt.c: Add more tests.
* misc/efgcvt_r.c: Correct result for above new tests.
1998-02-06 17:22 H.J. Lu <hjl@gnu.org>
* misc/efgcvt_r.c (fcvt_r, ecvt_r): Correctly handle
NDIGIT <= 0.
1998-02-10 16:48 Philip Blundell <pb@nexus.co.uk>
* Makerules (install-no-libc.a-nosubdir): Don't install-bin (etc)
if the programs weren't built.
1998-02-09 10:12 Philip Blundell <pb@nexus.co.uk>
* sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): If we don't have
FE_TONEAREST, soldier on regardless and do the best we can.
* sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): likewise.
1998-02-5 17:20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/standalone/filedesc.h: Define __need_FOPEN_MAX, not
_STDIO_H, before including <bits/stdio_lim.h>.
* sysdeps/standalone/arm/bits/errno.h (EOVERFLOW): Added.
* io/fts.c (fts_build): Don't try to use d_type if it doesn't
exist.
* sysdeps/arm/sys/ucontext.h: New file.
1998-02-04 10:11 Philip Blundell <pb@nexus.co.uk>
* manual/stdio.texi (Formatted Output Functions): Explicitly say
that the return value from snprintf() does not count the
terminating NUL as a character.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* manual/users.texi: Rewrite to describe correct POSIX behaviour,
add description for sete[ug]id and general cleanup.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (parent-clean): Don't remove makefile fragments here.
(postclean): New variable.
(clean): Remove makefile fragments here.
(realclean distclean): Likewise. Pass sysdep-subdirs to sub-make.
(generated): Add isomac and isomanc.out.
* Makeconfig ($(common-objpfx)soversions.mk): Don't generate if
avoid-generated is set.
(postclean-generated): Add soversion.mk.
($(common-objpfx)version.mk): Don't include if avoid-generated is
set.
* Makerules: Still need to include $(+sysdir_pfx)sysd-Makefile if
avoid-generated is set.
(common-generated): Add libc.so and libc.so$(libc.so-version).
(generated): Add versioned libraries.
(common-mostlyclean): Also remove %.so and %_pic.a.
* csu/Makefile (generated): Add abi-tag.h.
* db2/Makefile (extra-objs): Add getlong.o.
* elf/Makefile (generated): Add ld.so, ldd and
$(rtld-installed-name).
(others): Add ldconfig here instead of ldconfig.o to extra-objs.
* malloc/Makefile (generated): Add mtrace.
* po/Makefile: Don't include version.mk, not needed any more.
* sunrpc/Makefile (generated): Add rpc-proto.d and rpcgen.
* sysdeps/unix/Makefile: Fix local_lim.h -> bits/local_lim.h,
syscall.h -> sys/syscall.h.
(common-generated): Add s-proto.d.
(postclean-generated): Add sysd-syscalls.
* localedata/Makefile (test-output): Add all output files.
(generated): Add test-input and test-output.
(generated-dirs): Add all the dirs.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (test-output, generated, generated-dirs): New
variables.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* resolv/nss_dns/dns-host.c: Various code cleanups.
1998-02-09 08:10 H.J. Lu <hjl@gnu.org>
* resolv/gethnamaddr.c (getanswer): Fix the PTR/CNAME bug.
From Philip Blundell <pb@nexus.co.uk>.
* resolv/nss_dns/dns-host.c (getanswer_r): Ditto.
1998-02-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Add .rem, .div, .mul, .udiv, .umul, .urem for Sparc.
Suggested by debian/sparc porters.
1998-02-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/tst-efgcvt.c: Totally rewritten, added a lot of new tests
for ecvt and fcvt.
1998-02-10 16:32 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use __xstat and
__fxstat instead of stat and fstat. Use namespace clean __stpcpy.
* signal/signal.h: Always define sigset_t if __need_sigset_t is
defined even if __USE_POSIX is not defined.
1998-02-02 20:51 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Correct last patch
to support obsolete tty major numbers correctly.
1998-02-02 08:47 H.J. Lu <hjl@gnu.org>
* login/Makefile ($(inst_libexecdir)/pt_chown): Make the target
directory first and ignore install error.
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Substract
128 from ptyno and fix a typo for the BSD style pty.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Depend on all
syscalls.list's.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
getresuid and getresgid.
* sysdeps/unix/sysv/linux/getresuid.c: New file.
* sysdeps/unix/sysv/linux/getresgid.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove getres[ug]id, add
s_getres[ug]id.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add getres[ug]id.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
1998-02-02 08:11 H.J. Lu <hjl@gnu.org>
* nscd/grpcache.c: Include <stdlib.h>.
1998-02-01 16:01 H.J. Lu <hjl@gnu.org>
* stdlib/atoll.c: Fix comments.
* sysdeps/posix/ttyname.c: Ignore stdin/stdout/stderr.
* sysdeps/posix/ttyname_r.c: Ditto.
1998-02-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* io/sys/stat.h: Define S_IFLNK and S_IFSOCK if __USE_BSD or
__USE_MISC, independent of __USE_UNIX98.
1998-02-10 19:18 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
1998-02-04 11:58 Richard Henderson <rth@twiddle.rth.home>
* Makeconfig (CFLAGS-.os): Kill -fno-common.
* Makerules (libc.so): Prelink libc_pic.a, allocating commons.
* libc.map (GLIBC_2.1): Add Linux/Alpha tv64 symbols.
* elf/rtld.map: New file. Needed to define the GLIBC_2.*
version symbols.
* include/libc-symbols.h (symbol_version, default_symbol_version):
Provide asm versions and correct !DO_VERSIONING versions.
* sysdeps/unix/make-syscalls.sh: Recognize version symbols in
the weak symbol list.
* sysdeps/unix/sysv/linux/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
1998-02-04 16:41 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sunrpc/Makefile: Correct dependencies of rpcgen.
1998-02-10 03:00 Ulrich Drepper <drepper@happy.cygnus.com>
* nscd/Makefile: Fix test for available linuxthreads add-on.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-02-05 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/syscalls.list: Fix typo in lchown.
1998-02-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/gnu/Makefile: Respect with-cvs variable.
* manual/errno.texi (Error Messages): Correct description of
strerror_r. Pointed out by jonas@bagge.se.
1998-01-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/socket.texi (Host Address Functions): Clarify description
of inet_network.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/grantpt.c (argv): Move const to toplevel.
(grantpt): Delete superfluous cast.
1998-02-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(inst_slibdir)/libc-$(version).so): Depend on
elf/ldso_install instead of elf/subdir_install.
(elf/ldso_install): New target.
* elf/Makefile (ldso_install): New target.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/powerpc/socket.S: Really do the change
of 1998-01-06.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h (strcmp): Use __string2_1bptr_p only for
constant expressions.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/test-netdb.c: Include <unistd.h> for gethostname and "nss.h"
for __nss_configure_lookup.
(output_hostent): Remove unused variable.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/tst-inlcall.c: Fix format string.
1998-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/netinet/in.h: Rename second parameter of bindresvport to
avoid buggy gcc warning. [PR libc/412]
1998-02-11 04:06:30 +08:00
|
|
|
all threads in the process, it returns a private copy for the
|
2014-02-27 06:27:38 +08:00
|
|
|
thread. This might be either some permanent global data or a message
|
Update.
1998-02-10 23:57 Ulrich Drepper <drepper@happy.cygnus.com>
* misc/tst-efgcvt.c: Add more tests.
* misc/efgcvt_r.c: Correct result for above new tests.
1998-02-06 17:22 H.J. Lu <hjl@gnu.org>
* misc/efgcvt_r.c (fcvt_r, ecvt_r): Correctly handle
NDIGIT <= 0.
1998-02-10 16:48 Philip Blundell <pb@nexus.co.uk>
* Makerules (install-no-libc.a-nosubdir): Don't install-bin (etc)
if the programs weren't built.
1998-02-09 10:12 Philip Blundell <pb@nexus.co.uk>
* sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): If we don't have
FE_TONEAREST, soldier on regardless and do the best we can.
* sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): likewise.
1998-02-5 17:20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/standalone/filedesc.h: Define __need_FOPEN_MAX, not
_STDIO_H, before including <bits/stdio_lim.h>.
* sysdeps/standalone/arm/bits/errno.h (EOVERFLOW): Added.
* io/fts.c (fts_build): Don't try to use d_type if it doesn't
exist.
* sysdeps/arm/sys/ucontext.h: New file.
1998-02-04 10:11 Philip Blundell <pb@nexus.co.uk>
* manual/stdio.texi (Formatted Output Functions): Explicitly say
that the return value from snprintf() does not count the
terminating NUL as a character.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* manual/users.texi: Rewrite to describe correct POSIX behaviour,
add description for sete[ug]id and general cleanup.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (parent-clean): Don't remove makefile fragments here.
(postclean): New variable.
(clean): Remove makefile fragments here.
(realclean distclean): Likewise. Pass sysdep-subdirs to sub-make.
(generated): Add isomac and isomanc.out.
* Makeconfig ($(common-objpfx)soversions.mk): Don't generate if
avoid-generated is set.
(postclean-generated): Add soversion.mk.
($(common-objpfx)version.mk): Don't include if avoid-generated is
set.
* Makerules: Still need to include $(+sysdir_pfx)sysd-Makefile if
avoid-generated is set.
(common-generated): Add libc.so and libc.so$(libc.so-version).
(generated): Add versioned libraries.
(common-mostlyclean): Also remove %.so and %_pic.a.
* csu/Makefile (generated): Add abi-tag.h.
* db2/Makefile (extra-objs): Add getlong.o.
* elf/Makefile (generated): Add ld.so, ldd and
$(rtld-installed-name).
(others): Add ldconfig here instead of ldconfig.o to extra-objs.
* malloc/Makefile (generated): Add mtrace.
* po/Makefile: Don't include version.mk, not needed any more.
* sunrpc/Makefile (generated): Add rpc-proto.d and rpcgen.
* sysdeps/unix/Makefile: Fix local_lim.h -> bits/local_lim.h,
syscall.h -> sys/syscall.h.
(common-generated): Add s-proto.d.
(postclean-generated): Add sysd-syscalls.
* localedata/Makefile (test-output): Add all output files.
(generated): Add test-input and test-output.
(generated-dirs): Add all the dirs.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (test-output, generated, generated-dirs): New
variables.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* resolv/nss_dns/dns-host.c: Various code cleanups.
1998-02-09 08:10 H.J. Lu <hjl@gnu.org>
* resolv/gethnamaddr.c (getanswer): Fix the PTR/CNAME bug.
From Philip Blundell <pb@nexus.co.uk>.
* resolv/nss_dns/dns-host.c (getanswer_r): Ditto.
1998-02-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Add .rem, .div, .mul, .udiv, .umul, .urem for Sparc.
Suggested by debian/sparc porters.
1998-02-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/tst-efgcvt.c: Totally rewritten, added a lot of new tests
for ecvt and fcvt.
1998-02-10 16:32 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use __xstat and
__fxstat instead of stat and fstat. Use namespace clean __stpcpy.
* signal/signal.h: Always define sigset_t if __need_sigset_t is
defined even if __USE_POSIX is not defined.
1998-02-02 20:51 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Correct last patch
to support obsolete tty major numbers correctly.
1998-02-02 08:47 H.J. Lu <hjl@gnu.org>
* login/Makefile ($(inst_libexecdir)/pt_chown): Make the target
directory first and ignore install error.
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Substract
128 from ptyno and fix a typo for the BSD style pty.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Depend on all
syscalls.list's.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
getresuid and getresgid.
* sysdeps/unix/sysv/linux/getresuid.c: New file.
* sysdeps/unix/sysv/linux/getresgid.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove getres[ug]id, add
s_getres[ug]id.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add getres[ug]id.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
1998-02-02 08:11 H.J. Lu <hjl@gnu.org>
* nscd/grpcache.c: Include <stdlib.h>.
1998-02-01 16:01 H.J. Lu <hjl@gnu.org>
* stdlib/atoll.c: Fix comments.
* sysdeps/posix/ttyname.c: Ignore stdin/stdout/stderr.
* sysdeps/posix/ttyname_r.c: Ditto.
1998-02-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* io/sys/stat.h: Define S_IFLNK and S_IFSOCK if __USE_BSD or
__USE_MISC, independent of __USE_UNIX98.
1998-02-10 19:18 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
1998-02-04 11:58 Richard Henderson <rth@twiddle.rth.home>
* Makeconfig (CFLAGS-.os): Kill -fno-common.
* Makerules (libc.so): Prelink libc_pic.a, allocating commons.
* libc.map (GLIBC_2.1): Add Linux/Alpha tv64 symbols.
* elf/rtld.map: New file. Needed to define the GLIBC_2.*
version symbols.
* include/libc-symbols.h (symbol_version, default_symbol_version):
Provide asm versions and correct !DO_VERSIONING versions.
* sysdeps/unix/make-syscalls.sh: Recognize version symbols in
the weak symbol list.
* sysdeps/unix/sysv/linux/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
1998-02-04 16:41 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sunrpc/Makefile: Correct dependencies of rpcgen.
1998-02-10 03:00 Ulrich Drepper <drepper@happy.cygnus.com>
* nscd/Makefile: Fix test for available linuxthreads add-on.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-02-05 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/syscalls.list: Fix typo in lchown.
1998-02-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/gnu/Makefile: Respect with-cvs variable.
* manual/errno.texi (Error Messages): Correct description of
strerror_r. Pointed out by jonas@bagge.se.
1998-01-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/socket.texi (Host Address Functions): Clarify description
of inet_network.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/grantpt.c (argv): Move const to toplevel.
(grantpt): Delete superfluous cast.
1998-02-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(inst_slibdir)/libc-$(version).so): Depend on
elf/ldso_install instead of elf/subdir_install.
(elf/ldso_install): New target.
* elf/Makefile (ldso_install): New target.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/powerpc/socket.S: Really do the change
of 1998-01-06.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h (strcmp): Use __string2_1bptr_p only for
constant expressions.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/test-netdb.c: Include <unistd.h> for gethostname and "nss.h"
for __nss_configure_lookup.
(output_hostent): Remove unused variable.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/tst-inlcall.c: Fix format string.
1998-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/netinet/in.h: Rename second parameter of bindresvport to
avoid buggy gcc warning. [PR libc/412]
1998-02-11 04:06:30 +08:00
|
|
|
string in the user supplied buffer starting at @var{buf} with the
|
|
|
|
length of @var{n} bytes.
|
1997-04-02 22:47:34 +08:00
|
|
|
|
|
|
|
At most @var{n} characters are written (including the NUL byte) so it is
|
|
|
|
up to the user to select the buffer large enough.
|
|
|
|
|
|
|
|
This function should always be used in multi-threaded programs since
|
|
|
|
there is no way to guarantee the string returned by @code{strerror}
|
|
|
|
really belongs to the last call of the current thread.
|
|
|
|
|
|
|
|
This function @code{strerror_r} is a GNU extension and it is declared in
|
|
|
|
@file{string.h}.
|
|
|
|
@end deftypefun
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment stdio.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun void perror (const char *@var{message})
|
2014-02-01 13:49:25 +08:00
|
|
|
@safety{@prelim{}@mtsafe{@mtasurace{:stderr}}@asunsafe{@asucorrupt{} @ascuintl{} @ascuheap{} @asulock{}}@acunsafe{@acucorrupt{} @aculock{} @acsmem{} @acsfd{}}}
|
|
|
|
@c Besides strerror_r's and some of fprintf's issues, if stderr is not
|
|
|
|
@c oriented yet, create a new stream with a dup of stderr's fd and write
|
|
|
|
@c to that instead of stderr, to avoid orienting it.
|
1995-02-18 09:27:10 +08:00
|
|
|
This function prints an error message to the stream @code{stderr};
|
2001-08-17 01:51:43 +08:00
|
|
|
see @ref{Standard Streams}. The orientation of @code{stderr} is not
|
|
|
|
changed.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
If you call @code{perror} with a @var{message} that is either a null
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
pointer or an empty string, @code{perror} just prints the error message
|
1995-02-18 09:27:10 +08:00
|
|
|
corresponding to @code{errno}, adding a trailing newline.
|
|
|
|
|
|
|
|
If you supply a non-null @var{message} argument, then @code{perror}
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
prefixes its output with this string. It adds a colon and a space
|
1995-02-18 09:27:10 +08:00
|
|
|
character to separate the @var{message} from the error string corresponding
|
|
|
|
to @code{errno}.
|
|
|
|
|
|
|
|
The function @code{perror} is declared in @file{stdio.h}.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@code{strerror} and @code{perror} produce the exact same message for any
|
2012-03-08 09:27:38 +08:00
|
|
|
given error code; the precise text varies from system to system. With
|
|
|
|
@theglibc{}, the messages are fairly short; there are no multi-line
|
1995-02-18 09:27:10 +08:00
|
|
|
messages or embedded newlines. Each error message begins with a capital
|
|
|
|
letter and does not include any terminating punctuation.
|
|
|
|
|
|
|
|
@cindex program name
|
|
|
|
@cindex name of running program
|
|
|
|
Many programs that don't read input from the terminal are designed to
|
|
|
|
exit if any system call fails. By convention, the error message from
|
|
|
|
such a program should start with the program's name, sans directories.
|
|
|
|
You can find that name in the variable
|
|
|
|
@code{program_invocation_short_name}; the full file name is stored the
|
1999-06-16 23:44:59 +08:00
|
|
|
variable @code{program_invocation_name}.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment GNU
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
@deftypevar {char *} program_invocation_name
|
1995-02-18 09:27:10 +08:00
|
|
|
This variable's value is the name that was used to invoke the program
|
|
|
|
running in the current process. It is the same as @code{argv[0]}. Note
|
|
|
|
that this is not necessarily a useful file name; often it contains no
|
|
|
|
directory names. @xref{Program Arguments}.
|
2015-03-06 13:59:49 +08:00
|
|
|
|
|
|
|
This variable is a GNU extension and is declared in @file{errno.h}.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypevar
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment GNU
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
@deftypevar {char *} program_invocation_short_name
|
1995-02-18 09:27:10 +08:00
|
|
|
This variable's value is the name that was used to invoke the program
|
|
|
|
running in the current process, with directory names removed. (That is
|
|
|
|
to say, it is the same as @code{program_invocation_name} minus
|
|
|
|
everything up to the last slash, if any.)
|
2015-03-06 13:59:49 +08:00
|
|
|
|
|
|
|
This variable is a GNU extension and is declared in @file{errno.h}.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypevar
|
|
|
|
|
|
|
|
The library initialization code sets up both of these variables before
|
|
|
|
calling @code{main}.
|
|
|
|
|
2015-03-06 13:59:49 +08:00
|
|
|
@strong{Portability Note:} If you want your program to work with
|
|
|
|
non-GNU libraries, you must save the value of @code{argv[0]} in
|
|
|
|
@code{main}, and then strip off the directory names yourself. We
|
|
|
|
added these extensions to make it possible to write self-contained
|
|
|
|
error-reporting subroutines that require no explicit cooperation from
|
|
|
|
@code{main}.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
Here is an example showing how to handle failure to open a file
|
|
|
|
correctly. The function @code{open_sesame} tries to open the named file
|
|
|
|
for reading and returns a stream if successful. The @code{fopen}
|
|
|
|
library function returns a null pointer if it couldn't open the file for
|
|
|
|
some reason. In that situation, @code{open_sesame} constructs an
|
|
|
|
appropriate error message using the @code{strerror} function, and
|
|
|
|
terminates the program. If we were going to make some other library
|
|
|
|
calls before passing the error code to @code{strerror}, we'd have to
|
|
|
|
save it in a local variable instead, because those other library
|
|
|
|
functions might overwrite @code{errno} in the meantime.
|
|
|
|
|
|
|
|
@smallexample
|
2015-03-06 13:59:49 +08:00
|
|
|
#define _GNU_SOURCE
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
#include <errno.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
FILE *
|
|
|
|
open_sesame (char *name)
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
@{
|
1995-02-18 09:27:10 +08:00
|
|
|
FILE *stream;
|
|
|
|
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
errno = 0;
|
1995-02-18 09:27:10 +08:00
|
|
|
stream = fopen (name, "r");
|
|
|
|
if (stream == NULL)
|
|
|
|
@{
|
|
|
|
fprintf (stderr, "%s: Couldn't open file %s; %s\n",
|
|
|
|
program_invocation_short_name, name, strerror (errno));
|
|
|
|
exit (EXIT_FAILURE);
|
|
|
|
@}
|
|
|
|
else
|
|
|
|
return stream;
|
|
|
|
@}
|
|
|
|
@end smallexample
|
2001-08-17 01:51:43 +08:00
|
|
|
|
|
|
|
Using @code{perror} has the advantage that the function is portable and
|
|
|
|
available on all systems implementing @w{ISO C}. But often the text
|
|
|
|
@code{perror} generates is not what is wanted and there is no way to
|
|
|
|
extend or change what @code{perror} does. The GNU coding standard, for
|
|
|
|
instance, requires error messages to be preceded by the program name and
|
2008-05-28 17:37:21 +08:00
|
|
|
programs which read some input files should provide information
|
2001-08-17 01:51:43 +08:00
|
|
|
about the input file name and the line number in case an error is
|
|
|
|
encountered while reading the file. For these occasions there are two
|
|
|
|
functions available which are widely used throughout the GNU project.
|
|
|
|
These functions are declared in @file{error.h}.
|
|
|
|
|
|
|
|
@comment error.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun void error (int @var{status}, int @var{errnum}, const char *@var{format}, @dots{})
|
2014-02-01 13:49:25 +08:00
|
|
|
@safety{@prelim{}@mtsafe{@mtslocale{}}@asunsafe{@asucorrupt{} @asuheap{} @asuintl{}}@acsafe{}}
|
|
|
|
@c Cancellation is disabled throughout the execution. It flushes stdout
|
|
|
|
@c and then holds a lock on stderr while printing the program name and
|
|
|
|
@c then running error_tail. The non-wide case just runs vfprintf; the
|
|
|
|
@c wide case converts the message to an alloca/malloc-allocated buffer
|
|
|
|
@c with mbsrtowcs, then prints it with vfwprintf. Afterwards,
|
|
|
|
@c print_errno_message calls strerror_r and fxprintf.
|
2001-08-17 01:51:43 +08:00
|
|
|
The @code{error} function can be used to report general problems during
|
|
|
|
program execution. The @var{format} argument is a format string just
|
|
|
|
like those given to the @code{printf} family of functions. The
|
|
|
|
arguments required for the format can follow the @var{format} parameter.
|
|
|
|
Just like @code{perror}, @code{error} also can report an error code in
|
|
|
|
textual form. But unlike @code{perror} the error value is explicitly
|
[BZ #2510, BZ #2830, BZ #3137, BZ #3313, BZ #3426, BZ #3465, BZ #3480, BZ #3483, BZ #3493, BZ #3514, BZ #3515, BZ #3664, BZ #3673, BZ #3674]
2007-01-11 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/soft-fp/sfp-machine.h: Remove.
* sysdeps/x86_64/soft-fp/sfp-machine.h: Likewise.
2007-01-10 Ulrich Drepper <drepper@redhat.com>
* io/fts.c: Make sure fts_cur is always valid after return from
fts_read.
Patch by Miloslav Trmac <mitr@redhat.com>.
2006-10-27 Richard Sandiford <richard@codesourcery.com>
* elf/elf.h (R_MIPS_GLOB_DAT): Define.
(R_MIPS_NUM): Bump by 1.
2007-01-03 Jakub Jelinek <jakub@redhat.com>
* posix/execvp.c: Include alloca.h.
(allocate_scripts_argv): Renamed to...
(scripts_argv): ... this. Don't allocate buffer here nor count
arguments.
(execvp): Use alloca if possible.
* posix/Makefile: Add rules to build and run tst-vfork3 test.
* posix/tst-vfork3.c: New test.
* stdlib/Makefile (tst-strtod3-ENV): Define.
2007-01-02 Ulrich Drepper <drepper@redhat.com>
* posix/getconf.c: Update copyright year.
* nss/getent.c: Likewise.
* iconv/iconvconfig.c: Likewise.
* iconv/iconv_prog.c: Likewise.
* elf/ldconfig.c: Likewise.
* catgets/gencat.c: Likewise.
* csu/version.c: Likewise.
* elf/ldd.bash.in: Likewise.
* elf/sprof.c (print_version): Likewise.
* locale/programs/locale.c: Likewise.
* locale/programs/localedef.c: Likewise.
* nscd/nscd.c (print_version): Likewise.
* debug/xtrace.sh: Likewise.
* malloc/memusage.sh: Likewise.
* malloc/mtrace.pl: Likewise.
* debug/catchsegv.sh: Likewise.
2006-12-24 Ulrich Drepper <drepper@redhat.com>
* malloc/malloc.c (sYSMALLOc): Remove some unnecessary alignment
attempts.
2006-12-23 Ulrich Drepper <drepper@redhat.com>
* posix/wordexp.c: Remove some unnecessary tests.
2006-12-20 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
* sysdeps/unix/sysv/linux/sh/bits/shm.h: New file.
* nss/getXXbyYY_r.c: Include atomic.h.
(INTERNAL (REENTRANT_NAME)): Write startp after start_fct,
add atomic_write_barrier () in between.
2006-11-28 Jakub Jelinek <jakub@redhat.com>
* elf/dl-support.c: Include dl-procinfo.h.
* sysdeps/powerpc/dl-procinfo.h (PPC_PLATFORM_POWER4,
PPC_PLATFORM_PPC970, PPC_PLATFORM_POWER5, PPC_PLATFORM_POWER5_PLUS,
PPC_PLATFORM_POWER6, PPC_PLATFORM_CELL_BE, PPC_PLATFORM_POWER6X):
Define.
(_dl_string_platform): Use PPC_PLATFORM_* macros instead of
hardcoded constants.
* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_platform): Use
PPC_PLATFORM_* macros for array designators.
2006-11-11 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags): Add 3 new cap
names to the beginning.
(_dl_powerpc_platforms): Add "power6x".
* sysdeps/powerpc/dl-procinfo.h (_DL_HWCAP_FIRST): Decrease.
(HWCAP_IMPORTANT): Add PPC_FEATURE_HAS_DFP.
(_DL_PLATFORMS_COUNT): Increase.
(_dl_string_platform): Handle power6x case.
* sysdeps/powerpc/sysdep.h (PPC_FEATURE_PA6T, PPC_FEATURE_HAS_DFP,
PPC_FEATURE_POWER6_EXT): Define.
(PPC_FEATURE_POWER5, PPC_FEATURE_POWER5_PLUS): Correct Comment.
[-2^31 .. 2^31) range.
* sysdeps/unix/sysv/linux/bits/statvfs.h: Define ST_RELATIME.
* sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
Handle relatime mount option.
2006-12-13 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Include
kernel-features.h.
2006-12-11 Ulrich Drepper <drepper@redhat.com>
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Parse thousand
separators also if no non-zero digits found.
* stdlib/Makefile (tests): Add tst-strtod3.
[BZ #3664]
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix test to recognize
empty parsed strings.
* stdlib/Makefile (tests): Add tst-strtod2.
* stdlib/tst-strtod2.c: New file.
[BZ #3673]
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix exp_limit
computation.
* stdlib/Makefile (tests): Add tst-atof2.
* stdlib/tst-atof2.c: New file.
[BZ #3674]
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Adjust exponent value
correctly if removing trailing zero of hex-float.
* stdlib/Makefile (tests): Add tst-atof1.
* stdlib/tst-atof1.c: New file.
* misc/mntent_r.c (__hasmntopt): Check p[optlen] even when p == rest.
Start searching for next comma at p rather than rest.
* misc/Makefile (tests): Add tst-mntent2.
* misc/tst-mntent2.c: New test.
2006-12-08 Ulrich Drepper <drepper@redhat.com>
* malloc/memusage.c: Handle realloc with new size of zero and
non-NULL pointer correctly.
(me): Really write first record twice.
(struct entry): Make format bi-arch safe.
(dest): Write out more realloc statistics.
* malloc/memusagestat.c (struct entry): Make format bi-arch safe.
2006-12-05 Jakub Jelinek <jakub@redhat.com>
* nis/nis_subr.c (nis_getnames): Revert last change.
2006-12-03 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/sys/io.h: Removed.
2006-11-30 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/i386/i686/memcmp.S: Use jump table as the base of
jump table entries.
2006-11-30 Jan Kratochvil <jan.kratochvil@redhat.com>
* sysdeps/unix/sysv/linux/i386/clone.S: Provide CFI for the outermost
`clone' function to ensure proper unwinding stop of gdb.
* sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise.
2006-12-01 Ulrich Drepper <drepper@redhat.com>
* nscd/nscd.init: Remove obsolete and commented-out -S option
handling.
2006-11-23 Jakub Jelinek <jakub@redhat.com>
[BZ #3514]
* manual/string.texi (strncmp): Fix pastos from wcscmp description.
[BZ #3515]
* manual/string.texi (strtok): Remove duplicate paragraph.
2006-12-01 Jan Kratochvil <jan.kratochvil@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Fix compatibility with
libgcc not supporting `rflags' unwinding (register # >= 17).
2006-11-30 Jakub Jelinek <jakub@redhat.com>
* sunrpc/svc_run.c (svc_run): Set my_pollfd to new_pollfd if realloc
succeeded.
2006-11-29 Daniel Jacobowitz <dan@codesourcery.com>
Jakub Jelinek <jakub@redhat.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sigaction.c (restore_rt): Add correct
unwind information.
* sysdeps/unix/sysv/linux/x86_64/Makefile: Provide symbols for
'restore_rt' even in the 'signal' directory.
* sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym: Extend the regs list.
malloc crashed. Don't allocate memory unnecessarily in each
loop.
2006-10-21 Jakub Jelinek <jakub@redhat.com>
* resolv/mapv4v6addr.h (map_v4v6_address): Fix last change.
2006-11-20 Ulrich Drepper <drepper@redhat.com>
* resolv/mapv4v6addr.h (map_v4v6_address): Optimize a bit.
2006-11-18 Bruno Haible <bruno@clisp.org>
* sysdeps/unix/sysv/linux/i386/getgroups.c (__getgroups): Invoke
__sysconf only after having tried to call getgroups32.
2006-11-19 Ulrich Drepper <drepper@redhat.com>
* nss/nss_files/files-hosts.c (LINE_PARSER): Support IPv6-style
addresses for IPv4 queries if they can be mapped.
2006-11-16 Jakub Jelinek <jakub@redhat.com>
* sysdeps/x86_64/fpu/s_copysignf.S (__copysignf): Switch to .text.
* sysdeps/x86_64/fpu/s_copysign.S (__copysign): Likewise.
(signmask): Add .size directive.
(othermask): Add .type directive.
2006-11-14 Ulrich Drepper <drepper@redhat.com>
* po/nl.po: Update from translation team.
* timezone/zdump.c: Redo fix for BZ #3137.
2006-11-14 Jakub Jelinek <jakub@redhat.com>
* nss/nss_files/files-alias.c (get_next_alias): Set line back
to first_unused after parsing :include: file.
* timezone/africa: Update from tzdata2006o.
* timezone/antarctica: Likewise.
* timezone/asia: Likewise.
* timezone/australasia: Likewise.
* timezone/backward: Likewise.
* timezone/europe: Likewise.
* timezone/iso3166.tab: Likewise.
* timezone/northamerica: Likewise.
* timezone/southamerica: Likewise.
* timezone/zone.tab: Likewise.
* time/tzfile.c (__tzfile_read): Extend to handle new file format
on machines with 64-bit time_t.
* timezone/checktab.awk: Update from tzcode2006o.
* timezone/ialloc.c: Likewise.
* timezone/private.h: Likewise.
* timezone/scheck.c: Likewise.
* timezone/tzfile.h: Likewise.
* timezone/tzselect.ksh: Likewise.
* timezone/zdump.c: Likewise.
* timezone/zic.c: Likewise.
[BZ #3483]
* elf/ldconfig.c (main): Call setlocale and textdomain.
Patch mostly by Benno Schulenberg <bensberg@justemail.net>.
[BZ #3480]
* manual/argp.texi: Fix typos.
* manual/charset.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/maint.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/time.texi: Likewise.
Patch by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
[BZ #3465]
* sunrpc/clnt_raw.c: Minimal message improvements.
* sunrpc/pm_getmaps.c: Likewise.
* nis/nss_nisplus/nisplus-publickey.c: Likewise.
* nis/nis_print_group_entry.c: Likewise.
* locale/programs/repertoire.c: Likewise.
* locale/programs/charmap.c: Likewise.
* malloc/memusage.sh: Likewise.
* elf/dl-deps.c: Likewise.
* locale/programs/ld-collate.c: Likewise.
* libio/vswprintf.c: Likewise.
* malloc/memusagestat.c: Likewise.
* sunrpc/auth_unix.c: Likewise.
* sunrpc/rpc_main.c: Likewise.
* nscd/cache.c: Likewise.
* locale/programs/repertoire.c: Unify output messages.
* locale/programs/charmap.c: Likewise.
* locale/programs/ld-ctype.c: Likewise.
* locale/programs/ld-monetary.c: Likewise.
* locale/programs/ld-numeric.c: Likewise.
* locale/programs/ld-time.c: Likewise.
* elf/ldconfig.c: Likewise.
* nscd/selinux.c: Likewise.
* elf/cache.c: Likewise.
Patch mostly by Benno Schulenberg <bensberg@justemail.net>.
2006-11-10 Jakub Jelinek <jakub@redhat.com>
* string/strxfrm_l.c (STRXFRM): Fix trailing \1 optimization
if N is one bigger than return value.
* string/tst-strxfrm2.c (do_test): Also test strxfrm with l1 + 1
and l1 last arguments, if buf is defined, verify the return value
equals to strlen (buf) and verify no byte beyond passed length
is modified.
2006-11-10 Ulrich Drepper <drepper@redhat.com>
* po/sv.po: Update from translation team.
* sysdeps/gnu/siglist.c (__old_sys_siglist, __old_sys_sigabbrev):
Use __new_sys_siglist instead of _sys_siglist_internal as
second macro argument.
(_old_sys_siglist): Use declare_symbol_alias macro instead of
strong_alias.
2006-11-09 Ulrich Drepper <drepper@redhat.com>
[BZ #3493]
* posix/unistd.h (sysconf): Remove const attribute.
* sysdeps/posix/getaddrinfo.c (getaddrinfo): Fix test for
temporary or deprecated addresses.
Patch by Sridhar Samudrala <sri@us.ibm.com>.
* string/Makefile (tests): Add tst-strxfrm2.
* string/tst-strxfrm2.c: New file.
2006-10-09 Jakub Jelinek <jakub@redhat.com>
* elf/dl-debug.c (_dl_debug_initialize): Check r->r_map for 0
rather than r->r_brk.
* string/strxfrm_l.c (STRXFRM): Do the trailing \1 removal
optimization even if needed > n.
2006-11-07 Jakub Jelinek <jakub@redhat.com>
* include/libc-symbols.h (declare_symbol): Rename to...
(declare_symbol_alias): ... this. Add ORIGINAL argument, imply
strong_alias (ORIGINAL, SYMBOL) in asm to make sure it preceedes
.size directive.
* sysdeps/gnu/errlist-compat.awk: Adjust for declare_symbol_alias
changes.
* sysdeps/gnu/siglist.c: Likewise.
2006-11-03 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/fpu/bits/mathinline.h
[__LIBC_INTERNAL_MATH_INLINES]: Moved to ...
* sysdeps/powerpc/fpu/math_private.h: ...here. New file.
2006-11-05 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word):
Update handling of cache descriptor 0x49 for new models.
* sysdeps/unix/sysv/linux/x86_64/sysconf.c (intel_check_word):
Likewise.
2006-11-02 Ulrich Drepper <drepper@redhat.com>
* configure.in: Work around ld --help change and avoid -z relro
test completely if the architecture doesn't care about security.
2006-11-01 Ulrich Drepper <drepper@redhat.com>
* po/sv.po: Update from translation team.
2006-10-31 Ulrich Drepper <drepper@redhat.com>
* stdlib/atexit.c (atexit): Don't mark as hidden when used to
generate compatibility version.
2006-10-29 Ulrich Drepper <drepper@redhat.com>
* configure.in: Relax -z relro requirement a bit.
* po/sv.po: Update from translation team.
2006-10-29 Jakub Jelinek <jakub@redhat.com>
* elf/dl-sym.c (do_sym): Use RTLD_SINGLE_THREAD_P.
* elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Likewise.
* elf/dl-close.c (_dl_close_worker): Likewise.
* elf/dl-open.c (_dl_open_worker): Likewise.
* sysdeps/generic/sysdep-cancel.h (RTLD_SINGLE_THREAD_P): Define.
* configure.in: Require assembler support for visibility, compiler
support for visibility and aliases, linker support for various -z
options.
* Makeconfig: Remove conditional code which now is unnecessary.
* config.h.in: Likewise.
* config.make.in: Likewise.
* dlfcn/Makefile: Likewise.
* elf/Makefile: Likewise.
* elf/dl-load.c: Likewise.
* elf/rtld.c: Likewise.
* include/libc-symbols.h: Likewise.
* include/stdio.h: Likewise.
* io/Makefile: Likewise.
* io/fstat.c: Likewise.
* io/fstat64.c: Likewise.
* io/fstatat.c: Likewise.
* io/fstatat64.c: Likewise.
* io/lstat.c: Likewise.
* io/lstat64.c: Likewise.
* io/mknod.c: Likewise.
* io/mknodat.c: Likewise.
* io/stat.c: Likewise.
* io/stat64.c: Likewise.
* libio/stdio.c: Likewise.
* nscd/Makefile: Likewise.
* stdlib/Makefile: Likewise.
* stdlib/atexit.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/i386/dl-machine.h: Likewise.
* sysdeps/i386/sysdep.h: Likewise.
* sysdeps/i386/i686/memcmp.S: Likewise.
* sysdeps/powerpc/powerpc32/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise.
* Makerules: USE_TLS support is now default.
* tls.make.c: Likewise.
* csu/Versions: Likewise.
* csu/libc-start.c: Likewise.
* csu/libc-tls.c: Likewise.
* csu/version.c: Likewise.
* dlfcn/dlinfo.c: Likewise.
* elf/dl-addr.c: Likewise.
* elf/dl-cache.c: Likewise.
* elf/dl-close.c: Likewise.
* elf/dl-iteratephdr.c: Likewise.
* elf/dl-load.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-object.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-reloc.c: Likewise.
* elf/dl-support.c: Likewise.
* elf/dl-sym.c: Likewise.
* elf/dl-sysdep.c: Likewise.
* elf/dl-tls.c: Likewise.
* elf/ldconfig.c: Likewise.
* elf/rtld.c: Likewise.
* elf/tst-tls-dlinfo.c: Likewise.
* elf/tst-tls1.c: Likewise.
* elf/tst-tls10.h: Likewise.
* elf/tst-tls14.c: Likewise.
* elf/tst-tls2.c: Likewise.
* elf/tst-tls3.c: Likewise.
* elf/tst-tls4.c: Likewise.
* elf/tst-tls5.c: Likewise.
* elf/tst-tls6.c: Likewise.
* elf/tst-tls7.c: Likewise.
* elf/tst-tls8.c: Likewise.
* elf/tst-tls9.c: Likewise.
* elf/tst-tlsmod1.c: Likewise.
* elf/tst-tlsmod13.c: Likewise.
* elf/tst-tlsmod13a.c: Likewise.
* elf/tst-tlsmod14a.c: Likewise.
* elf/tst-tlsmod2.c: Likewise.
* elf/tst-tlsmod3.c: Likewise.
* elf/tst-tlsmod4.c: Likewise.
* elf/tst-tlsmod5.c: Likewise.
* elf/tst-tlsmod6.c: Likewise.
* include/errno.h: Likewise.
* include/link.h: Likewise.
* include/tls.h: Likewise.
* locale/global-locale.c: Likewise.
* locale/localeinfo.h: Likewise.
* malloc/arena.c: Likewise.
* malloc/hooks.c: Likewise.
* malloc/malloc.c: Likewise.
* resolv/Versions: Likewise.
* sysdeps/alpha/dl-machine.h: Likewise.
* sysdeps/alpha/libc-tls.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/generic/tls.h: Likewise.
* sysdeps/i386/dl-machine.h: Likewise.
* sysdeps/ia64/dl-machine.h: Likewise.
* sysdeps/ia64/libc-tls.c: Likewise.
* sysdeps/mach/hurd/fork.c: Likewise.
* sysdeps/mach/hurd/i386/tls.h: Likewise.
* sysdeps/powerpc/powerpc32/dl-machine.c: Likwise.
* sysdeps/powerpc/powerpc32/dl-machine.h: Likewise.
* sysdeps/powerpc/powerpc64/dl-machine.h: Likewise.
* sysdeps/s390/libc-tls.c: Likewise.
* sysdeps/s390/s390-32/dl-machine.h: Likewise.
* sysdeps/s390/s390-64/dl-machine.h: Likewise.
* sysdeps/sh/dl-machine.h: Likewise.
* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
* sysdeps/x86_64/dl-machine.h: Likewise.
[BZ #3426]
* stdlib/stdlib.h: Adjust comment for canonicalize_file_name to
reality.
2006-10-27 Jakub Jelinek <jakub@redhat.com>
* elf/dl-lookup.c (_dl_debug_bindings): Remove unused symbol_scope
argument.
(_dl_lookup_symbol_x): Adjust caller.
* sysdeps/generic/ldsodefs.h (struct link_namespaces): Remove
_ns_global_scope.
* elf/rtld.c (dl_main): Don't initialize _ns_global_scope.
* elf/dl-libc.c: Revert l_scope name changes.
* elf/dl-load.c: Likewise.
* elf/dl-object.c: Likewise.
* elf/rtld.c: Likewise.
* elf/dl-close.c (_dl_close): Likewise.
* elf/dl-open.c (dl_open_worker): Likewise. If not SINGLE_THREAD_P,
always use __rtld_mrlock_{change,done}. Always free old scope list
here if not l_scope_mem.
* elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Revert l_scope name
change. Never free scope list here. Just __rtld_mrlock_lock before
the lookup and __rtld_mrlock_unlock it after the lookup.
* elf/dl-sym.c: Likewise.
* include/link.h (struct r_scoperec): Remove.
(struct link_map): Replace l_scoperec with l_scope, l_scoperec_mem
with l_scope_mem and l_scoperec_lock with l_scope_lock.
2006-10-25 Ulrich Drepper <drepper@redhat.com>
* sysdeps/gnu/netinet/tcp.h: Define TCP_CONGESTION.
2006-10-18 Ulrich Drepper <drepper@redhat.com>
* configure.in: Disable building profile libraries by default.
2006-10-18 Ulrich Drepper <drepper@redhat.com>
* elf/dl-lookup.c (_dl_lookup_symbol_x): Add warning to
_dl_lookup_symbol_x code.
2006-10-17 Jakub Jelinek <jakub@redhat.com>
* elf/dl-runtime.c: Include sysdep-cancel.h.
(_dl_fixup, _dl_profile_fixup): Use __rtld_mrlock_* and
scoperec->nusers only if !SINGLE_THREAD_P. Use atomic_*
instead of catomic_* macros.
* elf/dl-sym.c: Include sysdep-cancel.h.
(do_sym): Use __rtld_mrlock_* and scoperec->nusers only
if !SINGLE_THREAD_P. Use atomic_* instead of catomic_* macros.
* elf/dl-close.c: Include sysdep-cancel.h.
(_dl_close): Use __rtld_mrlock_* and scoperec->nusers only
if !SINGLE_THREAD_P. Use atomic_* instead of catomic_* macros.
* elf/dl-open.c: Include sysdep-cancel.h.
(dl_open_worker): Use __rtld_mrlock_* and scoperec->nusers only
if !SINGLE_THREAD_P. Use atomic_* instead of catomic_* macros.
2006-10-17 Jakub Jelinek <jakub@redhat.com>
[BZ #3313]
* malloc/malloc.c (malloc_consolidate): Set maxfb to address of last
fastbin rather than end of fastbin array.
2006-10-18 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/i486/bits/atomic.h (catomic_decrement): Use correct
body macro.
* sysdeps/x86_64/bits/atomic.h
(__arch_c_compare_and_exchange_val_64_acq): Add missing casts.
(catomic_decrement): Use correct body macro.
2006-10-17 Jakub Jelinek <jakub@redhat.com>
* include/atomic.h: Add a unique prefix to all local variables
in macros.
* csu/tst-atomic.c (do_test): Test also catomic_* macros.
2006-10-14 Ulrich Drepper <drepper@redhat.com>
* resolv/arpa/nameser.h: Document that ns_t_a6 is deprecated.
[BZ #3313]
* malloc/malloc.c (malloc_consolidate): Don't use get_fast_max to
determine highest fast bin to consolidate, always look into all of
them.
(do_check_malloc_state): Only require for empty bins for large
sizes in main arena.
* libio/stdio.h: Add more __wur attributes.
2006-11-12 Andreas Jaeger <aj@suse.de>
[BZ #2510]
* manual/search.texi (Hash Search Function): Clarify.
(Array Search Function): Clarify.
2006-11-12 Joseph Myers <joseph@codesourcery.com>
[BZ #2830]
* math/atest-exp.c (main): Cast hex value to mp_limb_t before
shifting.
* math/atest-exp2.c (read_mpn_hex): Likewise.
* math/atest-sincos.c (main): Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Add epoll_pwait.
* sysdeps/unix/sysv/linux/sys/epoll.h: Declare epoll_pwait.
* sysdeps/unix/sysv/linux/Versions (libc): Add epoll_pwait for
version GLIBC_2.6.
* Versions.def: Add GLIBC_2.6 for libc.
* sysdeps/i386/i486/bits/atomic.h: Add catomic_* support.
2006-10-11 Jakub Jelinek <jakub@redhat.com>
* malloc/malloc.c (_int_malloc): Remove unused any_larger variable.
* nis/nis_defaults.c (__nis_default_access): Don't call getenv twice.
* nis/nis_subr.c (nis_getnames): Use __secure_getenv instead of getenv.
* sysdeps/generic/unsecvars.h: Add NIS_PATH.
2006-10-11 Ulrich Drepper <drepper@redhat.com>
* include/atomic.c: Define catomic_* operations.
* sysdeps/x86_64/bits/atomic.h: Likewise. Fix a few minor problems.
* stdlib/cxa_finalize.c: Use catomic_* operations instead of atomic_*.
* malloc/memusage.c: Likewise.
* gmon/mcount.c: Likewise.
* elf/dl-close.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-profile.c: Likewise.
* elf/dl-sym.c: Likewise.
* elf/dl-runtime.c: Likewise.
* elf/dl-fptr.c: Likewise.
* resolv/res_libc.c: Likewise.
2006-10-10 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/utimes.c: Use a union to avoid an improper cast.
* sysdeps/mach/hurd/futimes.c: Likewise.
* sysdeps/mach/hurd/lutimes.c: Likewise.
2006-10-09 Ulrich Drepper <drepper@redhat.com>
Jakub Jelinek <jakub@redhat.com>
Implement reference counting of scope records.
* elf/dl-close.c (_dl_close): Remove all scopes from removed objects
from the list in objects which remain. Always allocate new scope
record.
* elf/dl-open.c (dl_open_worker): When growing array for scopes,
don't resize, allocate a new one.
* elf/dl-runtime.c: Update reference counters before using a scope
array.
* elf/dl-sym.c: Likewise.
* elf/dl-libc.c: Adjust for l_scope name change.
* elf/dl-load.c: Likewise.
* elf/dl-object.c: Likewise.
* elf/rtld.c: Likewise.
* include/link.h: Include <rtld-lowlevel.h>. Define struct
r_scoperec. Replace r_scope with pointer to r_scoperec structure.
Add l_scoperec_lock.
* sysdeps/generic/ldsodefs.h: Include <rtld-lowlevel.h>.
* sysdeps/generic/rtld-lowlevel.h: New file.
* include/atomic.h: Rename atomic_and to atomic_and_val and
atomic_or to atomic_or_val. Define new macros atomic_and and
atomic_or which do not return values.
* sysdeps/x86_64/bits/atomic.h: Define atomic_and and atomic_or.
Various cleanups.
* sysdeps/i386/i486/bits/atomic.h: Likewise.
* po/sv.po: Update from translation team.
2006-10-07 Ulrich Drepper <drepper@redhat.com>
* Versions.def: Add GLIBC_2.6 to libpthread.
* include/shlib-compat.h (SHLIB_COMPAT): Expand parameters before use.
(versioned_symbol): Likewise.
(compat_symbol): Likewise.
* po/tr.po: Update from translation team.
* nis/Banner: Removed. It's been integral part forever and the
author info is incomplete anyway.
* libio/Banner: Likewise.
2006-10-06 Ulrich Drepper <drepper@redhat.com>
* version.h (VERSION): Bump to 2.5.90 for new development tree.
2007-01-12 05:51:07 +08:00
|
|
|
passed to the function in the @var{errnum} parameter. This eliminates
|
2001-08-17 01:51:43 +08:00
|
|
|
the problem mentioned above that the error reporting function must be
|
|
|
|
called immediately after the function causing the error since otherwise
|
|
|
|
@code{errno} might have a different value.
|
|
|
|
|
|
|
|
The @code{error} prints first the program name. If the application
|
|
|
|
defined a global variable @code{error_print_progname} and points it to a
|
|
|
|
function this function will be called to print the program name.
|
|
|
|
Otherwise the string from the global variable @code{program_name} is
|
|
|
|
used. The program name is followed by a colon and a space which in turn
|
|
|
|
is followed by the output produced by the format string. If the
|
|
|
|
@var{errnum} parameter is non-zero the format string output is followed
|
|
|
|
by a colon and a space, followed by the error message for the error code
|
|
|
|
@var{errnum}. In any case is the output terminated with a newline.
|
|
|
|
|
|
|
|
The output is directed to the @code{stderr} stream. If the
|
|
|
|
@code{stderr} wasn't oriented before the call it will be narrow-oriented
|
|
|
|
afterwards.
|
|
|
|
|
|
|
|
The function will return unless the @var{status} parameter has a
|
|
|
|
non-zero value. In this case the function will call @code{exit} with
|
|
|
|
the @var{status} value for its parameter and therefore never return. If
|
|
|
|
@code{error} returns the global variable @code{error_message_count} is
|
|
|
|
incremented by one to keep track of the number of errors reported.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment error.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun void error_at_line (int @var{status}, int @var{errnum}, const char *@var{fname}, unsigned int @var{lineno}, const char *@var{format}, @dots{})
|
2014-02-01 13:49:25 +08:00
|
|
|
@safety{@prelim{}@mtunsafe{@mtasurace{:error_at_line/error_one_per_line} @mtslocale{}}@asunsafe{@asucorrupt{} @asuheap{} @asuintl{}}@acunsafe{@acucorrupt{/error_one_per_line}}}
|
|
|
|
@c The error_one_per_line variable is accessed (without any form of
|
|
|
|
@c synchronization, but since it's an int used once, it should be safe
|
|
|
|
@c enough) and, if this mode is enabled, static variables used to hold
|
|
|
|
@c the last printed file name and line number are accessed and modified
|
|
|
|
@c without synchronization; the update is not atomic and it occurs
|
|
|
|
@c before disabling cancellation, so it can be interrupted after only
|
|
|
|
@c one of the two variables is modified. After that, it's very much
|
|
|
|
@c like error.
|
2001-08-17 01:51:43 +08:00
|
|
|
|
|
|
|
The @code{error_at_line} function is very similar to the @code{error}
|
|
|
|
function. The only difference are the additional parameters @var{fname}
|
|
|
|
and @var{lineno}. The handling of the other parameters is identical to
|
|
|
|
that of @code{error} except that between the program name and the string
|
|
|
|
generated by the format string additional text is inserted.
|
|
|
|
|
|
|
|
Directly following the program name a colon, followed by the file name
|
|
|
|
pointer to by @var{fname}, another colon, and a value of @var{lineno} is
|
|
|
|
printed.
|
|
|
|
|
|
|
|
This additional output of course is meant to be used to locate an error
|
|
|
|
in an input file (like a programming language source code file etc).
|
|
|
|
|
|
|
|
If the global variable @code{error_one_per_line} is set to a non-zero
|
|
|
|
value @code{error_at_line} will avoid printing consecutive messages for
|
[BZ #2510, BZ #2830, BZ #3137, BZ #3313, BZ #3426, BZ #3465, BZ #3480, BZ #3483, BZ #3493, BZ #3514, BZ #3515, BZ #3664, BZ #3673, BZ #3674]
2007-01-11 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/soft-fp/sfp-machine.h: Remove.
* sysdeps/x86_64/soft-fp/sfp-machine.h: Likewise.
2007-01-10 Ulrich Drepper <drepper@redhat.com>
* io/fts.c: Make sure fts_cur is always valid after return from
fts_read.
Patch by Miloslav Trmac <mitr@redhat.com>.
2006-10-27 Richard Sandiford <richard@codesourcery.com>
* elf/elf.h (R_MIPS_GLOB_DAT): Define.
(R_MIPS_NUM): Bump by 1.
2007-01-03 Jakub Jelinek <jakub@redhat.com>
* posix/execvp.c: Include alloca.h.
(allocate_scripts_argv): Renamed to...
(scripts_argv): ... this. Don't allocate buffer here nor count
arguments.
(execvp): Use alloca if possible.
* posix/Makefile: Add rules to build and run tst-vfork3 test.
* posix/tst-vfork3.c: New test.
* stdlib/Makefile (tst-strtod3-ENV): Define.
2007-01-02 Ulrich Drepper <drepper@redhat.com>
* posix/getconf.c: Update copyright year.
* nss/getent.c: Likewise.
* iconv/iconvconfig.c: Likewise.
* iconv/iconv_prog.c: Likewise.
* elf/ldconfig.c: Likewise.
* catgets/gencat.c: Likewise.
* csu/version.c: Likewise.
* elf/ldd.bash.in: Likewise.
* elf/sprof.c (print_version): Likewise.
* locale/programs/locale.c: Likewise.
* locale/programs/localedef.c: Likewise.
* nscd/nscd.c (print_version): Likewise.
* debug/xtrace.sh: Likewise.
* malloc/memusage.sh: Likewise.
* malloc/mtrace.pl: Likewise.
* debug/catchsegv.sh: Likewise.
2006-12-24 Ulrich Drepper <drepper@redhat.com>
* malloc/malloc.c (sYSMALLOc): Remove some unnecessary alignment
attempts.
2006-12-23 Ulrich Drepper <drepper@redhat.com>
* posix/wordexp.c: Remove some unnecessary tests.
2006-12-20 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
* sysdeps/unix/sysv/linux/sh/bits/shm.h: New file.
* nss/getXXbyYY_r.c: Include atomic.h.
(INTERNAL (REENTRANT_NAME)): Write startp after start_fct,
add atomic_write_barrier () in between.
2006-11-28 Jakub Jelinek <jakub@redhat.com>
* elf/dl-support.c: Include dl-procinfo.h.
* sysdeps/powerpc/dl-procinfo.h (PPC_PLATFORM_POWER4,
PPC_PLATFORM_PPC970, PPC_PLATFORM_POWER5, PPC_PLATFORM_POWER5_PLUS,
PPC_PLATFORM_POWER6, PPC_PLATFORM_CELL_BE, PPC_PLATFORM_POWER6X):
Define.
(_dl_string_platform): Use PPC_PLATFORM_* macros instead of
hardcoded constants.
* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_platform): Use
PPC_PLATFORM_* macros for array designators.
2006-11-11 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags): Add 3 new cap
names to the beginning.
(_dl_powerpc_platforms): Add "power6x".
* sysdeps/powerpc/dl-procinfo.h (_DL_HWCAP_FIRST): Decrease.
(HWCAP_IMPORTANT): Add PPC_FEATURE_HAS_DFP.
(_DL_PLATFORMS_COUNT): Increase.
(_dl_string_platform): Handle power6x case.
* sysdeps/powerpc/sysdep.h (PPC_FEATURE_PA6T, PPC_FEATURE_HAS_DFP,
PPC_FEATURE_POWER6_EXT): Define.
(PPC_FEATURE_POWER5, PPC_FEATURE_POWER5_PLUS): Correct Comment.
[-2^31 .. 2^31) range.
* sysdeps/unix/sysv/linux/bits/statvfs.h: Define ST_RELATIME.
* sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
Handle relatime mount option.
2006-12-13 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Include
kernel-features.h.
2006-12-11 Ulrich Drepper <drepper@redhat.com>
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Parse thousand
separators also if no non-zero digits found.
* stdlib/Makefile (tests): Add tst-strtod3.
[BZ #3664]
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix test to recognize
empty parsed strings.
* stdlib/Makefile (tests): Add tst-strtod2.
* stdlib/tst-strtod2.c: New file.
[BZ #3673]
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix exp_limit
computation.
* stdlib/Makefile (tests): Add tst-atof2.
* stdlib/tst-atof2.c: New file.
[BZ #3674]
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Adjust exponent value
correctly if removing trailing zero of hex-float.
* stdlib/Makefile (tests): Add tst-atof1.
* stdlib/tst-atof1.c: New file.
* misc/mntent_r.c (__hasmntopt): Check p[optlen] even when p == rest.
Start searching for next comma at p rather than rest.
* misc/Makefile (tests): Add tst-mntent2.
* misc/tst-mntent2.c: New test.
2006-12-08 Ulrich Drepper <drepper@redhat.com>
* malloc/memusage.c: Handle realloc with new size of zero and
non-NULL pointer correctly.
(me): Really write first record twice.
(struct entry): Make format bi-arch safe.
(dest): Write out more realloc statistics.
* malloc/memusagestat.c (struct entry): Make format bi-arch safe.
2006-12-05 Jakub Jelinek <jakub@redhat.com>
* nis/nis_subr.c (nis_getnames): Revert last change.
2006-12-03 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/sys/io.h: Removed.
2006-11-30 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/i386/i686/memcmp.S: Use jump table as the base of
jump table entries.
2006-11-30 Jan Kratochvil <jan.kratochvil@redhat.com>
* sysdeps/unix/sysv/linux/i386/clone.S: Provide CFI for the outermost
`clone' function to ensure proper unwinding stop of gdb.
* sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise.
2006-12-01 Ulrich Drepper <drepper@redhat.com>
* nscd/nscd.init: Remove obsolete and commented-out -S option
handling.
2006-11-23 Jakub Jelinek <jakub@redhat.com>
[BZ #3514]
* manual/string.texi (strncmp): Fix pastos from wcscmp description.
[BZ #3515]
* manual/string.texi (strtok): Remove duplicate paragraph.
2006-12-01 Jan Kratochvil <jan.kratochvil@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Fix compatibility with
libgcc not supporting `rflags' unwinding (register # >= 17).
2006-11-30 Jakub Jelinek <jakub@redhat.com>
* sunrpc/svc_run.c (svc_run): Set my_pollfd to new_pollfd if realloc
succeeded.
2006-11-29 Daniel Jacobowitz <dan@codesourcery.com>
Jakub Jelinek <jakub@redhat.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sigaction.c (restore_rt): Add correct
unwind information.
* sysdeps/unix/sysv/linux/x86_64/Makefile: Provide symbols for
'restore_rt' even in the 'signal' directory.
* sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym: Extend the regs list.
malloc crashed. Don't allocate memory unnecessarily in each
loop.
2006-10-21 Jakub Jelinek <jakub@redhat.com>
* resolv/mapv4v6addr.h (map_v4v6_address): Fix last change.
2006-11-20 Ulrich Drepper <drepper@redhat.com>
* resolv/mapv4v6addr.h (map_v4v6_address): Optimize a bit.
2006-11-18 Bruno Haible <bruno@clisp.org>
* sysdeps/unix/sysv/linux/i386/getgroups.c (__getgroups): Invoke
__sysconf only after having tried to call getgroups32.
2006-11-19 Ulrich Drepper <drepper@redhat.com>
* nss/nss_files/files-hosts.c (LINE_PARSER): Support IPv6-style
addresses for IPv4 queries if they can be mapped.
2006-11-16 Jakub Jelinek <jakub@redhat.com>
* sysdeps/x86_64/fpu/s_copysignf.S (__copysignf): Switch to .text.
* sysdeps/x86_64/fpu/s_copysign.S (__copysign): Likewise.
(signmask): Add .size directive.
(othermask): Add .type directive.
2006-11-14 Ulrich Drepper <drepper@redhat.com>
* po/nl.po: Update from translation team.
* timezone/zdump.c: Redo fix for BZ #3137.
2006-11-14 Jakub Jelinek <jakub@redhat.com>
* nss/nss_files/files-alias.c (get_next_alias): Set line back
to first_unused after parsing :include: file.
* timezone/africa: Update from tzdata2006o.
* timezone/antarctica: Likewise.
* timezone/asia: Likewise.
* timezone/australasia: Likewise.
* timezone/backward: Likewise.
* timezone/europe: Likewise.
* timezone/iso3166.tab: Likewise.
* timezone/northamerica: Likewise.
* timezone/southamerica: Likewise.
* timezone/zone.tab: Likewise.
* time/tzfile.c (__tzfile_read): Extend to handle new file format
on machines with 64-bit time_t.
* timezone/checktab.awk: Update from tzcode2006o.
* timezone/ialloc.c: Likewise.
* timezone/private.h: Likewise.
* timezone/scheck.c: Likewise.
* timezone/tzfile.h: Likewise.
* timezone/tzselect.ksh: Likewise.
* timezone/zdump.c: Likewise.
* timezone/zic.c: Likewise.
[BZ #3483]
* elf/ldconfig.c (main): Call setlocale and textdomain.
Patch mostly by Benno Schulenberg <bensberg@justemail.net>.
[BZ #3480]
* manual/argp.texi: Fix typos.
* manual/charset.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/maint.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/time.texi: Likewise.
Patch by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
[BZ #3465]
* sunrpc/clnt_raw.c: Minimal message improvements.
* sunrpc/pm_getmaps.c: Likewise.
* nis/nss_nisplus/nisplus-publickey.c: Likewise.
* nis/nis_print_group_entry.c: Likewise.
* locale/programs/repertoire.c: Likewise.
* locale/programs/charmap.c: Likewise.
* malloc/memusage.sh: Likewise.
* elf/dl-deps.c: Likewise.
* locale/programs/ld-collate.c: Likewise.
* libio/vswprintf.c: Likewise.
* malloc/memusagestat.c: Likewise.
* sunrpc/auth_unix.c: Likewise.
* sunrpc/rpc_main.c: Likewise.
* nscd/cache.c: Likewise.
* locale/programs/repertoire.c: Unify output messages.
* locale/programs/charmap.c: Likewise.
* locale/programs/ld-ctype.c: Likewise.
* locale/programs/ld-monetary.c: Likewise.
* locale/programs/ld-numeric.c: Likewise.
* locale/programs/ld-time.c: Likewise.
* elf/ldconfig.c: Likewise.
* nscd/selinux.c: Likewise.
* elf/cache.c: Likewise.
Patch mostly by Benno Schulenberg <bensberg@justemail.net>.
2006-11-10 Jakub Jelinek <jakub@redhat.com>
* string/strxfrm_l.c (STRXFRM): Fix trailing \1 optimization
if N is one bigger than return value.
* string/tst-strxfrm2.c (do_test): Also test strxfrm with l1 + 1
and l1 last arguments, if buf is defined, verify the return value
equals to strlen (buf) and verify no byte beyond passed length
is modified.
2006-11-10 Ulrich Drepper <drepper@redhat.com>
* po/sv.po: Update from translation team.
* sysdeps/gnu/siglist.c (__old_sys_siglist, __old_sys_sigabbrev):
Use __new_sys_siglist instead of _sys_siglist_internal as
second macro argument.
(_old_sys_siglist): Use declare_symbol_alias macro instead of
strong_alias.
2006-11-09 Ulrich Drepper <drepper@redhat.com>
[BZ #3493]
* posix/unistd.h (sysconf): Remove const attribute.
* sysdeps/posix/getaddrinfo.c (getaddrinfo): Fix test for
temporary or deprecated addresses.
Patch by Sridhar Samudrala <sri@us.ibm.com>.
* string/Makefile (tests): Add tst-strxfrm2.
* string/tst-strxfrm2.c: New file.
2006-10-09 Jakub Jelinek <jakub@redhat.com>
* elf/dl-debug.c (_dl_debug_initialize): Check r->r_map for 0
rather than r->r_brk.
* string/strxfrm_l.c (STRXFRM): Do the trailing \1 removal
optimization even if needed > n.
2006-11-07 Jakub Jelinek <jakub@redhat.com>
* include/libc-symbols.h (declare_symbol): Rename to...
(declare_symbol_alias): ... this. Add ORIGINAL argument, imply
strong_alias (ORIGINAL, SYMBOL) in asm to make sure it preceedes
.size directive.
* sysdeps/gnu/errlist-compat.awk: Adjust for declare_symbol_alias
changes.
* sysdeps/gnu/siglist.c: Likewise.
2006-11-03 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/fpu/bits/mathinline.h
[__LIBC_INTERNAL_MATH_INLINES]: Moved to ...
* sysdeps/powerpc/fpu/math_private.h: ...here. New file.
2006-11-05 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word):
Update handling of cache descriptor 0x49 for new models.
* sysdeps/unix/sysv/linux/x86_64/sysconf.c (intel_check_word):
Likewise.
2006-11-02 Ulrich Drepper <drepper@redhat.com>
* configure.in: Work around ld --help change and avoid -z relro
test completely if the architecture doesn't care about security.
2006-11-01 Ulrich Drepper <drepper@redhat.com>
* po/sv.po: Update from translation team.
2006-10-31 Ulrich Drepper <drepper@redhat.com>
* stdlib/atexit.c (atexit): Don't mark as hidden when used to
generate compatibility version.
2006-10-29 Ulrich Drepper <drepper@redhat.com>
* configure.in: Relax -z relro requirement a bit.
* po/sv.po: Update from translation team.
2006-10-29 Jakub Jelinek <jakub@redhat.com>
* elf/dl-sym.c (do_sym): Use RTLD_SINGLE_THREAD_P.
* elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Likewise.
* elf/dl-close.c (_dl_close_worker): Likewise.
* elf/dl-open.c (_dl_open_worker): Likewise.
* sysdeps/generic/sysdep-cancel.h (RTLD_SINGLE_THREAD_P): Define.
* configure.in: Require assembler support for visibility, compiler
support for visibility and aliases, linker support for various -z
options.
* Makeconfig: Remove conditional code which now is unnecessary.
* config.h.in: Likewise.
* config.make.in: Likewise.
* dlfcn/Makefile: Likewise.
* elf/Makefile: Likewise.
* elf/dl-load.c: Likewise.
* elf/rtld.c: Likewise.
* include/libc-symbols.h: Likewise.
* include/stdio.h: Likewise.
* io/Makefile: Likewise.
* io/fstat.c: Likewise.
* io/fstat64.c: Likewise.
* io/fstatat.c: Likewise.
* io/fstatat64.c: Likewise.
* io/lstat.c: Likewise.
* io/lstat64.c: Likewise.
* io/mknod.c: Likewise.
* io/mknodat.c: Likewise.
* io/stat.c: Likewise.
* io/stat64.c: Likewise.
* libio/stdio.c: Likewise.
* nscd/Makefile: Likewise.
* stdlib/Makefile: Likewise.
* stdlib/atexit.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/i386/dl-machine.h: Likewise.
* sysdeps/i386/sysdep.h: Likewise.
* sysdeps/i386/i686/memcmp.S: Likewise.
* sysdeps/powerpc/powerpc32/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise.
* Makerules: USE_TLS support is now default.
* tls.make.c: Likewise.
* csu/Versions: Likewise.
* csu/libc-start.c: Likewise.
* csu/libc-tls.c: Likewise.
* csu/version.c: Likewise.
* dlfcn/dlinfo.c: Likewise.
* elf/dl-addr.c: Likewise.
* elf/dl-cache.c: Likewise.
* elf/dl-close.c: Likewise.
* elf/dl-iteratephdr.c: Likewise.
* elf/dl-load.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-object.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-reloc.c: Likewise.
* elf/dl-support.c: Likewise.
* elf/dl-sym.c: Likewise.
* elf/dl-sysdep.c: Likewise.
* elf/dl-tls.c: Likewise.
* elf/ldconfig.c: Likewise.
* elf/rtld.c: Likewise.
* elf/tst-tls-dlinfo.c: Likewise.
* elf/tst-tls1.c: Likewise.
* elf/tst-tls10.h: Likewise.
* elf/tst-tls14.c: Likewise.
* elf/tst-tls2.c: Likewise.
* elf/tst-tls3.c: Likewise.
* elf/tst-tls4.c: Likewise.
* elf/tst-tls5.c: Likewise.
* elf/tst-tls6.c: Likewise.
* elf/tst-tls7.c: Likewise.
* elf/tst-tls8.c: Likewise.
* elf/tst-tls9.c: Likewise.
* elf/tst-tlsmod1.c: Likewise.
* elf/tst-tlsmod13.c: Likewise.
* elf/tst-tlsmod13a.c: Likewise.
* elf/tst-tlsmod14a.c: Likewise.
* elf/tst-tlsmod2.c: Likewise.
* elf/tst-tlsmod3.c: Likewise.
* elf/tst-tlsmod4.c: Likewise.
* elf/tst-tlsmod5.c: Likewise.
* elf/tst-tlsmod6.c: Likewise.
* include/errno.h: Likewise.
* include/link.h: Likewise.
* include/tls.h: Likewise.
* locale/global-locale.c: Likewise.
* locale/localeinfo.h: Likewise.
* malloc/arena.c: Likewise.
* malloc/hooks.c: Likewise.
* malloc/malloc.c: Likewise.
* resolv/Versions: Likewise.
* sysdeps/alpha/dl-machine.h: Likewise.
* sysdeps/alpha/libc-tls.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/generic/tls.h: Likewise.
* sysdeps/i386/dl-machine.h: Likewise.
* sysdeps/ia64/dl-machine.h: Likewise.
* sysdeps/ia64/libc-tls.c: Likewise.
* sysdeps/mach/hurd/fork.c: Likewise.
* sysdeps/mach/hurd/i386/tls.h: Likewise.
* sysdeps/powerpc/powerpc32/dl-machine.c: Likwise.
* sysdeps/powerpc/powerpc32/dl-machine.h: Likewise.
* sysdeps/powerpc/powerpc64/dl-machine.h: Likewise.
* sysdeps/s390/libc-tls.c: Likewise.
* sysdeps/s390/s390-32/dl-machine.h: Likewise.
* sysdeps/s390/s390-64/dl-machine.h: Likewise.
* sysdeps/sh/dl-machine.h: Likewise.
* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
* sysdeps/x86_64/dl-machine.h: Likewise.
[BZ #3426]
* stdlib/stdlib.h: Adjust comment for canonicalize_file_name to
reality.
2006-10-27 Jakub Jelinek <jakub@redhat.com>
* elf/dl-lookup.c (_dl_debug_bindings): Remove unused symbol_scope
argument.
(_dl_lookup_symbol_x): Adjust caller.
* sysdeps/generic/ldsodefs.h (struct link_namespaces): Remove
_ns_global_scope.
* elf/rtld.c (dl_main): Don't initialize _ns_global_scope.
* elf/dl-libc.c: Revert l_scope name changes.
* elf/dl-load.c: Likewise.
* elf/dl-object.c: Likewise.
* elf/rtld.c: Likewise.
* elf/dl-close.c (_dl_close): Likewise.
* elf/dl-open.c (dl_open_worker): Likewise. If not SINGLE_THREAD_P,
always use __rtld_mrlock_{change,done}. Always free old scope list
here if not l_scope_mem.
* elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Revert l_scope name
change. Never free scope list here. Just __rtld_mrlock_lock before
the lookup and __rtld_mrlock_unlock it after the lookup.
* elf/dl-sym.c: Likewise.
* include/link.h (struct r_scoperec): Remove.
(struct link_map): Replace l_scoperec with l_scope, l_scoperec_mem
with l_scope_mem and l_scoperec_lock with l_scope_lock.
2006-10-25 Ulrich Drepper <drepper@redhat.com>
* sysdeps/gnu/netinet/tcp.h: Define TCP_CONGESTION.
2006-10-18 Ulrich Drepper <drepper@redhat.com>
* configure.in: Disable building profile libraries by default.
2006-10-18 Ulrich Drepper <drepper@redhat.com>
* elf/dl-lookup.c (_dl_lookup_symbol_x): Add warning to
_dl_lookup_symbol_x code.
2006-10-17 Jakub Jelinek <jakub@redhat.com>
* elf/dl-runtime.c: Include sysdep-cancel.h.
(_dl_fixup, _dl_profile_fixup): Use __rtld_mrlock_* and
scoperec->nusers only if !SINGLE_THREAD_P. Use atomic_*
instead of catomic_* macros.
* elf/dl-sym.c: Include sysdep-cancel.h.
(do_sym): Use __rtld_mrlock_* and scoperec->nusers only
if !SINGLE_THREAD_P. Use atomic_* instead of catomic_* macros.
* elf/dl-close.c: Include sysdep-cancel.h.
(_dl_close): Use __rtld_mrlock_* and scoperec->nusers only
if !SINGLE_THREAD_P. Use atomic_* instead of catomic_* macros.
* elf/dl-open.c: Include sysdep-cancel.h.
(dl_open_worker): Use __rtld_mrlock_* and scoperec->nusers only
if !SINGLE_THREAD_P. Use atomic_* instead of catomic_* macros.
2006-10-17 Jakub Jelinek <jakub@redhat.com>
[BZ #3313]
* malloc/malloc.c (malloc_consolidate): Set maxfb to address of last
fastbin rather than end of fastbin array.
2006-10-18 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/i486/bits/atomic.h (catomic_decrement): Use correct
body macro.
* sysdeps/x86_64/bits/atomic.h
(__arch_c_compare_and_exchange_val_64_acq): Add missing casts.
(catomic_decrement): Use correct body macro.
2006-10-17 Jakub Jelinek <jakub@redhat.com>
* include/atomic.h: Add a unique prefix to all local variables
in macros.
* csu/tst-atomic.c (do_test): Test also catomic_* macros.
2006-10-14 Ulrich Drepper <drepper@redhat.com>
* resolv/arpa/nameser.h: Document that ns_t_a6 is deprecated.
[BZ #3313]
* malloc/malloc.c (malloc_consolidate): Don't use get_fast_max to
determine highest fast bin to consolidate, always look into all of
them.
(do_check_malloc_state): Only require for empty bins for large
sizes in main arena.
* libio/stdio.h: Add more __wur attributes.
2006-11-12 Andreas Jaeger <aj@suse.de>
[BZ #2510]
* manual/search.texi (Hash Search Function): Clarify.
(Array Search Function): Clarify.
2006-11-12 Joseph Myers <joseph@codesourcery.com>
[BZ #2830]
* math/atest-exp.c (main): Cast hex value to mp_limb_t before
shifting.
* math/atest-exp2.c (read_mpn_hex): Likewise.
* math/atest-sincos.c (main): Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Add epoll_pwait.
* sysdeps/unix/sysv/linux/sys/epoll.h: Declare epoll_pwait.
* sysdeps/unix/sysv/linux/Versions (libc): Add epoll_pwait for
version GLIBC_2.6.
* Versions.def: Add GLIBC_2.6 for libc.
* sysdeps/i386/i486/bits/atomic.h: Add catomic_* support.
2006-10-11 Jakub Jelinek <jakub@redhat.com>
* malloc/malloc.c (_int_malloc): Remove unused any_larger variable.
* nis/nis_defaults.c (__nis_default_access): Don't call getenv twice.
* nis/nis_subr.c (nis_getnames): Use __secure_getenv instead of getenv.
* sysdeps/generic/unsecvars.h: Add NIS_PATH.
2006-10-11 Ulrich Drepper <drepper@redhat.com>
* include/atomic.c: Define catomic_* operations.
* sysdeps/x86_64/bits/atomic.h: Likewise. Fix a few minor problems.
* stdlib/cxa_finalize.c: Use catomic_* operations instead of atomic_*.
* malloc/memusage.c: Likewise.
* gmon/mcount.c: Likewise.
* elf/dl-close.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-profile.c: Likewise.
* elf/dl-sym.c: Likewise.
* elf/dl-runtime.c: Likewise.
* elf/dl-fptr.c: Likewise.
* resolv/res_libc.c: Likewise.
2006-10-10 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/utimes.c: Use a union to avoid an improper cast.
* sysdeps/mach/hurd/futimes.c: Likewise.
* sysdeps/mach/hurd/lutimes.c: Likewise.
2006-10-09 Ulrich Drepper <drepper@redhat.com>
Jakub Jelinek <jakub@redhat.com>
Implement reference counting of scope records.
* elf/dl-close.c (_dl_close): Remove all scopes from removed objects
from the list in objects which remain. Always allocate new scope
record.
* elf/dl-open.c (dl_open_worker): When growing array for scopes,
don't resize, allocate a new one.
* elf/dl-runtime.c: Update reference counters before using a scope
array.
* elf/dl-sym.c: Likewise.
* elf/dl-libc.c: Adjust for l_scope name change.
* elf/dl-load.c: Likewise.
* elf/dl-object.c: Likewise.
* elf/rtld.c: Likewise.
* include/link.h: Include <rtld-lowlevel.h>. Define struct
r_scoperec. Replace r_scope with pointer to r_scoperec structure.
Add l_scoperec_lock.
* sysdeps/generic/ldsodefs.h: Include <rtld-lowlevel.h>.
* sysdeps/generic/rtld-lowlevel.h: New file.
* include/atomic.h: Rename atomic_and to atomic_and_val and
atomic_or to atomic_or_val. Define new macros atomic_and and
atomic_or which do not return values.
* sysdeps/x86_64/bits/atomic.h: Define atomic_and and atomic_or.
Various cleanups.
* sysdeps/i386/i486/bits/atomic.h: Likewise.
* po/sv.po: Update from translation team.
2006-10-07 Ulrich Drepper <drepper@redhat.com>
* Versions.def: Add GLIBC_2.6 to libpthread.
* include/shlib-compat.h (SHLIB_COMPAT): Expand parameters before use.
(versioned_symbol): Likewise.
(compat_symbol): Likewise.
* po/tr.po: Update from translation team.
* nis/Banner: Removed. It's been integral part forever and the
author info is incomplete anyway.
* libio/Banner: Likewise.
2006-10-06 Ulrich Drepper <drepper@redhat.com>
* version.h (VERSION): Bump to 2.5.90 for new development tree.
2007-01-12 05:51:07 +08:00
|
|
|
the same file and line. Repetition which are not directly following
|
2001-08-17 01:51:43 +08:00
|
|
|
each other are not caught.
|
|
|
|
|
|
|
|
Just like @code{error} this function only returned if @var{status} is
|
|
|
|
zero. Otherwise @code{exit} is called with the non-zero value. If
|
|
|
|
@code{error} returns the global variable @code{error_message_count} is
|
|
|
|
incremented by one to keep track of the number of errors reported.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
As mentioned above the @code{error} and @code{error_at_line} functions
|
|
|
|
can be customized by defining a variable named
|
|
|
|
@code{error_print_progname}.
|
|
|
|
|
|
|
|
@comment error.h
|
|
|
|
@comment GNU
|
2013-02-12 06:12:47 +08:00
|
|
|
@deftypevar {void (*error_print_progname)} (void)
|
2001-08-17 01:51:43 +08:00
|
|
|
If the @code{error_print_progname} variable is defined to a non-zero
|
|
|
|
value the function pointed to is called by @code{error} or
|
|
|
|
@code{error_at_line}. It is expected to print the program name or do
|
|
|
|
something similarly useful.
|
|
|
|
|
|
|
|
The function is expected to be print to the @code{stderr} stream and
|
|
|
|
must be able to handle whatever orientation the stream has.
|
|
|
|
|
|
|
|
The variable is global and shared by all threads.
|
|
|
|
@end deftypevar
|
|
|
|
|
|
|
|
@comment error.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypevar {unsigned int} error_message_count
|
|
|
|
The @code{error_message_count} variable is incremented whenever one of
|
|
|
|
the functions @code{error} or @code{error_at_line} returns. The
|
|
|
|
variable is global and shared by all threads.
|
|
|
|
@end deftypevar
|
|
|
|
|
|
|
|
@comment error.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypevar int error_one_per_line
|
|
|
|
The @code{error_one_per_line} variable influences only
|
|
|
|
@code{error_at_line}. Normally the @code{error_at_line} function
|
|
|
|
creates output for every invocation. If @code{error_one_per_line} is
|
|
|
|
set to a non-zero value @code{error_at_line} keeps track of the last
|
|
|
|
file name and line number for which an error was reported and avoid
|
|
|
|
directly following messages for the same file and line. This variable
|
|
|
|
is global and shared by all threads.
|
|
|
|
@end deftypevar
|
|
|
|
|
|
|
|
@noindent
|
|
|
|
A program which read some input file and reports errors in it could look
|
|
|
|
like this:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
@{
|
|
|
|
char *line = NULL;
|
|
|
|
size_t len = 0;
|
|
|
|
unsigned int lineno = 0;
|
|
|
|
|
|
|
|
error_message_count = 0;
|
|
|
|
while (! feof_unlocked (fp))
|
|
|
|
@{
|
|
|
|
ssize_t n = getline (&line, &len, fp);
|
|
|
|
if (n <= 0)
|
|
|
|
/* @r{End of file or error.} */
|
|
|
|
break;
|
|
|
|
++lineno;
|
|
|
|
|
|
|
|
/* @r{Process the line.} */
|
|
|
|
@dots{}
|
|
|
|
|
|
|
|
if (@r{Detect error in line})
|
|
|
|
error_at_line (0, errval, filename, lineno,
|
|
|
|
"some error text %s", some_variable);
|
|
|
|
@}
|
|
|
|
|
|
|
|
if (error_message_count != 0)
|
|
|
|
error (EXIT_FAILURE, 0, "%u errors found", error_message_count);
|
|
|
|
@}
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
@code{error} and @code{error_at_line} are clearly the functions of
|
|
|
|
choice and enable the programmer to write applications which follow the
|
2012-02-28 22:44:20 +08:00
|
|
|
GNU coding standard. @Theglibc{} additionally contains functions which
|
2001-08-17 01:51:43 +08:00
|
|
|
are used in BSD for the same purpose. These functions are declared in
|
|
|
|
@file{err.h}. It is generally advised to not use these functions. They
|
|
|
|
are included only for compatibility.
|
|
|
|
|
|
|
|
@comment err.h
|
|
|
|
@comment BSD
|
|
|
|
@deftypefun void warn (const char *@var{format}, @dots{})
|
2014-02-01 13:49:25 +08:00
|
|
|
@safety{@prelim{}@mtsafe{@mtslocale{}}@asunsafe{@asucorrupt{} @ascuheap{} @ascuintl{}}@acunsafe{@acucorrupt{} @aculock{} @acsmem{}}}
|
|
|
|
@c Just calls vwarn with the va_list.
|
2001-08-17 01:51:43 +08:00
|
|
|
The @code{warn} function is roughly equivalent to a call like
|
|
|
|
@smallexample
|
|
|
|
error (0, errno, format, @r{the parameters})
|
|
|
|
@end smallexample
|
|
|
|
@noindent
|
|
|
|
except that the global variables @code{error} respects and modifies
|
|
|
|
are not used.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment err.h
|
|
|
|
@comment BSD
|
2012-02-18 01:44:38 +08:00
|
|
|
@deftypefun void vwarn (const char *@var{format}, va_list @var{ap})
|
2014-02-01 13:49:25 +08:00
|
|
|
@safety{@prelim{}@mtsafe{@mtslocale{}}@asunsafe{@asucorrupt{} @ascuheap{} @ascuintl{}}@acunsafe{@acucorrupt{} @aculock{} @acsmem{}}}
|
|
|
|
@c While holding stderr's recursive lock, it prints the programname, the
|
|
|
|
@c given message, and the error string with fw?printf's %m. When the
|
|
|
|
@c stream is wide, convert_and_print converts the format string to an
|
|
|
|
@c alloca/malloc-created buffer using mbsrtowcs and then calls fwprintf.
|
2001-08-17 01:51:43 +08:00
|
|
|
The @code{vwarn} function is just like @code{warn} except that the
|
|
|
|
parameters for the handling of the format string @var{format} are passed
|
2013-12-30 22:29:35 +08:00
|
|
|
in as a value of type @code{va_list}.
|
2001-08-17 01:51:43 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment err.h
|
|
|
|
@comment BSD
|
|
|
|
@deftypefun void warnx (const char *@var{format}, @dots{})
|
2014-02-01 13:49:25 +08:00
|
|
|
@safety{@prelim{}@mtsafe{@mtslocale{}}@asunsafe{@asucorrupt{} @ascuheap{}}@acunsafe{@acucorrupt{} @aculock{} @acsmem{}}}
|
|
|
|
@c Same as warn, but without the strerror translation issues.
|
2001-08-17 01:51:43 +08:00
|
|
|
The @code{warnx} function is roughly equivalent to a call like
|
|
|
|
@smallexample
|
|
|
|
error (0, 0, format, @r{the parameters})
|
|
|
|
@end smallexample
|
|
|
|
@noindent
|
|
|
|
except that the global variables @code{error} respects and modifies
|
|
|
|
are not used. The difference to @code{warn} is that no error number
|
|
|
|
string is printed.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment err.h
|
|
|
|
@comment BSD
|
2012-02-18 01:44:38 +08:00
|
|
|
@deftypefun void vwarnx (const char *@var{format}, va_list @var{ap})
|
2014-02-01 13:49:25 +08:00
|
|
|
@safety{@prelim{}@mtsafe{@mtslocale{}}@asunsafe{@asucorrupt{} @ascuheap{}}@acunsafe{@acucorrupt{} @aculock{} @acsmem{}}}
|
|
|
|
@c Same as vwarn, but without the strerror translation issues.
|
2001-08-17 01:51:43 +08:00
|
|
|
The @code{vwarnx} function is just like @code{warnx} except that the
|
|
|
|
parameters for the handling of the format string @var{format} are passed
|
2013-12-30 22:29:35 +08:00
|
|
|
in as a value of type @code{va_list}.
|
2001-08-17 01:51:43 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment err.h
|
|
|
|
@comment BSD
|
|
|
|
@deftypefun void err (int @var{status}, const char *@var{format}, @dots{})
|
2014-02-01 13:49:25 +08:00
|
|
|
@safety{@prelim{}@mtsafe{@mtslocale{}}@asunsafe{@asucorrupt{} @ascuheap{} @ascuintl{}}@acunsafe{@acucorrupt{} @aculock{} @acsmem{}}}
|
|
|
|
@c Same as warn followed by exit.
|
2001-08-17 01:51:43 +08:00
|
|
|
The @code{err} function is roughly equivalent to a call like
|
|
|
|
@smallexample
|
|
|
|
error (status, errno, format, @r{the parameters})
|
|
|
|
@end smallexample
|
|
|
|
@noindent
|
|
|
|
except that the global variables @code{error} respects and modifies
|
|
|
|
are not used and that the program is exited even if @var{status} is zero.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment err.h
|
|
|
|
@comment BSD
|
2012-02-18 01:44:38 +08:00
|
|
|
@deftypefun void verr (int @var{status}, const char *@var{format}, va_list @var{ap})
|
2014-02-01 13:49:25 +08:00
|
|
|
@safety{@prelim{}@mtsafe{@mtslocale{}}@asunsafe{@asucorrupt{} @ascuheap{} @ascuintl{}}@acunsafe{@acucorrupt{} @aculock{} @acsmem{}}}
|
|
|
|
@c Same as vwarn followed by exit.
|
2001-08-17 01:51:43 +08:00
|
|
|
The @code{verr} function is just like @code{err} except that the
|
|
|
|
parameters for the handling of the format string @var{format} are passed
|
2013-12-30 22:29:35 +08:00
|
|
|
in as a value of type @code{va_list}.
|
2001-08-17 01:51:43 +08:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment err.h
|
|
|
|
@comment BSD
|
|
|
|
@deftypefun void errx (int @var{status}, const char *@var{format}, @dots{})
|
2014-02-01 13:49:25 +08:00
|
|
|
@safety{@prelim{}@mtsafe{@mtslocale{}}@asunsafe{@asucorrupt{} @ascuheap{}}@acunsafe{@acucorrupt{} @aculock{} @acsmem{}}}
|
|
|
|
@c Same as warnx followed by exit.
|
2001-08-17 01:51:43 +08:00
|
|
|
The @code{errx} function is roughly equivalent to a call like
|
|
|
|
@smallexample
|
|
|
|
error (status, 0, format, @r{the parameters})
|
|
|
|
@end smallexample
|
|
|
|
@noindent
|
|
|
|
except that the global variables @code{error} respects and modifies
|
|
|
|
are not used and that the program is exited even if @var{status}
|
|
|
|
is zero. The difference to @code{err} is that no error number
|
|
|
|
string is printed.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@comment err.h
|
|
|
|
@comment BSD
|
2012-02-18 01:44:38 +08:00
|
|
|
@deftypefun void verrx (int @var{status}, const char *@var{format}, va_list @var{ap})
|
2014-02-01 13:49:25 +08:00
|
|
|
@safety{@prelim{}@mtsafe{@mtslocale{}}@asunsafe{@asucorrupt{} @ascuheap{}}@acunsafe{@acucorrupt{} @aculock{} @acsmem{}}}
|
|
|
|
@c Same as vwarnx followed by exit.
|
2001-08-17 01:51:43 +08:00
|
|
|
The @code{verrx} function is just like @code{errx} except that the
|
|
|
|
parameters for the handling of the format string @var{format} are passed
|
2013-12-30 22:29:35 +08:00
|
|
|
in as a value of type @code{va_list}.
|
2001-08-17 01:51:43 +08:00
|
|
|
@end deftypefun
|