mirror of
git://sourceware.org/git/glibc.git
synced 2025-02-17 13:00:43 +08:00
Update.
1999-12-29 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/alpha/sys/io.h: Don't include <asm/io.h>; remove K&R compatibility; add missing ints. * sysdeps/unix/sysv/linux/arm/sys/io.h: Remove K&R compatibility, add missing ints. * sysdeps/unix/sysv/linux/sys/io.h: Don't include <asm/io.h>. 1999-12-29 Andreas Jaeger <aj@suse.de> * manual/getopt.texi (Using Getopt): Document ordering of options. 1999-12-29 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/llseek.c: Emit link time warning for llseek. Requested by Michael Deutschmann <michael@talamasca.wkpowerlink.com>. 1999-12-14 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/scsi/scsi.h: Add new defines from Linux 2.3.32. 1999-12-28 Jakub Jelinek <jakub@redhat.com> * elf/sprof.c (load_shobj): Fix error message. (generate_call_graph): Cast %*s length argument to int. * locale/programs/localedef.c (construct_output_path): Likewise. * locale/programs/ld-ctype.c (ctype_finish): Use proper format specifier. (ctype_class_new): Likewise. * locale/programs/ld-time.c (time_finish): Likewise. * sunrpc/svc_simple.c (register_rpc): Likewise. * nscd/connections.c (nscd_run, start_threads): Use long instead of int to avoid cast warnings. * sysdeps/ieee754/ldbl-128/e_atan2l.c (__ieee754_atan2l): Kill warning. * sysdeps/ieee754/ldbl-128/s_roundl.c (__roundl): Remove unused variable se. * time/strftime.c (my_strftime): Provide wide era string when requested. * sysdeps/sparc/fpu/bits/mathinline.h (__signbit, __signbitl): Separate into 32bit and 64bit versions.
This commit is contained in:
parent
15a2315cb4
commit
dbbbaf5335
47
ChangeLog
47
ChangeLog
@ -1,3 +1,50 @@
|
||||
1999-12-29 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/sys/io.h: Don't include
|
||||
<asm/io.h>; remove K&R compatibility; add missing ints.
|
||||
|
||||
* sysdeps/unix/sysv/linux/arm/sys/io.h: Remove K&R compatibility,
|
||||
add missing ints.
|
||||
|
||||
* sysdeps/unix/sysv/linux/sys/io.h: Don't include <asm/io.h>.
|
||||
|
||||
1999-12-29 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* manual/getopt.texi (Using Getopt): Document ordering of options.
|
||||
|
||||
1999-12-29 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* sysdeps/unix/sysv/linux/llseek.c: Emit link time warning for llseek.
|
||||
Requested by Michael Deutschmann <michael@talamasca.wkpowerlink.com>.
|
||||
|
||||
1999-12-14 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* sysdeps/unix/sysv/linux/scsi/scsi.h: Add new defines from Linux
|
||||
2.3.32.
|
||||
|
||||
1999-12-28 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* elf/sprof.c (load_shobj): Fix error message.
|
||||
(generate_call_graph): Cast %*s length argument to int.
|
||||
* locale/programs/localedef.c (construct_output_path): Likewise.
|
||||
* locale/programs/ld-ctype.c (ctype_finish): Use proper format
|
||||
specifier.
|
||||
(ctype_class_new): Likewise.
|
||||
* locale/programs/ld-time.c (time_finish): Likewise.
|
||||
* sunrpc/svc_simple.c (register_rpc): Likewise.
|
||||
* nscd/connections.c (nscd_run, start_threads): Use long instead of
|
||||
int to avoid cast warnings.
|
||||
* sysdeps/ieee754/ldbl-128/e_atan2l.c (__ieee754_atan2l): Kill
|
||||
warning.
|
||||
* sysdeps/ieee754/ldbl-128/s_roundl.c (__roundl): Remove unused
|
||||
variable se.
|
||||
|
||||
* time/strftime.c (my_strftime): Provide wide era string when
|
||||
requested.
|
||||
|
||||
* sysdeps/sparc/fpu/bits/mathinline.h (__signbit, __signbitl):
|
||||
Separate into 32bit and 64bit versions.
|
||||
|
||||
1999-12-28 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* iconvdata/Makefile (modules): Add ISO-2022-CN.
|
||||
|
@ -530,7 +530,8 @@ load_shobj (const char *name)
|
||||
fd = open (map->l_name, O_RDONLY);
|
||||
if (fd == -1)
|
||||
/* Dooh, this really shouldn't happen. We know the file is available. */
|
||||
error (EXIT_FAILURE, errno, _("Reopening shared object `%s' failed"));
|
||||
error (EXIT_FAILURE, errno, _("Reopening shared object `%s' failed"),
|
||||
map->l_name);
|
||||
|
||||
/* Now map the section header. */
|
||||
ptr = mmap (NULL, (ehdr->e_shnum * sizeof (ElfW(Shdr))
|
||||
@ -1206,7 +1207,7 @@ generate_call_graph (struct profdata *profdata)
|
||||
/* Info abount the function itself. */
|
||||
n = printf ("[%Zu]", cnt);
|
||||
printf ("%*s%5.1f%8.2f%8.2f%9" PRIdMAX " %s [%Zd]\n",
|
||||
7 - n, " ",
|
||||
(int) (7 - n), " ",
|
||||
total_ticks ? (100.0 * sortsym[cnt]->ticks) / total_ticks : 0,
|
||||
sortsym[cnt]->ticks * tick_unit,
|
||||
0.0, /* FIXME: what's time for the children, recursive */
|
||||
|
@ -160,7 +160,7 @@ extern int pthread_join (pthread_t __th, void **__thread_return) __THROW;
|
||||
/* Indicate that the thread TH is never to be joined with PTHREAD_JOIN.
|
||||
The resources of TH will therefore be freed immediately when it
|
||||
terminates, instead of waiting for another thread to perform PTHREAD_JOIN
|
||||
on it. */
|
||||
on it. */
|
||||
extern int pthread_detach (pthread_t __th) __THROW;
|
||||
|
||||
|
||||
@ -226,7 +226,7 @@ extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr,
|
||||
#endif
|
||||
|
||||
/* Set the starting address of the stack of the thread to be created.
|
||||
Depending on whether the stack grows up or doen the value must either
|
||||
Depending on whether the stack grows up or down the value must either
|
||||
be higher or lower than all the address in the memory block. The
|
||||
minimal size of the block must be PTHREAD_STACK_SIZE. */
|
||||
extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
|
||||
@ -246,27 +246,27 @@ extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
|
||||
extern int pthread_attr_getstacksize (__const pthread_attr_t *__attr,
|
||||
size_t *__stacksize) __THROW;
|
||||
|
||||
/* Functions for scheduling control. */
|
||||
/* Functions for scheduling control. */
|
||||
|
||||
/* Set the scheduling parameters for TARGET_THREAD according to POLICY
|
||||
and *PARAM. */
|
||||
and *PARAM. */
|
||||
extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
|
||||
__const struct sched_param *__param)
|
||||
__THROW;
|
||||
|
||||
/* Return in *POLICY and *PARAM the scheduling parameters for TARGET_THREAD. */
|
||||
/* Return in *POLICY and *PARAM the scheduling parameters for TARGET_THREAD. */
|
||||
extern int pthread_getschedparam (pthread_t __target_thread, int *__policy,
|
||||
struct sched_param *__param) __THROW;
|
||||
|
||||
#ifdef __USE_UNIX98
|
||||
/* Determine level of concurrency. */
|
||||
/* Determine level of concurrency. */
|
||||
extern int pthread_getconcurrency (void) __THROW;
|
||||
|
||||
/* Set new concurrency level to LEVEL. */
|
||||
extern int pthread_setconcurrency (int __level) __THROW;
|
||||
#endif
|
||||
|
||||
/* Functions for mutex handling. */
|
||||
/* Functions for mutex handling. */
|
||||
|
||||
/* Initialize MUTEX using attributes in *MUTEX_ATTR, or use the
|
||||
default values if later is NULL. */
|
||||
@ -314,7 +314,7 @@ extern int __pthread_mutexattr_settype (pthread_mutexattr_t *__attr,
|
||||
extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
|
||||
__THROW;
|
||||
|
||||
/* Return in *KIND the mutex kind attribute in *ATTR. */
|
||||
/* Return in *KIND the mutex kind attribute in *ATTR. */
|
||||
extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__attr,
|
||||
int *__kind) __THROW;
|
||||
#endif
|
||||
@ -344,7 +344,7 @@ extern int pthread_cond_wait (pthread_cond_t *__cond,
|
||||
/* Wait for condition variable COND to be signaled or broadcast until
|
||||
ABSTIME. MUTEX is assumed to be locked before. ABSTIME is an
|
||||
absolute time specification; zero is the beginning of the epoch
|
||||
(00:00:00 GMT, January 1, 1970). */
|
||||
(00:00:00 GMT, January 1, 1970). */
|
||||
extern int pthread_cond_timedwait (pthread_cond_t *__cond,
|
||||
pthread_mutex_t *__mutex,
|
||||
__const struct timespec *__abstime) __THROW;
|
||||
@ -411,14 +411,14 @@ extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
|
||||
#endif
|
||||
|
||||
|
||||
/* Functions for handling thread-specific data */
|
||||
/* Functions for handling thread-specific data. */
|
||||
|
||||
/* Create a key value identifying a location in the thread-specific data
|
||||
area. Each thread maintains a distinct thread-specific data area.
|
||||
DESTR_FUNCTION, if non-NULL, is called with
|
||||
the value associated to that key when the key is destroyed.
|
||||
DESTR_FUNCTION is not called if the value associated is NULL
|
||||
when the key is destroyed. */
|
||||
/* Create a key value identifying a location in the thread-specific
|
||||
data area. Each thread maintains a distinct thread-specific data
|
||||
area. DESTR_FUNCTION, if non-NULL, is called with the value
|
||||
associated to that key when the key is destroyed.
|
||||
DESTR_FUNCTION is not called if the value associated is NULL when
|
||||
the key is destroyed. */
|
||||
extern int __pthread_key_create (pthread_key_t *__key,
|
||||
void (*__destr_function) (void *)) __THROW;
|
||||
extern int pthread_key_create (pthread_key_t *__key,
|
||||
@ -438,19 +438,19 @@ extern void *__pthread_getspecific (pthread_key_t __key) __THROW;
|
||||
extern void *pthread_getspecific (pthread_key_t __key) __THROW;
|
||||
|
||||
|
||||
/* Functions for handling initialization */
|
||||
/* Functions for handling initialization. */
|
||||
|
||||
/* Guarantee that the initialization function INIT_ROUTINE will be called
|
||||
only once, even if pthread_once is executed several times with the
|
||||
same ONCE_CONTROL argument. ONCE_CONTROL must point to a static or
|
||||
extern variable initialized to PTHREAD_ONCE_INIT. */
|
||||
extern variable initialized to PTHREAD_ONCE_INIT. */
|
||||
extern int __pthread_once (pthread_once_t *__once_control,
|
||||
void (*__init_routine) (void)) __THROW;
|
||||
extern int pthread_once (pthread_once_t *__once_control,
|
||||
void (*__init_routine) (void)) __THROW;
|
||||
|
||||
|
||||
/* Functions for handling cancellation. */
|
||||
/* Functions for handling cancellation. */
|
||||
|
||||
/* Set cancelability state of current thread to STATE, returning old
|
||||
state in *OLDSTATE if OLDSTATE is not NULL. */
|
||||
@ -465,7 +465,7 @@ extern int pthread_cancel (pthread_t __thread) __THROW;
|
||||
|
||||
/* Test for pending cancellation for the current thread and terminate
|
||||
the thread as per pthread_exit(PTHREAD_CANCELED) if it has been
|
||||
cancelled. */
|
||||
cancelled. */
|
||||
extern void pthread_testcancel (void) __THROW;
|
||||
|
||||
|
||||
@ -494,7 +494,7 @@ extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer,
|
||||
int __execute) __THROW;
|
||||
|
||||
/* Install a cleanup handler as pthread_cleanup_push does, but also
|
||||
saves the current cancellation type and set it to deferred cancellation. */
|
||||
saves the current cancellation type and set it to deferred cancellation. */
|
||||
|
||||
#ifdef __USE_GNU
|
||||
# define pthread_cleanup_push_defer_np(routine,arg) \
|
||||
@ -507,7 +507,7 @@ extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *__buffe
|
||||
|
||||
/* Remove a cleanup handler as pthread_cleanup_pop does, but also
|
||||
restores the cancellation type that was in effect when the matching
|
||||
pthread_cleanup_push_defer was called. */
|
||||
pthread_cleanup_push_defer was called. */
|
||||
|
||||
# define pthread_cleanup_pop_restore_np(execute) \
|
||||
_pthread_cleanup_pop_restore (&_buffer, (execute)); }
|
||||
@ -516,11 +516,11 @@ extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *__buff
|
||||
int __execute) __THROW;
|
||||
#endif
|
||||
|
||||
/* Functions for handling signals. */
|
||||
/* Functions for handling signals. */
|
||||
#include <bits/sigthread.h>
|
||||
|
||||
|
||||
/* Functions for handling process creation and process execution. */
|
||||
/* Functions for handling process creation and process execution. */
|
||||
|
||||
/* Install handlers to be called when a new process is created with FORK.
|
||||
The PREPARE handler is called in the parent process just before performing
|
||||
@ -531,7 +531,7 @@ extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *__buff
|
||||
PTHREAD_ATFORK can be called several times, in which case the PREPARE
|
||||
handlers are called in LIFO order (last added with PTHREAD_ATFORK,
|
||||
first called before FORK), and the PARENT and CHILD handlers are called
|
||||
in FIFO (first added, first called). */
|
||||
in FIFO (first added, first called). */
|
||||
|
||||
extern int __pthread_atfork (void (*__prepare) (void),
|
||||
void (*__parent) (void),
|
||||
@ -541,12 +541,12 @@ extern int pthread_atfork (void (*__prepare) (void),
|
||||
void (*__child) (void)) __THROW;
|
||||
|
||||
/* Terminate all threads in the program except the calling process.
|
||||
Should be called just before invoking one of the exec*() functions. */
|
||||
Should be called just before invoking one of the exec*() functions. */
|
||||
|
||||
extern void pthread_kill_other_threads_np (void) __THROW;
|
||||
|
||||
|
||||
/* This function is called to initialize the pthread library. */
|
||||
/* This function is called to initialize the pthread library. */
|
||||
extern void __pthread_initialize (void) __THROW;
|
||||
|
||||
__END_DECLS
|
||||
|
@ -437,7 +437,7 @@ character L'\\u%0*x' in class `%s' must not be in class `%s'"),
|
||||
{
|
||||
char buf[17];
|
||||
|
||||
sprintf (buf, "\\%o", cnt);
|
||||
sprintf (buf, "\\%zo", cnt);
|
||||
|
||||
if (!be_quiet)
|
||||
error (0, 0, _("\
|
||||
@ -452,7 +452,7 @@ character '%s' in class `%s' must be in class `%s'"),
|
||||
{
|
||||
char buf[17];
|
||||
|
||||
sprintf (buf, "\\%o", cnt);
|
||||
sprintf (buf, "\\%zo", cnt);
|
||||
|
||||
if (!be_quiet)
|
||||
error (0, 0, _("\
|
||||
@ -1021,7 +1021,7 @@ ctype_class_new (struct linereader *lr, struct locale_ctype_t *ctype,
|
||||
if (ctype->nr_charclass == MAX_NR_CHARCLASS)
|
||||
/* Exit code 2 is prescribed in P1003.2b. */
|
||||
error (2, 0, _("\
|
||||
implementation limit: no more than %d character classes allowed"),
|
||||
implementation limit: no more than %zd character classes allowed"),
|
||||
MAX_NR_CHARCLASS);
|
||||
|
||||
ctype->classnames[ctype->nr_charclass++] = name;
|
||||
|
@ -219,7 +219,7 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
|
||||
if (*str != '+' && *str != '-')
|
||||
{
|
||||
if (!be_quiet)
|
||||
error (0, 0, _("%s: direction flag in string %d in `era' field"
|
||||
error (0, 0, _("%s: direction flag in string %zd in `era' field"
|
||||
" is not '+' nor '-'"),
|
||||
"LC_TIME", idx + 1);
|
||||
/* Default arbitrarily to '+'. */
|
||||
@ -230,7 +230,7 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
|
||||
if (*++str != ':')
|
||||
{
|
||||
if (!be_quiet)
|
||||
error (0, 0, _("%s: direction flag in string %d in `era' field"
|
||||
error (0, 0, _("%s: direction flag in string %zd in `era' field"
|
||||
" is not a single character"),
|
||||
"LC_TIME", idx + 1);
|
||||
(void) strsep (&str, ":");
|
||||
@ -243,7 +243,7 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
|
||||
if (endp == str)
|
||||
{
|
||||
if (!be_quiet)
|
||||
error (0, 0, _("%s: invalid number for offset in string %d in"
|
||||
error (0, 0, _("%s: invalid number for offset in string %zd in"
|
||||
" `era' field"),
|
||||
"LC_TIME", idx + 1);
|
||||
(void) strsep (&str, ":");
|
||||
@ -252,7 +252,7 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
|
||||
{
|
||||
if (!be_quiet)
|
||||
error (0, 0, _("%s: garbage at end of offset value in"
|
||||
" string %d in `era' field"),
|
||||
" string %zd in `era' field"),
|
||||
"LC_TIME", idx + 1);
|
||||
(void) strsep (&str, ":");
|
||||
}
|
||||
@ -302,7 +302,7 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
|
||||
{
|
||||
invalid_start_date:
|
||||
if (!be_quiet)
|
||||
error (0, 0, _("%s: invalid starting date in string %d in"
|
||||
error (0, 0, _("%s: invalid starting date in string %zd in"
|
||||
" `era' field"),
|
||||
"LC_TIME", idx + 1);
|
||||
(void) strsep (&str, ":");
|
||||
@ -312,7 +312,7 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
|
||||
garbage_start_date:
|
||||
if (!be_quiet)
|
||||
error (0, 0, _("%s: garbage at end of starting date "
|
||||
"in string %d in `era' field "),
|
||||
"in string %zd in `era' field "),
|
||||
"LC_TIME", idx + 1);
|
||||
(void) strsep (&str, ":");
|
||||
}
|
||||
@ -331,7 +331,7 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
|
||||
&& !__isleap (time->era_entries[idx].start_date[0])))
|
||||
&& !be_quiet)
|
||||
error (0, 0, _("%s: starting date is invalid in"
|
||||
" string %d in `era' field"),
|
||||
" string %zd in `era' field"),
|
||||
"LC_TIME", idx + 1);
|
||||
}
|
||||
}
|
||||
@ -379,7 +379,7 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
|
||||
{
|
||||
invalid_stop_date:
|
||||
if (!be_quiet)
|
||||
error (0, 0, _("%s: invalid stopping date in string %d in"
|
||||
error (0, 0, _("%s: invalid stopping date in string %zd in"
|
||||
" `era' field"),
|
||||
"LC_TIME", idx + 1);
|
||||
(void) strsep (&str, ":");
|
||||
@ -389,7 +389,7 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
|
||||
garbage_stop_date:
|
||||
if (!be_quiet)
|
||||
error (0, 0, _("%s: garbage at end of stopping date "
|
||||
"in string %d in `era' field"),
|
||||
"in string %zd in `era' field"),
|
||||
"LC_TIME", idx + 1);
|
||||
(void) strsep (&str, ":");
|
||||
}
|
||||
@ -408,7 +408,7 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
|
||||
&& !__isleap (time->era_entries[idx].stop_date[0])))
|
||||
&& !be_quiet)
|
||||
error (0, 0, _("%s: stopping date is invalid in"
|
||||
" string %d in `era' field"),
|
||||
" string %zd in `era' field"),
|
||||
"LC_TIME", idx + 1);
|
||||
}
|
||||
}
|
||||
@ -416,7 +416,7 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
|
||||
if (str == NULL || *str == '\0')
|
||||
{
|
||||
if (!be_quiet)
|
||||
error (0, 0, _("%s: missing era name in string %d in `era'"
|
||||
error (0, 0, _("%s: missing era name in string %zd in `era'"
|
||||
" field"), "LC_TIME", idx + 1);
|
||||
time->era_entries[idx].name =
|
||||
time->era_entries[idx].format = "";
|
||||
@ -428,7 +428,7 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
|
||||
if (str == NULL || *str == '\0')
|
||||
{
|
||||
if (!be_quiet)
|
||||
error (0, 0, _("%s: missing era format in string %d"
|
||||
error (0, 0, _("%s: missing era format in string %zd"
|
||||
" in `era' field"),
|
||||
"LC_TIME", idx + 1);
|
||||
time->era_entries[idx].name =
|
||||
|
@ -356,8 +356,8 @@ construct_output_path (char *path)
|
||||
if (normal == NULL)
|
||||
n = asprintf (&result, "%s/%s%c", LOCALEDIR, path, '\0');
|
||||
else
|
||||
n = asprintf (&result, "%s/%.*s%s%s%c", LOCALEDIR, startp - path, path,
|
||||
normal, endp, '\0');
|
||||
n = asprintf (&result, "%s/%.*s%s%s%c", LOCALEDIR,
|
||||
(int) (startp - path), path, normal, endp, '\0');
|
||||
|
||||
endp = result + n;
|
||||
}
|
||||
|
@ -71,10 +71,29 @@ string can be followed by a colon (@samp{:}) to indicate that it takes a
|
||||
required argument. If an option character is followed by two colons
|
||||
(@samp{::}), its argument is optional; this is a GNU extension.
|
||||
|
||||
@code{getopt} has three ways to deal with options that follow
|
||||
non-options @var{argv} elements. The special argument @samp{--} forces
|
||||
in all cases the end of option scanning.
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
The default is to permute the contents of @var{argv} while scanning it
|
||||
so that eventually all the non-options are at the end. This allows
|
||||
options to be given in any order, even with programs that were not
|
||||
written to expect this.
|
||||
|
||||
@item
|
||||
If the @var{options} argument string begins with a hyphen (@samp{-}), this
|
||||
is treated specially. It permits arguments that are not options to be
|
||||
returned as if they were associated with option character @samp{\0}.
|
||||
|
||||
@item
|
||||
POSIX demands the following behaviour: The first non-option stops option
|
||||
processing. This mode is selected by either setting the environment
|
||||
variable @code{POSIXLY_CORRECT} or beginning the @var{options} argument
|
||||
string with a plus sign (@samp{+}).
|
||||
@end itemize
|
||||
|
||||
The @code{getopt} function returns the option character for the next
|
||||
command line option. When no more option arguments are available, it
|
||||
returns @code{-1}. There may still be more non-option arguments; you
|
||||
|
@ -382,7 +382,7 @@ static void *
|
||||
__attribute__ ((__noreturn__))
|
||||
nscd_run (void *p)
|
||||
{
|
||||
int my_number = (int) p;
|
||||
long my_number = (long) p;
|
||||
struct pollfd conn;
|
||||
int run_prune = my_number < lastdb && dbs[my_number].enabled;
|
||||
time_t now = time (NULL);
|
||||
@ -496,7 +496,7 @@ nscd_run (void *p)
|
||||
void
|
||||
start_threads (void)
|
||||
{
|
||||
int i;
|
||||
long i;
|
||||
pthread_attr_t attr;
|
||||
pthread_t th;
|
||||
|
||||
|
@ -73,7 +73,7 @@ registerrpc (u_long prognum, u_long versnum, u_long procnum,
|
||||
if (procnum == NULLPROC)
|
||||
{
|
||||
(void) fprintf (stderr,
|
||||
_("can't reassign procedure number %d\n"), NULLPROC);
|
||||
_("can't reassign procedure number %ld\n"), NULLPROC);
|
||||
return -1;
|
||||
}
|
||||
if (transp == 0)
|
||||
@ -89,7 +89,7 @@ registerrpc (u_long prognum, u_long versnum, u_long procnum,
|
||||
if (!svc_register (transp, (u_long) prognum, (u_long) versnum,
|
||||
universal, IPPROTO_UDP))
|
||||
{
|
||||
(void) fprintf (stderr, _("couldn't register prog %d vers %d\n"),
|
||||
(void) fprintf (stderr, _("couldn't register prog %ld vers %ld\n"),
|
||||
prognum, versnum);
|
||||
return -1;
|
||||
}
|
||||
|
@ -73,7 +73,7 @@ pi_lo = 8.67181013012378102479704402604335225e-35L; /* 3f8dcd129024e088a67cc74
|
||||
if(((ix|((lx|-lx)>>63))>0x7fff000000000000LL)||
|
||||
((iy|((ly|-ly)>>63))>0x7fff000000000000LL)) /* x or y is NaN */
|
||||
return x+y;
|
||||
if((hx-0x3fff000000000000LL|lx)==0) return __atanl(y); /* x=1.0L */
|
||||
if(((hx-0x3fff000000000000LL)|lx)==0) return __atanl(y); /* x=1.0L */
|
||||
m = ((hy>>63)&1)|((hx>>62)&2); /* 2*sign(x)+sign(y) */
|
||||
|
||||
/* when y = 0 */
|
||||
|
@ -31,7 +31,7 @@ long double
|
||||
__roundl (long double x)
|
||||
{
|
||||
int32_t j0;
|
||||
u_int64_t se, i1, i0;
|
||||
u_int64_t i1, i0;
|
||||
|
||||
GET_LDOUBLE_WORDS64 (i0, i1, x);
|
||||
j0 = ((i0 >> 48) & 0x7fff) - 0x3fff;
|
||||
|
@ -110,6 +110,8 @@ __signbitf (float __x)
|
||||
return __u.__i < 0;
|
||||
}
|
||||
|
||||
#if __WORDSIZE == 32
|
||||
|
||||
__MATH_INLINE int
|
||||
__signbit (double __x)
|
||||
{
|
||||
@ -120,18 +122,27 @@ __signbit (double __x)
|
||||
__MATH_INLINE int
|
||||
__signbitl (long double __x)
|
||||
{
|
||||
if (sizeof(long double) == 8)
|
||||
{
|
||||
__extension__ union { long double __l; int __i[2]; } __u = { __l: __x };
|
||||
return __u.__i[0] < 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
__extension__ union { long double __l; int __i[4]; } __u = { __l: __x };
|
||||
return __u.__i[0] < 0;
|
||||
}
|
||||
return __signbit ((double)__x);
|
||||
}
|
||||
|
||||
#else /* sparc64 */
|
||||
|
||||
__MATH_INLINE int
|
||||
__signbit (double __x)
|
||||
{
|
||||
__extension__ union { double __d; long __i; } __u = { __d: __x };
|
||||
return __u.__i < 0;
|
||||
}
|
||||
|
||||
__MATH_INLINE int
|
||||
__signbitl (long double __x)
|
||||
{
|
||||
__extension__ union { long double __l; long __i[2]; } __u = { __l: __x };
|
||||
return __u.__i[0] < 0;
|
||||
}
|
||||
|
||||
#endif /* sparc64 */
|
||||
|
||||
__MATH_INLINE double
|
||||
sqrt(double __x)
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -23,9 +23,6 @@
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Get constants from kernel header files. */
|
||||
#include <asm/io.h>
|
||||
|
||||
/* If TURN_ON is TRUE, request for permission to do direct i/o on the
|
||||
port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O
|
||||
permission off for that range. This call requires root privileges.
|
||||
@ -33,39 +30,39 @@ __BEGIN_DECLS
|
||||
Portability note: not all Linux platforms support this call. Most
|
||||
platforms based on the PC I/O architecture probably will, however.
|
||||
E.g., Linux/Alpha for Alpha PCs supports this. */
|
||||
extern int ioperm __P ((unsigned long int __from, unsigned long int __num,
|
||||
int __turn_on));
|
||||
extern int ioperm (unsigned long int __from, unsigned long int __num,
|
||||
int __turn_on) __THROW;
|
||||
|
||||
/* Set the I/O privilege level to LEVEL. If LEVEL>3, permission to
|
||||
access any I/O port is granted. This call requires root
|
||||
privileges. */
|
||||
extern int iopl __P ((int __level));
|
||||
extern int iopl (int __level) __THROW;
|
||||
|
||||
/* Return the physical address of the DENSE I/O memory or NULL if none
|
||||
is available (e.g. on a jensen). */
|
||||
extern unsigned long _bus_base __P ((void)) __attribute__ ((const));
|
||||
extern unsigned long bus_base __P ((void)) __attribute__ ((const));
|
||||
extern unsigned long int _bus_base (void) __THROW __attribute__ ((const));
|
||||
extern unsigned long int bus_base (void) __THROW __attribute__ ((const));
|
||||
|
||||
/* Return the physical address of the SPARSE I/O memory. */
|
||||
extern unsigned long _bus_base_sparse __P ((void)) __attribute__ ((const));
|
||||
extern unsigned long bus_base_sparse __P ((void)) __attribute__ ((const));
|
||||
extern unsigned long _bus_base_sparse (void) __THROW __attribute__ ((const));
|
||||
extern unsigned long bus_base_sparse (void) __THROW __attribute__ ((const));
|
||||
|
||||
/* Return the HAE shift used by the SPARSE I/O memory. */
|
||||
extern int _hae_shift __P ((void)) __attribute__ ((const));
|
||||
extern int hae_shift __P ((void)) __attribute__ ((const));
|
||||
extern int _hae_shift (void) __THROW __attribute__ ((const));
|
||||
extern int hae_shift (void) __THROW __attribute__ ((const));
|
||||
|
||||
/* Access PCI space protected from machine checks. */
|
||||
extern int pciconfig_read __P ((unsigned long int __bus,
|
||||
unsigned long int __dfn,
|
||||
unsigned long int __off,
|
||||
unsigned long int __len,
|
||||
unsigned char *__buf));
|
||||
extern int pciconfig_read (unsigned long int __bus,
|
||||
unsigned long int __dfn,
|
||||
unsigned long int __off,
|
||||
unsigned long int __len,
|
||||
unsigned char *__buf) __THROW;
|
||||
|
||||
extern int pciconfig_write __P ((unsigned long int __bus,
|
||||
unsigned long int __dfn,
|
||||
unsigned long int __off,
|
||||
unsigned long int __len,
|
||||
unsigned char *__buf));
|
||||
extern int pciconfig_write (unsigned long int __bus,
|
||||
unsigned long int __dfn,
|
||||
unsigned long int __off,
|
||||
unsigned long int __len,
|
||||
unsigned char *__buf) __THROW;
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996, 1998 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1998, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -26,22 +26,22 @@ __BEGIN_DECLS
|
||||
/* If TURN_ON is TRUE, request for permission to do direct i/o on the
|
||||
port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O
|
||||
permission off for that range. This call requires root privileges. */
|
||||
extern int ioperm __P ((unsigned long int __from, unsigned long int __num,
|
||||
int __turn_on));
|
||||
extern int ioperm (unsigned long int __from, unsigned long int __num,
|
||||
int __turn_on) __THROW;
|
||||
|
||||
/* Set the I/O privilege level to LEVEL. If LEVEL is nonzero,
|
||||
permission to access any I/O port is granted. This call requires
|
||||
root privileges. */
|
||||
extern int iopl __P ((int __level));
|
||||
extern int iopl (int __level) __THROW;
|
||||
|
||||
/* The functions that actually perform reads and writes. */
|
||||
extern unsigned char inb (unsigned long port);
|
||||
extern unsigned short inw (unsigned long port);
|
||||
extern unsigned long inl (unsigned long port);
|
||||
extern unsigned char inb (unsigned long int port) __THROW;
|
||||
extern unsigned short int inw (unsigned long int port) __THROW;
|
||||
extern unsigned long int inl (unsigned long int port) __THROW;
|
||||
|
||||
extern void outb (unsigned char value, unsigned long port);
|
||||
extern void outw (unsigned short value, unsigned long port);
|
||||
extern void outl (unsigned long value, unsigned long port);
|
||||
extern void outb (unsigned char value, unsigned long int port) __THROW;
|
||||
extern void outw (unsigned short value, unsigned long int port) __THROW;
|
||||
extern void outl (unsigned long value, unsigned long int port) __THROW;
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
@ -40,3 +40,9 @@ weak_alias (__llseek, llseek)
|
||||
strong_alias (__llseek, __libc_lseek64)
|
||||
strong_alias (__llseek, __lseek64)
|
||||
weak_alias (__llseek, lseek64)
|
||||
|
||||
/* llseek doesn't have a prototype. Since the second parameter is a
|
||||
64bit type, this results in wrong behaviour if no prototype is
|
||||
provided. */
|
||||
link_warning (llseek, "\
|
||||
the `llseek' function should not be used; use `lseek64' instead.")
|
||||
|
@ -85,7 +85,11 @@
|
||||
#define LOG_SELECT 0x4c
|
||||
#define LOG_SENSE 0x4d
|
||||
#define MODE_SELECT_10 0x55
|
||||
#define RESERVE_10 0x56
|
||||
#define RELEASE_10 0x57
|
||||
#define MODE_SENSE_10 0x5a
|
||||
#define PERSISTENT_RESERVE_IN 0x5e
|
||||
#define PERSISTENT_RESERVE_OUT 0x5f
|
||||
#define MOVE_MEDIUM 0xa5
|
||||
#define READ_12 0xa8
|
||||
#define WRITE_12 0xaa
|
||||
|
@ -23,9 +23,6 @@
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Get constants from kernel header files. */
|
||||
#include <asm/io.h>
|
||||
|
||||
/* If TURN_ON is TRUE, request for permission to do direct i/o on the
|
||||
port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O
|
||||
permission off for that range. This call requires root privileges.
|
||||
|
@ -834,8 +834,8 @@ my_strftime (s, maxsize, format, tp ut_argument)
|
||||
if (era)
|
||||
{
|
||||
# ifdef COMPILE_WIDE
|
||||
size_t len = strlen (era->era_name);
|
||||
cpy (len, era->era_name);
|
||||
size_t len = wcslen (era->era_wname);
|
||||
cpy (len, era->era_wname);
|
||||
# else
|
||||
size_t len = strlen (era->era_name);
|
||||
cpy (len, era->era_name);
|
||||
|
Loading…
Reference in New Issue
Block a user