Update.
1998-02-15 Ulrich Drepper <drepper@cygnus.com> * nss/nsswitch.c (__nss_lookup): Return 1 if this was the last module. * nss/getXXent_r.c: If no more module is found don't try to call setXXent functions but leave unsuccessfully. * malloc/obstack.h: Cleanups. * sysdeps/wordsize-32/stdint.h: New file. * sysdeps/wordsize-64/stdint.h: New file. * sysdeps/generic/stdint.h: New file. * sysdeps/wordsize-32/inttypes.h: Adopt to use stdint.h. * sysdeps/wordsize-64/inttypes.h: Likewise. * stdlib/Makefile (headers): Add stdint.h. 1998-02-03 Paul Eggert <eggert@twinsun.com> * malloc/obstack.h (PTR_INT_TYPE): Use __PTRDIFF_TYPE__ if available. 1998-02-13 17:59 Zack Weinberg <zack@rabi.phys.columbia.edu> * timezone: New directory. * time/README, time/africa, time/antarctica, time/asia, time/australasia, time/backward, time/checktab.awk, time/etcetera, time/europe, time/factory, time/ialloc.c, time/iso3166.tab, time/leapseconds, time/northamerica, time/pacificnew, time/private.h, time/scheck.c, time/solar87, time/solar88, time/solar89, time/southamerica, time/systemv, time/test-tz.c, time/tzfile.h, time/tzselect.ksh, time/yearistype, time/zdump.c, time/zic.c, time/zone.tab: Moved to timezone. * time/tzfile.c: Include tzfile.h from timezone subdir. * time/tzset.c: Likewise. * time/Makefile: Cut out all code relating to timezones... * timezone/Makefile: ...and paste it in here. * Makefile (subdirs): Add timezone. 1998-02-13 18:45 H.J. Lu <hjl@gnu.org> * libc.map (_sys_nerr): Added. * sysdeps/unix/sysv/linux/errlist.c (_sys_nerr): Make it versioned symbol. 1998-02-15 17:16 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/bits/socket.h: Define PF_KEY and pseudo_AF_KEY instead of pseudo_PF_KEY and AF_KEY. Reported by Craig Metz <cmetz@inner.net>. 1998-01-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * nss/nss_files/files-parse.c (LOOKUP_NAME_CASE): Use __strcasecmp instead of strcasecmp. * nss/nss_files/files-alias.c (get_next_alias): Likewise. * wctype/wctype.h (_ISwbit): Avoid warning with gcc before 2.8. 1998-02-15 16:55 Ulrich Drepper <drepper@cygnus.com> * socket/sys/socket.h (setsockopt): Make OPTVAL parameter const. Patch by Dean Gaudet <dgaudet@arctic.org>. 1998-02-15 16:53 Ulrich Drepper <drepper@cygnus.com> * sysdeps/generic/Dist: Add getresgid.c and getresuid.c. 1998-02-15 10:49 Zack Weinberg <zack@rabi.phys.columbia.edu> * sysdeps/unix/sysv/linux/poll.c: If compiled against a kernel with no poll syscall, just include the BSD version. * sysdeps/unix/sysv/linux/getresuid.c: If compiled against a kernel without the syscall, include the stub version. * sysdeps/unix/sysv/linux/getresgid.c: Likewise. * sysdeps/generic/getresuid.c: New file. * sysdeps/generic/getresgid.c: New file. 1998-02-15 Ulrich Drepper <drepper@cygnus.com> * stdio-common/vfscanf.c: Correct last change a bit.
This commit is contained in:
parent
dc30f46157
commit
14ea22e96c
84
ChangeLog
84
ChangeLog
|
@ -1,3 +1,86 @@
|
|||
1998-02-15 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* nss/nsswitch.c (__nss_lookup): Return 1 if this was the last
|
||||
module.
|
||||
|
||||
* nss/getXXent_r.c: If no more module is found don't try to call
|
||||
setXXent functions but leave unsuccessfully.
|
||||
|
||||
* malloc/obstack.h: Cleanups.
|
||||
|
||||
* sysdeps/wordsize-32/stdint.h: New file.
|
||||
* sysdeps/wordsize-64/stdint.h: New file.
|
||||
* sysdeps/generic/stdint.h: New file.
|
||||
* sysdeps/wordsize-32/inttypes.h: Adopt to use stdint.h.
|
||||
* sysdeps/wordsize-64/inttypes.h: Likewise.
|
||||
* stdlib/Makefile (headers): Add stdint.h.
|
||||
|
||||
1998-02-03 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* malloc/obstack.h (PTR_INT_TYPE): Use __PTRDIFF_TYPE__ if available.
|
||||
|
||||
1998-02-13 17:59 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||||
|
||||
* timezone: New directory.
|
||||
* time/README, time/africa, time/antarctica, time/asia,
|
||||
time/australasia, time/backward, time/checktab.awk,
|
||||
time/etcetera, time/europe, time/factory, time/ialloc.c,
|
||||
time/iso3166.tab, time/leapseconds, time/northamerica,
|
||||
time/pacificnew, time/private.h, time/scheck.c,
|
||||
time/solar87, time/solar88, time/solar89, time/southamerica,
|
||||
time/systemv, time/test-tz.c, time/tzfile.h,
|
||||
time/tzselect.ksh, time/yearistype, time/zdump.c,
|
||||
time/zic.c, time/zone.tab: Moved to timezone.
|
||||
* time/tzfile.c: Include tzfile.h from timezone subdir.
|
||||
* time/tzset.c: Likewise.
|
||||
* time/Makefile: Cut out all code relating to timezones...
|
||||
* timezone/Makefile: ...and paste it in here.
|
||||
* Makefile (subdirs): Add timezone.
|
||||
|
||||
1998-02-13 18:45 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* libc.map (_sys_nerr): Added.
|
||||
|
||||
* sysdeps/unix/sysv/linux/errlist.c (_sys_nerr): Make it
|
||||
versioned symbol.
|
||||
|
||||
1998-02-15 17:16 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/bits/socket.h: Define PF_KEY and
|
||||
pseudo_AF_KEY instead of pseudo_PF_KEY and AF_KEY.
|
||||
Reported by Craig Metz <cmetz@inner.net>.
|
||||
|
||||
1998-01-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* nss/nss_files/files-parse.c (LOOKUP_NAME_CASE): Use __strcasecmp
|
||||
instead of strcasecmp.
|
||||
* nss/nss_files/files-alias.c (get_next_alias): Likewise.
|
||||
|
||||
* wctype/wctype.h (_ISwbit): Avoid warning with gcc before 2.8.
|
||||
|
||||
1998-02-15 16:55 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* socket/sys/socket.h (setsockopt): Make OPTVAL parameter const.
|
||||
Patch by Dean Gaudet <dgaudet@arctic.org>.
|
||||
|
||||
1998-02-15 16:53 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/generic/Dist: Add getresgid.c and getresuid.c.
|
||||
|
||||
1998-02-15 10:49 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||||
|
||||
* sysdeps/unix/sysv/linux/poll.c: If compiled against a kernel
|
||||
with no poll syscall, just include the BSD version.
|
||||
* sysdeps/unix/sysv/linux/getresuid.c: If compiled against a
|
||||
kernel without the syscall, include the stub version.
|
||||
* sysdeps/unix/sysv/linux/getresgid.c: Likewise.
|
||||
* sysdeps/generic/getresuid.c: New file.
|
||||
* sysdeps/generic/getresgid.c: New file.
|
||||
|
||||
1998-02-15 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* stdio-common/vfscanf.c: Correct last change a bit.
|
||||
|
||||
1998-02-13 17:39 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* elf/Makefile: Don't use --version-script parameter to link ld.so
|
||||
|
@ -27,7 +110,6 @@
|
|||
|
||||
* stdlib/strfmon.c: char is unsigned, sometimes.
|
||||
|
||||
*sysdeps/powerpc
|
||||
* sysdeps/powerpc/Makefile: Remove quad float support.
|
||||
* sysdeps/powerpc/q_*.c: Remove, they will become an add-on.
|
||||
* sysdeps/powerpc/quad_float.h: Likewise.
|
||||
|
|
2
Makefile
2
Makefile
|
@ -64,7 +64,7 @@ subdirs = csu assert ctype db2 locale intl catgets math setjmp signal stdlib \
|
|||
stdio-common $(stdio) malloc string wcsmbs time dirent grp pwd \
|
||||
posix io termios resource misc socket sysvipc gmon gnulib iconv \
|
||||
iconvdata wctype manual shadow md5-crypt po argp $(add-ons) nss \
|
||||
localedata $(rt) $(sysdep-subdirs) $(binfmt-subdir)
|
||||
localedata timezone $(rt) $(sysdep-subdirs) $(binfmt-subdir)
|
||||
export subdirs := $(subdirs) # Benign, useless in GNU make before 3.63.
|
||||
|
||||
# The mach and hurd subdirectories have many generated header files which
|
||||
|
|
|
@ -87,6 +87,11 @@ $(objpfx)librtld.os: $(objpfx)dl-allobjs.os $(common-objpfx)libc_pic.a
|
|||
|
||||
# Do we need a linker script?
|
||||
rtld-ldscript-in := $(firstword $(wildcard $(+sysdep_dirs:%=%/rtld-ldscript.in)))
|
||||
|
||||
ifeq ($(versioning),yes)
|
||||
RTLD-VERSIONS = -Wl,--version-script=$(libc-map)
|
||||
endif
|
||||
|
||||
ifneq (,$(rtld-ldscript-in))
|
||||
LDFLAGS-rtld = -T $(objpfx)rtld-ldscript
|
||||
|
||||
|
@ -103,8 +108,6 @@ $(objpfx)rtld-ldscript: $(rtld-ldscript-in) $(rtld-parms)
|
|||
$(objpfx)ld.so: $(objpfx)librtld.os $(objpfx)rtld-ldscript
|
||||
$(rtld-link) -Wl,-soname=$(rtld-installed-name)
|
||||
|
||||
RTLD-VERSIONS=$(addprefix -Wl,--version-script=,$(libc-map))
|
||||
|
||||
define rtld-link
|
||||
$(LINK.o) -nostdlib -nostartfiles -shared -o $@ \
|
||||
-Wl,-rpath=$(default-rpath) $(LDFLAGS-rtld) \
|
||||
|
|
4
libc.map
4
libc.map
|
@ -5,7 +5,7 @@ GLIBC_2.0 {
|
|||
__ctype_b; __ctype_tolower; __ctype_toupper;
|
||||
_nl_msg_cat_cntr; __environ; _environ; _res;
|
||||
___brk_addr; __curbrk; _nl_current_LC_CTYPE; _libc_intl_domainname;
|
||||
_sys_errlist; _sys_siglist; __progname; _nl_default_dirname;
|
||||
_sys_errlist; _sys_nerr; _sys_siglist; __progname; _nl_default_dirname;
|
||||
_nl_domain_bindings; __timezone; __daylight; __tzname;
|
||||
_nl_current_LC_COLLATE; __collate_element_hash;
|
||||
__collate_element_strings; __collate_symbol_classes;
|
||||
|
@ -465,7 +465,7 @@ GLIBC_2.1 {
|
|||
wait4;
|
||||
|
||||
# New errlist.
|
||||
_sys_errlist; sys_errlist; sys_nerr;
|
||||
_sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
|
||||
|
||||
# New special glibc functions.
|
||||
gnu_get_libc_release; gnu_get_libc_version;
|
||||
|
|
172
malloc/obstack.h
172
malloc/obstack.h
|
@ -1,5 +1,5 @@
|
|||
/* obstack.h - object stack macros
|
||||
Copyright (C) 1988,89,90,91,92,93,94,96,97 Free Software Foundation, Inc.
|
||||
Copyright (C) 1988,89,90,91,92,93,94,96,97,98 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however. The master source lives in /gd/gnu/lib.
|
||||
|
@ -116,45 +116,39 @@ extern "C" {
|
|||
may ignore the byte-within-word field of the pointer. */
|
||||
|
||||
#ifndef __PTR_TO_INT
|
||||
#define __PTR_TO_INT(P) ((P) - (char *) 0)
|
||||
# define __PTR_TO_INT(P) ((P) - (char *) 0)
|
||||
#endif
|
||||
|
||||
#ifndef __INT_TO_PTR
|
||||
#define __INT_TO_PTR(P) ((P) + (char *) 0)
|
||||
# define __INT_TO_PTR(P) ((P) + (char *) 0)
|
||||
#endif
|
||||
|
||||
/* We need the type of the resulting object. In ANSI C it is ptrdiff_t
|
||||
but in traditional C it is usually long. If we are in ANSI C and
|
||||
don't already have ptrdiff_t get it. */
|
||||
/* We need the type of the resulting object. If __PTRDIFF_TYPE__ is
|
||||
defined, as with GNU C, use that; that way we don't pollute the
|
||||
namespace with <stddef.h>'s symbols. Otherwise, if <stddef.h> is
|
||||
available, include it and use ptrdiff_t. In traditional C, long is
|
||||
the best that we can do. */
|
||||
|
||||
#if defined (__STDC__) && __STDC__ && ! defined (offsetof)
|
||||
#if defined (__GNUC__) && defined (IN_GCC)
|
||||
/* On Next machine, the system's stddef.h screws up if included
|
||||
after we have defined just ptrdiff_t, so include all of stddef.h.
|
||||
Otherwise, define just ptrdiff_t, which is all we need. */
|
||||
#ifndef __NeXT__
|
||||
#define __need_ptrdiff_t
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <stddef.h>
|
||||
#endif
|
||||
|
||||
#if defined (__STDC__) && __STDC__
|
||||
#define PTR_INT_TYPE ptrdiff_t
|
||||
#ifdef __PTRDIFF_TYPE__
|
||||
# define PTR_INT_TYPE __PTRDIFF_TYPE__
|
||||
#else
|
||||
#define PTR_INT_TYPE long
|
||||
# ifdef HAVE_STDDEF_H
|
||||
# include <stddef.h>
|
||||
# define PTR_INT_TYPE ptrdiff_t
|
||||
# else
|
||||
# define PTR_INT_TYPE long
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined (_LIBC) || defined (HAVE_STRING_H)
|
||||
#include <string.h>
|
||||
#define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N))
|
||||
#if defined _LIBC || defined HAVE_STRING_H
|
||||
# include <string.h>
|
||||
# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N))
|
||||
#else
|
||||
#ifdef memcpy
|
||||
#define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N))
|
||||
#else
|
||||
#define _obstack_memcpy(To, From, N) bcopy ((From), (To), (N))
|
||||
#endif
|
||||
# ifdef memcpy
|
||||
# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N))
|
||||
# else
|
||||
# define _obstack_memcpy(To, From, N) bcopy ((From), (To), (N))
|
||||
# endif
|
||||
#endif
|
||||
|
||||
struct _obstack_chunk /* Lives at front of each chunk. */
|
||||
|
@ -173,7 +167,7 @@ struct obstack /* control current object in current chunk */
|
|||
char *chunk_limit; /* address of char after current chunk */
|
||||
PTR_INT_TYPE temp; /* Temporary for some macros. */
|
||||
int alignment_mask; /* Mask of alignment for each object. */
|
||||
#if defined (__STDC__) && __STDC__
|
||||
#if defined __STDC__ && __STDC__
|
||||
/* These prototypes vary based on `use_extra_arg', and we use
|
||||
casts to the prototypeless function type in all assignments,
|
||||
but having prototypes here quiets -Wstrict-prototypes. */
|
||||
|
@ -197,7 +191,7 @@ struct obstack /* control current object in current chunk */
|
|||
|
||||
/* Declare the external functions we use; they are in obstack.c. */
|
||||
|
||||
#if defined (__STDC__) && __STDC__
|
||||
#if defined __STDC__ && __STDC__
|
||||
extern void _obstack_newchunk (struct obstack *, int);
|
||||
extern void _obstack_free (struct obstack *, void *);
|
||||
extern int _obstack_begin (struct obstack *, int, int,
|
||||
|
@ -214,7 +208,7 @@ extern int _obstack_begin_1 ();
|
|||
extern int _obstack_memory_used ();
|
||||
#endif
|
||||
|
||||
#if defined (__STDC__) && __STDC__
|
||||
#if defined __STDC__ && __STDC__
|
||||
|
||||
/* Do the function-declarations after the structs
|
||||
but before defining the macros. */
|
||||
|
@ -262,7 +256,7 @@ int obstack_memory_used (struct obstack *obstack);
|
|||
/* Error handler called when `obstack_chunk_alloc' failed to allocate
|
||||
more memory. This can be set to a user defined function. The
|
||||
default action is to print a message and abort. */
|
||||
#if defined (__STDC__) && __STDC__
|
||||
#if defined __STDC__ && __STDC__
|
||||
extern void (*obstack_alloc_failed_handler) (void);
|
||||
#else
|
||||
extern void (*obstack_alloc_failed_handler) ();
|
||||
|
@ -291,53 +285,53 @@ extern int obstack_exit_failure;
|
|||
|
||||
/* To prevent prototype warnings provide complete argument list in
|
||||
standard C version. */
|
||||
#if defined (__STDC__) && __STDC__
|
||||
#if defined __STDC__ && __STDC__
|
||||
|
||||
#define obstack_init(h) \
|
||||
# define obstack_init(h) \
|
||||
_obstack_begin ((h), 0, 0, \
|
||||
(void *(*) (long)) obstack_chunk_alloc, (void (*) (void *)) obstack_chunk_free)
|
||||
|
||||
#define obstack_begin(h, size) \
|
||||
# define obstack_begin(h, size) \
|
||||
_obstack_begin ((h), (size), 0, \
|
||||
(void *(*) (long)) obstack_chunk_alloc, (void (*) (void *)) obstack_chunk_free)
|
||||
|
||||
#define obstack_specify_allocation(h, size, alignment, chunkfun, freefun) \
|
||||
# define obstack_specify_allocation(h, size, alignment, chunkfun, freefun) \
|
||||
_obstack_begin ((h), (size), (alignment), \
|
||||
(void *(*) (long)) (chunkfun), (void (*) (void *)) (freefun))
|
||||
|
||||
#define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \
|
||||
# define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \
|
||||
_obstack_begin_1 ((h), (size), (alignment), \
|
||||
(void *(*) (void *, long)) (chunkfun), \
|
||||
(void (*) (void *, void *)) (freefun), (arg))
|
||||
|
||||
#define obstack_chunkfun(h, newchunkfun) \
|
||||
# define obstack_chunkfun(h, newchunkfun) \
|
||||
((h) -> chunkfun = (struct _obstack_chunk *(*)(void *, long)) (newchunkfun))
|
||||
|
||||
#define obstack_freefun(h, newfreefun) \
|
||||
# define obstack_freefun(h, newfreefun) \
|
||||
((h) -> freefun = (void (*)(void *, struct _obstack_chunk *)) (newfreefun))
|
||||
|
||||
#else
|
||||
|
||||
#define obstack_init(h) \
|
||||
# define obstack_init(h) \
|
||||
_obstack_begin ((h), 0, 0, \
|
||||
(void *(*) ()) obstack_chunk_alloc, (void (*) ()) obstack_chunk_free)
|
||||
|
||||
#define obstack_begin(h, size) \
|
||||
# define obstack_begin(h, size) \
|
||||
_obstack_begin ((h), (size), 0, \
|
||||
(void *(*) ()) obstack_chunk_alloc, (void (*) ()) obstack_chunk_free)
|
||||
|
||||
#define obstack_specify_allocation(h, size, alignment, chunkfun, freefun) \
|
||||
# define obstack_specify_allocation(h, size, alignment, chunkfun, freefun) \
|
||||
_obstack_begin ((h), (size), (alignment), \
|
||||
(void *(*) ()) (chunkfun), (void (*) ()) (freefun))
|
||||
|
||||
#define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \
|
||||
# define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \
|
||||
_obstack_begin_1 ((h), (size), (alignment), \
|
||||
(void *(*) ()) (chunkfun), (void (*) ()) (freefun), (arg))
|
||||
|
||||
#define obstack_chunkfun(h, newchunkfun) \
|
||||
# define obstack_chunkfun(h, newchunkfun) \
|
||||
((h) -> chunkfun = (struct _obstack_chunk *(*)()) (newchunkfun))
|
||||
|
||||
#define obstack_freefun(h, newfreefun) \
|
||||
# define obstack_freefun(h, newfreefun) \
|
||||
((h) -> freefun = (void (*)()) (newfreefun))
|
||||
|
||||
#endif
|
||||
|
@ -348,30 +342,30 @@ extern int obstack_exit_failure;
|
|||
|
||||
#define obstack_memory_used(h) _obstack_memory_used (h)
|
||||
|
||||
#if defined (__GNUC__) && defined (__STDC__) && __STDC__
|
||||
#if defined __GNUC__ && defined __STDC__ && __STDC__
|
||||
/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and
|
||||
does not implement __extension__. But that compiler doesn't define
|
||||
__GNUC_MINOR__. */
|
||||
#if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__)
|
||||
#define __extension__
|
||||
#endif
|
||||
# if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__)
|
||||
# define __extension__
|
||||
# endif
|
||||
|
||||
/* For GNU C, if not -traditional,
|
||||
we can define these macros to compute all args only once
|
||||
without using a global variable.
|
||||
Also, we can avoid using the `temp' slot, to make faster code. */
|
||||
|
||||
#define obstack_object_size(OBSTACK) \
|
||||
# define obstack_object_size(OBSTACK) \
|
||||
__extension__ \
|
||||
({ struct obstack *__o = (OBSTACK); \
|
||||
(unsigned) (__o->next_free - __o->object_base); })
|
||||
|
||||
#define obstack_room(OBSTACK) \
|
||||
# define obstack_room(OBSTACK) \
|
||||
__extension__ \
|
||||
({ struct obstack *__o = (OBSTACK); \
|
||||
(unsigned) (__o->chunk_limit - __o->next_free); })
|
||||
|
||||
#define obstack_make_room(OBSTACK,length) \
|
||||
# define obstack_make_room(OBSTACK,length) \
|
||||
__extension__ \
|
||||
({ struct obstack *__o = (OBSTACK); \
|
||||
int __len = (length); \
|
||||
|
@ -379,12 +373,12 @@ __extension__ \
|
|||
_obstack_newchunk (__o, __len); \
|
||||
(void) 0; })
|
||||
|
||||
#define obstack_empty_p(OBSTACK) \
|
||||
# define obstack_empty_p(OBSTACK) \
|
||||
__extension__ \
|
||||
({ struct obstack *__o = (OBSTACK); \
|
||||
(__o->chunk->prev == 0 && __o->next_free - __o->chunk->contents == 0); })
|
||||
|
||||
#define obstack_grow(OBSTACK,where,length) \
|
||||
# define obstack_grow(OBSTACK,where,length) \
|
||||
__extension__ \
|
||||
({ struct obstack *__o = (OBSTACK); \
|
||||
int __len = (length); \
|
||||
|
@ -394,7 +388,7 @@ __extension__ \
|
|||
__o->next_free += __len; \
|
||||
(void) 0; })
|
||||
|
||||
#define obstack_grow0(OBSTACK,where,length) \
|
||||
# define obstack_grow0(OBSTACK,where,length) \
|
||||
__extension__ \
|
||||
({ struct obstack *__o = (OBSTACK); \
|
||||
int __len = (length); \
|
||||
|
@ -405,7 +399,7 @@ __extension__ \
|
|||
*(__o->next_free)++ = 0; \
|
||||
(void) 0; })
|
||||
|
||||
#define obstack_1grow(OBSTACK,datum) \
|
||||
# define obstack_1grow(OBSTACK,datum) \
|
||||
__extension__ \
|
||||
({ struct obstack *__o = (OBSTACK); \
|
||||
if (__o->next_free + 1 > __o->chunk_limit) \
|
||||
|
@ -417,7 +411,7 @@ __extension__ \
|
|||
and that the data added so far to the current object
|
||||
shares that much alignment. */
|
||||
|
||||
#define obstack_ptr_grow(OBSTACK,datum) \
|
||||
# define obstack_ptr_grow(OBSTACK,datum) \
|
||||
__extension__ \
|
||||
({ struct obstack *__o = (OBSTACK); \
|
||||
if (__o->next_free + sizeof (void *) > __o->chunk_limit) \
|
||||
|
@ -425,7 +419,7 @@ __extension__ \
|
|||
*((void **)__o->next_free)++ = ((void *)datum); \
|
||||
(void) 0; })
|
||||
|
||||
#define obstack_int_grow(OBSTACK,datum) \
|
||||
# define obstack_int_grow(OBSTACK,datum) \
|
||||
__extension__ \
|
||||
({ struct obstack *__o = (OBSTACK); \
|
||||
if (__o->next_free + sizeof (int) > __o->chunk_limit) \
|
||||
|
@ -433,10 +427,10 @@ __extension__ \
|
|||
*((int *)__o->next_free)++ = ((int)datum); \
|
||||
(void) 0; })
|
||||
|
||||
#define obstack_ptr_grow_fast(h,aptr) (*((void **) (h)->next_free)++ = (void *)aptr)
|
||||
#define obstack_int_grow_fast(h,aint) (*((int *) (h)->next_free)++ = (int) aint)
|
||||
# define obstack_ptr_grow_fast(h,aptr) (*((void **) (h)->next_free)++ = (void *)aptr)
|
||||
# define obstack_int_grow_fast(h,aint) (*((int *) (h)->next_free)++ = (int) aint)
|
||||
|
||||
#define obstack_blank(OBSTACK,length) \
|
||||
# define obstack_blank(OBSTACK,length) \
|
||||
__extension__ \
|
||||
({ struct obstack *__o = (OBSTACK); \
|
||||
int __len = (length); \
|
||||
|
@ -445,19 +439,19 @@ __extension__ \
|
|||
__o->next_free += __len; \
|
||||
(void) 0; })
|
||||
|
||||
#define obstack_alloc(OBSTACK,length) \
|
||||
# define obstack_alloc(OBSTACK,length) \
|
||||
__extension__ \
|
||||
({ struct obstack *__h = (OBSTACK); \
|
||||
obstack_blank (__h, (length)); \
|
||||
obstack_finish (__h); })
|
||||
|
||||
#define obstack_copy(OBSTACK,where,length) \
|
||||
# define obstack_copy(OBSTACK,where,length) \
|
||||
__extension__ \
|
||||
({ struct obstack *__h = (OBSTACK); \
|
||||
obstack_grow (__h, (where), (length)); \
|
||||
obstack_finish (__h); })
|
||||
|
||||
#define obstack_copy0(OBSTACK,where,length) \
|
||||
# define obstack_copy0(OBSTACK,where,length) \
|
||||
__extension__ \
|
||||
({ struct obstack *__h = (OBSTACK); \
|
||||
obstack_grow0 (__h, (where), (length)); \
|
||||
|
@ -465,7 +459,7 @@ __extension__ \
|
|||
|
||||
/* The local variable is named __o1 to avoid a name conflict
|
||||
when obstack_blank is called. */
|
||||
#define obstack_finish(OBSTACK) \
|
||||
# define obstack_finish(OBSTACK) \
|
||||
__extension__ \
|
||||
({ struct obstack *__o1 = (OBSTACK); \
|
||||
void *value; \
|
||||
|
@ -481,7 +475,7 @@ __extension__ \
|
|||
__o1->object_base = __o1->next_free; \
|
||||
value; })
|
||||
|
||||
#define obstack_free(OBSTACK, OBJ) \
|
||||
# define obstack_free(OBSTACK, OBJ) \
|
||||
__extension__ \
|
||||
({ struct obstack *__o = (OBSTACK); \
|
||||
void *__obj = (OBJ); \
|
||||
|
@ -491,13 +485,13 @@ __extension__ \
|
|||
|
||||
#else /* not __GNUC__ or not __STDC__ */
|
||||
|
||||
#define obstack_object_size(h) \
|
||||
# define obstack_object_size(h) \
|
||||
(unsigned) ((h)->next_free - (h)->object_base)
|
||||
|
||||
#define obstack_room(h) \
|
||||
# define obstack_room(h) \
|
||||
(unsigned) ((h)->chunk_limit - (h)->next_free)
|
||||
|
||||
#define obstack_empty_p(h) \
|
||||
# define obstack_empty_p(h) \
|
||||
((h)->chunk->prev == 0 && (h)->next_free - (h)->chunk->contents == 0)
|
||||
|
||||
/* Note that the call to _obstack_newchunk is enclosed in (..., 0)
|
||||
|
@ -506,19 +500,19 @@ __extension__ \
|
|||
Casting the third operand to void was tried before,
|
||||
but some compilers won't accept it. */
|
||||
|
||||
#define obstack_make_room(h,length) \
|
||||
# define obstack_make_room(h,length) \
|
||||
( (h)->temp = (length), \
|
||||
(((h)->next_free + (h)->temp > (h)->chunk_limit) \
|
||||
? (_obstack_newchunk ((h), (h)->temp), 0) : 0))
|
||||
|
||||
#define obstack_grow(h,where,length) \
|
||||
# define obstack_grow(h,where,length) \
|
||||
( (h)->temp = (length), \
|
||||
(((h)->next_free + (h)->temp > (h)->chunk_limit) \
|
||||
? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \
|
||||
_obstack_memcpy ((h)->next_free, (char *) (where), (h)->temp), \
|
||||
(h)->next_free += (h)->temp)
|
||||
|
||||
#define obstack_grow0(h,where,length) \
|
||||
# define obstack_grow0(h,where,length) \
|
||||
( (h)->temp = (length), \
|
||||
(((h)->next_free + (h)->temp + 1 > (h)->chunk_limit) \
|
||||
? (_obstack_newchunk ((h), (h)->temp + 1), 0) : 0), \
|
||||
|
@ -526,40 +520,40 @@ __extension__ \
|
|||
(h)->next_free += (h)->temp, \
|
||||
*((h)->next_free)++ = 0)
|
||||
|
||||
#define obstack_1grow(h,datum) \
|
||||
# define obstack_1grow(h,datum) \
|
||||
( (((h)->next_free + 1 > (h)->chunk_limit) \
|
||||
? (_obstack_newchunk ((h), 1), 0) : 0), \
|
||||
(*((h)->next_free)++ = (datum)))
|
||||
|
||||
#define obstack_ptr_grow(h,datum) \
|
||||
# define obstack_ptr_grow(h,datum) \
|
||||
( (((h)->next_free + sizeof (char *) > (h)->chunk_limit) \
|
||||
? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \
|
||||
(*((char **) (((h)->next_free+=sizeof(char *))-sizeof(char *))) = ((char *) datum)))
|
||||
|
||||
#define obstack_int_grow(h,datum) \
|
||||
# define obstack_int_grow(h,datum) \
|
||||
( (((h)->next_free + sizeof (int) > (h)->chunk_limit) \
|
||||
? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \
|
||||
(*((int *) (((h)->next_free+=sizeof(int))-sizeof(int))) = ((int) datum)))
|
||||
|
||||
#define obstack_ptr_grow_fast(h,aptr) (*((char **) (h)->next_free)++ = (char *) aptr)
|
||||
#define obstack_int_grow_fast(h,aint) (*((int *) (h)->next_free)++ = (int) aint)
|
||||
# define obstack_ptr_grow_fast(h,aptr) (*((char **) (h)->next_free)++ = (char *) aptr)
|
||||
# define obstack_int_grow_fast(h,aint) (*((int *) (h)->next_free)++ = (int) aint)
|
||||
|
||||
#define obstack_blank(h,length) \
|
||||
# define obstack_blank(h,length) \
|
||||
( (h)->temp = (length), \
|
||||
(((h)->chunk_limit - (h)->next_free < (h)->temp) \
|
||||
? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \
|
||||
((h)->next_free += (h)->temp))
|
||||
|
||||
#define obstack_alloc(h,length) \
|
||||
# define obstack_alloc(h,length) \
|
||||
(obstack_blank ((h), (length)), obstack_finish ((h)))
|
||||
|
||||
#define obstack_copy(h,where,length) \
|
||||
# define obstack_copy(h,where,length) \
|
||||
(obstack_grow ((h), (where), (length)), obstack_finish ((h)))
|
||||
|
||||
#define obstack_copy0(h,where,length) \
|
||||
# define obstack_copy0(h,where,length) \
|
||||
(obstack_grow0 ((h), (where), (length)), obstack_finish ((h)))
|
||||
|
||||
#define obstack_finish(h) \
|
||||
# define obstack_finish(h) \
|
||||
( ((h)->next_free == (h)->object_base \
|
||||
? (((h)->maybe_empty_object = 1), 0) \
|
||||
: 0), \
|
||||
|
@ -573,21 +567,21 @@ __extension__ \
|
|||
(h)->object_base = (h)->next_free, \
|
||||
__INT_TO_PTR ((h)->temp))
|
||||
|
||||
#if defined (__STDC__) && __STDC__
|
||||
#define obstack_free(h,obj) \
|
||||
# if defined __STDC__ && __STDC__
|
||||
# define obstack_free(h,obj) \
|
||||
( (h)->temp = (char *) (obj) - (char *) (h)->chunk, \
|
||||
(((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)\
|
||||
? (int) ((h)->next_free = (h)->object_base \
|
||||
= (h)->temp + (char *) (h)->chunk) \
|
||||
: (((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0), 0)))
|
||||
#else
|
||||
#define obstack_free(h,obj) \
|
||||
# else
|
||||
# define obstack_free(h,obj) \
|
||||
( (h)->temp = (char *) (obj) - (char *) (h)->chunk, \
|
||||
(((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)\
|
||||
? (int) ((h)->next_free = (h)->object_base \
|
||||
= (h)->temp + (char *) (h)->chunk) \
|
||||
: (_obstack_free ((h), (h)->temp + (char *) (h)->chunk), 0)))
|
||||
#endif
|
||||
# endif
|
||||
|
||||
#endif /* not __GNUC__ or not __STDC__ */
|
||||
|
||||
|
|
|
@ -1,207 +0,0 @@
|
|||
/* Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Geoffrey Keating <Geoff.Keating@anu.edu.au>, 1997.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* This is a generic program for comparing two precisions of a one-input
|
||||
mathematical function. It is amazingly good at detecting when GCC
|
||||
folds constants improperly. */
|
||||
|
||||
#ifndef _GNU_SOURCE
|
||||
#define _GNU_SOURCE
|
||||
#endif
|
||||
#include <math.h>
|
||||
#include <ieee754.h>
|
||||
#include <fenv.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
|
||||
#define TSMALL float
|
||||
#define RSMALL(rfun) ({ unsigned rnum = (rfun); *(float *) &rnum; })
|
||||
#define TBIG double
|
||||
#define XDIFF (24)
|
||||
#define REDUCE(x) \
|
||||
({ union ieee754_float u = { x }; u.ieee.exponent = 0x80; x = u.f; })
|
||||
#define ABS(x) fabs(x)
|
||||
|
||||
#define string_0(x) #x
|
||||
#define string_1(x) string_0(x)
|
||||
#define TBIG_NAME string_1(TBIG)
|
||||
#define TSMALL_NAME string_1(TSMALL)
|
||||
|
||||
#define R_NEAREST 1
|
||||
#define R_ZERO 2
|
||||
#define R_UP 4
|
||||
#define R_DOWN 8
|
||||
#define R_ALL (R_NEAREST|R_ZERO|R_UP|R_DOWN)
|
||||
static fenv_t rmodes[4];
|
||||
static const char * const rmnames[4] =
|
||||
{ "near","zero","+Inf","-Inf" };
|
||||
|
||||
static int quiet = 0;
|
||||
|
||||
#ifdef FE_ALL_INVALID
|
||||
static const int invalid_exceptions = (FE_ALL_INVALID
|
||||
| FE_INVALID | FE_DIVBYZERO);
|
||||
#else
|
||||
static const int invalid_exceptions = (FE_INVALID | FE_DIVBYZERO);
|
||||
#endif
|
||||
|
||||
static int
|
||||
checkit (char *fname,
|
||||
TSMALL (*fsmall) (TSMALL), TBIG (*fbig) (TBIG),
|
||||
unsigned smalltries, unsigned largetries)
|
||||
{
|
||||
unsigned int i, nerrors = 0, nwarn;
|
||||
|
||||
int tryone (TSMALL fval)
|
||||
{
|
||||
int rmode;
|
||||
int excepts, exceptsb;
|
||||
TSMALL fres;
|
||||
TBIG fvalb, fresb, diff;
|
||||
char warn;
|
||||
|
||||
fvalb = (TBIG) fval;
|
||||
|
||||
for (rmode = 0; rmode < 4; ++rmode)
|
||||
{
|
||||
fesetenv (rmodes + rmode);
|
||||
fres = fsmall (fval);
|
||||
excepts = fetestexcept (invalid_exceptions);
|
||||
fesetenv (rmodes + rmode);
|
||||
fresb = fbig (fvalb);
|
||||
exceptsb = fetestexcept (invalid_exceptions);
|
||||
|
||||
if (excepts != exceptsb)
|
||||
{
|
||||
unsigned char *fvp = (unsigned char *) &fval;
|
||||
size_t j;
|
||||
|
||||
printf ("%s(", fname);
|
||||
for (j = 0; j < sizeof (TSMALL); j++)
|
||||
printf ("%02x", fvp[j]);
|
||||
printf ("),%s: exceptions %s: %08x, %s: %08x\n",
|
||||
rmnames[rmode],
|
||||
TBIG_NAME, exceptsb, TSMALL_NAME, excepts);
|
||||
if (++nerrors > 10)
|
||||
return 1;
|
||||
}
|
||||
|
||||
diff = ABS (fres - (TSMALL) fresb);
|
||||
if (fres == (TSMALL) fresb
|
||||
|| isnan (fres) && isnan (fresb)
|
||||
|| logb (fresb) - logb (diff) < XDIFF - 1)
|
||||
continue;
|
||||
|
||||
if (logb (fresb) - logb (diff) < XDIFF)
|
||||
{
|
||||
if (++nwarn > 10 || quiet)
|
||||
continue;
|
||||
warn = 'w';
|
||||
}
|
||||
else
|
||||
{
|
||||
if (++nerrors > 10)
|
||||
return 1;
|
||||
warn = 'e';
|
||||
}
|
||||
|
||||
{
|
||||
TSMALL fresbs = (TSMALL) fresb;
|
||||
unsigned char *fvp = (unsigned char *) &fval;
|
||||
unsigned char *frp = (unsigned char *) &fres;
|
||||
unsigned char *frpb = (unsigned char *) &fresb;
|
||||
unsigned char *frpbs = (unsigned char *) &fresbs;
|
||||
size_t j;
|
||||
|
||||
printf ("%s(",fname);
|
||||
for (j = 0; j < sizeof (TSMALL); ++j)
|
||||
printf ("%02x", fvp[j]);
|
||||
printf ("),%s: %s ", rmnames[rmode], TBIG_NAME);
|
||||
for (j = 0; j < sizeof (TBIG); ++j)
|
||||
printf ("%02x", frpb[j]);
|
||||
printf (" (");
|
||||
for (j = 0; j < sizeof (TSMALL); ++j)
|
||||
printf ("%02x", frpbs[j]);
|
||||
printf ("), %s ", TSMALL_NAME);
|
||||
for (j = 0; j < sizeof (TSMALL); ++j)
|
||||
printf ("%02x", frp[j]);
|
||||
printf (" %c\n", warn);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
nwarn = 0;
|
||||
for (i = 0; i < smalltries; i++)
|
||||
{
|
||||
TSMALL fval;
|
||||
|
||||
fval = RSMALL (rand () ^ rand () << 16);
|
||||
REDUCE (fval);
|
||||
if (tryone (fval))
|
||||
break;
|
||||
}
|
||||
|
||||
printf ("%s-small: %d errors, %d (%0.2f%%) inaccuracies\n",
|
||||
fname, nerrors, nwarn,
|
||||
nwarn * 0.25 / ((double) smalltries));
|
||||
|
||||
nwarn = 0;
|
||||
for (i = 0; i < largetries; ++i)
|
||||
{
|
||||
TSMALL fval;
|
||||
|
||||
fval = RSMALL (rand () ^ rand () << 16);
|
||||
if (tryone (fval))
|
||||
break;
|
||||
}
|
||||
|
||||
printf ("%s-large: %d errors, %d (%0.2f%%) inaccuracies\n",
|
||||
fname, nerrors, nwarn,
|
||||
nwarn * 0.25 / ((double) largetries));
|
||||
return nerrors == 0;
|
||||
}
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
int r;
|
||||
|
||||
_LIB_VERSION = _IEEE_;
|
||||
|
||||
/* Set up environments for rounding modes. */
|
||||
fesetenv (FE_DFL_ENV);
|
||||
fesetround (FE_TONEAREST);
|
||||
fegetenv (rmodes + 0);
|
||||
fesetround (FE_TOWARDSZERO);
|
||||
fegetenv (rmodes + 1);
|
||||
fesetround (FE_UPWARD);
|
||||
fegetenv (rmodes + 2);
|
||||
fesetround (FE_DOWNWARD);
|
||||
fegetenv (rmodes + 3);
|
||||
|
||||
/* Seed the RNG. */
|
||||
srand (time (0));
|
||||
|
||||
/* Do it. */
|
||||
r = checkit ("exp2", exp2f, exp2, 1 << 20, 1 << 15);
|
||||
r &= checkit ("exp", expf, exp, 1 << 20, 1 << 15);
|
||||
return r ? 0 : 1;
|
||||
}
|
|
@ -279,7 +279,12 @@ INTERNAL (REENTRANT_GETNAME) (LOOKUP_TYPE *resbuf, char *buffer, size_t buflen,
|
|||
if (! no_more)
|
||||
status = (*sfct) (STAYOPEN_TMPVAR);
|
||||
else
|
||||
status = NSS_STATUS_NOTFOUND;
|
||||
{
|
||||
status = NSS_STATUS_NOTFOUND;
|
||||
if (no_more == 1)
|
||||
/* There is no more module to search. */
|
||||
break;
|
||||
}
|
||||
}
|
||||
while (! no_more && status != NSS_STATUS_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -201,7 +201,7 @@ get_next_alias (const char *match, struct aliasent *result,
|
|||
lines until the next line containing the start of a new
|
||||
alias is found. */
|
||||
ignore = (match != NULL
|
||||
&& strcasecmp (result->alias_name, match) != 0);
|
||||
&& __strcasecmp (result->alias_name, match) != 0);
|
||||
|
||||
while (! ignore)
|
||||
{
|
||||
|
|
|
@ -235,7 +235,7 @@ parse_list (char *line, struct parser_data *data, size_t datalen, int *errnop)
|
|||
#define LOOKUP_NAME_CASE(nameelt, aliaselt) \
|
||||
{ \
|
||||
char **ap; \
|
||||
if (! strcasecmp (name, result->nameelt)) \
|
||||
if (! __strcasecmp (name, result->nameelt)) \
|
||||
break; \
|
||||
for (ap = result->aliaselt; *ap; ++ap) \
|
||||
if (! strcasecmp (name, *ap)) \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||
|
||||
|
@ -136,7 +136,8 @@ __nss_database_lookup (const char *database, const char *alternate_name,
|
|||
|
||||
|
||||
/* -1 == not found
|
||||
0 == adjusted for next function */
|
||||
0 == adjusted for next function
|
||||
1 == finished */
|
||||
int
|
||||
__nss_lookup (service_user **ni, const char *fct_name, void **fctp)
|
||||
{
|
||||
|
@ -151,7 +152,7 @@ __nss_lookup (service_user **ni, const char *fct_name, void **fctp)
|
|||
*fctp = nss_lookup_function (*ni, fct_name);
|
||||
}
|
||||
|
||||
return *fctp != NULL ? 0 : -1;
|
||||
return *fctp != NULL ? 0 : (*ni)->next == NULL ? 1 : -1;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Declarations of socket constants, types, and functions.
|
||||
Copyright (C) 1991, 92, 94, 95, 96, 97 Free Software Foundation, Inc.
|
||||
Copyright (C) 1991, 92, 94, 95, 96, 97, 98 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
|
||||
|
@ -160,7 +160,7 @@ extern int getsockopt __P ((int __fd, int __level, int __optname,
|
|||
to *OPTVAL (which is OPTLEN bytes long).
|
||||
Returns 0 on success, -1 for errors. */
|
||||
extern int setsockopt __P ((int __fd, int __level, int __optname,
|
||||
__ptr_t __optval, socklen_t __optlen));
|
||||
__const __ptr_t __optval, socklen_t __optlen));
|
||||
|
||||
|
||||
/* Prepare to accept connections on socket FD.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991,92,93,94,95,96,97,98 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
|
||||
|
@ -16,7 +16,6 @@
|
|||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include "../locale/localeinfo.h"
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
#include <ctype.h>
|
||||
|
@ -26,12 +25,13 @@
|
|||
#include <string.h>
|
||||
#include <wctype.h>
|
||||
#include <bits/libc-lock.h>
|
||||
#include <locale/localeinfo.h>
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define HAVE_LONGLONG
|
||||
#define LONGLONG long long
|
||||
# define HAVE_LONGLONG
|
||||
# define LONGLONG long long
|
||||
#else
|
||||
#define LONGLONG long
|
||||
# define LONGLONG long
|
||||
#endif
|
||||
|
||||
/* Those are flags in the conversion format. */
|
||||
|
@ -459,10 +459,13 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||
if (skip_space || (fc != '[' && fc != 'c' && fc != 'C' && fc != 'n'))
|
||||
{
|
||||
/* Eat whitespace. */
|
||||
int save_errno = errno;
|
||||
errno = 0;
|
||||
do
|
||||
if (inchar () == EOF)
|
||||
if (inchar () == EOF && errno == EINTR)
|
||||
input_error ();
|
||||
while (isspace (c));
|
||||
errno = save_errno;
|
||||
ungetc (c, s);
|
||||
skip_space = 0;
|
||||
}
|
||||
|
@ -470,9 +473,9 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||
switch (fc)
|
||||
{
|
||||
case '%': /* Must match a literal '%'. */
|
||||
c = inchar ();
|
||||
if (c == EOF)
|
||||
input_error ();
|
||||
c = inchar ();
|
||||
if (c != fc)
|
||||
{
|
||||
ungetc (c, s);
|
||||
|
@ -518,7 +521,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||
of 3 is also assigned to n2. The value of d2 is not
|
||||
affected. The value 3 is assigned to i.
|
||||
|
||||
We go for now with the historically correct code fro ISO C,
|
||||
We go for now with the historically correct code from ISO C,
|
||||
i.e., we don't count the %n assignments. When it ever
|
||||
should proof to be wrong just remove the #ifdef above. */
|
||||
++done;
|
||||
|
@ -536,8 +539,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||
conv_error ();
|
||||
}
|
||||
|
||||
if (c != EOF)
|
||||
c = inchar ();
|
||||
c = inchar ();
|
||||
if (c == EOF)
|
||||
input_error ();
|
||||
|
||||
|
@ -575,9 +577,6 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||
conv_error ();
|
||||
}
|
||||
|
||||
if (c == EOF)
|
||||
input_error ();
|
||||
|
||||
do
|
||||
{
|
||||
#define NEXT_WIDE_CHAR(First) \
|
||||
|
@ -675,8 +674,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||
}
|
||||
STRING_ARG (str, char);
|
||||
|
||||
if (c != EOF)
|
||||
c = inchar ();
|
||||
c = inchar ();
|
||||
if (c == EOF)
|
||||
input_error ();
|
||||
|
||||
|
@ -742,9 +740,6 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||
int first = 1;
|
||||
STRING_ARG (wstr, wchar_t);
|
||||
|
||||
if (c == EOF)
|
||||
input_error ();
|
||||
|
||||
do
|
||||
{
|
||||
size_t cnt = 0;
|
||||
|
@ -800,8 +795,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||
number_signed = 1;
|
||||
|
||||
number:
|
||||
if (c != EOF)
|
||||
c = inchar ();
|
||||
c = inchar ();
|
||||
if (c == EOF)
|
||||
input_error ();
|
||||
|
||||
|
@ -922,8 +916,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||
case 'G':
|
||||
case 'a':
|
||||
case 'A':
|
||||
if (c != EOF)
|
||||
c = inchar ();
|
||||
c = inchar ();
|
||||
if (c == EOF)
|
||||
input_error ();
|
||||
|
||||
|
@ -1032,13 +1025,13 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||
if (flags & LONG)
|
||||
{
|
||||
STRING_ARG (wstr, wchar_t);
|
||||
c = '\0'; /* This is to keep gcc quiet. */
|
||||
}
|
||||
else
|
||||
{
|
||||
STRING_ARG (str, char);
|
||||
|
||||
if (c != EOF)
|
||||
c = inchar ();
|
||||
c = inchar ();
|
||||
if (c == EOF)
|
||||
input_error ();
|
||||
}
|
||||
|
@ -1096,9 +1089,6 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||
wint_t val;
|
||||
int first = 1;
|
||||
|
||||
if (c == EOF)
|
||||
input_error ();
|
||||
|
||||
do
|
||||
{
|
||||
size_t cnt = 0;
|
||||
|
@ -1168,7 +1158,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
|
|||
}
|
||||
}
|
||||
|
||||
/* The last thing we saw in the format string was a white space.
|
||||
/* The last thing we saw int the format string was a white space.
|
||||
Consume the last white spaces. */
|
||||
if (skip_space)
|
||||
{
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
subdir := stdlib
|
||||
|
||||
headers := stdlib.h alloca.h monetary.h fmtmsg.h ucontext.h sys/ucontext.h \
|
||||
inttypes.h
|
||||
inttypes.h stdint.h
|
||||
|
||||
routines := \
|
||||
atof atoi atol atoll \
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
make_siglist.c signame.c signame.h
|
||||
det_endian.c
|
||||
entry.h
|
||||
getresgid.c
|
||||
getresuid.c
|
||||
|
|
34
sysdeps/generic/getresgid.c
Normal file
34
sysdeps/generic/getresgid.c
Normal file
|
@ -0,0 +1,34 @@
|
|||
/* Copyright (C) 1991, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; yog can redistribgte it and/or
|
||||
modify it gnder the terms of the GNU Library General Pgblic License as
|
||||
pgblished by the Free Software Fogndation; either version 2 of the
|
||||
License, or (at yogr option) any later version.
|
||||
|
||||
The GNU C Library is distribgted in the hope that it will be gsefgl,
|
||||
bgt WITHOUT ANY WARRANTY; withogt even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Pgblic License for more details.
|
||||
|
||||
Yog shogld have received a copy of the GNU Library General Pgblic
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Fogndation, Inc., 59 Temple Place - Sgite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int
|
||||
__getresgid (egid, rgid, sgid)
|
||||
gid_t egid;
|
||||
gid_t rgid;
|
||||
gid_t sgid;
|
||||
{
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
}
|
||||
stub_warning (getresgid)
|
||||
|
||||
weak_alias (__getresgid, getresgid)
|
||||
#include <stub-tag.h>
|
34
sysdeps/generic/getresuid.c
Normal file
34
sysdeps/generic/getresuid.c
Normal file
|
@ -0,0 +1,34 @@
|
|||
/* Copyright (C) 1991, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int
|
||||
__getresuid (euid, ruid, suid)
|
||||
uid_t euid;
|
||||
uid_t ruid;
|
||||
uid_t suid;
|
||||
{
|
||||
__set_errno (ENOSYS);
|
||||
return -1;
|
||||
}
|
||||
stub_warning (getresuid)
|
||||
|
||||
weak_alias (__getresuid, getresuid)
|
||||
#include <stub-tag.h>
|
|
@ -1,15 +0,0 @@
|
|||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
||||
double
|
||||
__exp2 (double x)
|
||||
{
|
||||
fputs ("__exp2 not implemented\n", stderr);
|
||||
__set_errno (ENOSYS);
|
||||
return 0.0;
|
||||
}
|
||||
weak_alias (__exp2, exp2)
|
||||
|
||||
stub_warning (exp2)
|
||||
#include <stub-tag.h>
|
|
@ -1,15 +0,0 @@
|
|||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
||||
float
|
||||
__exp2f (float x)
|
||||
{
|
||||
fputs ("__exp2f not implemented\n", stderr);
|
||||
__set_errno (ENOSYS);
|
||||
return 0.0;
|
||||
}
|
||||
weak_alias (__exp2f, exp2f)
|
||||
|
||||
stub_warning (exp2f)
|
||||
#include <stub-tag.h>
|
1
sysdeps/generic/stdint.h
Normal file
1
sysdeps/generic/stdint.h
Normal file
|
@ -0,0 +1 @@
|
|||
#error "This file must be written based on the data type sizes of the target"
|
|
@ -1,5 +1,5 @@
|
|||
/* System-specific socket constants and types. Linux version.
|
||||
Copyright (C) 1991, 92, 94, 95, 96, 97 Free Software Foundation, Inc.
|
||||
Copyright (C) 1991, 92, 94, 95, 96, 97, 98 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
|
||||
|
@ -70,7 +70,7 @@ enum __socket_type
|
|||
#define PF_DECnet 12 /* Reserved for DECnet project */
|
||||
#define PF_NETBEUI 13 /* Reserved for 802.2LLC project*/
|
||||
#define PF_SECURITY 14 /* Security callback pseudo AF */
|
||||
#define pseudo_PF_KEY 15 /* PF_KEY key management API */
|
||||
#define PF_KEY 15 /* PF_KEY key management API */
|
||||
#define PF_NETLINK 16
|
||||
#define PF_ROUTE PF_NETLINK /* Alias to emulate 4.4BSD */
|
||||
#define PF_PACKET 17 /* Packet family */
|
||||
|
@ -94,7 +94,7 @@ enum __socket_type
|
|||
#define AF_DECnet PF_DECnet
|
||||
#define AF_NETBEUI PF_NETBEUI
|
||||
#define AF_SECURITY PF_SECURITY
|
||||
#define AF_KEY pseudo_PF_KEY
|
||||
#define pseudo_AF_KEY PF_KEY
|
||||
#define AF_NETLINK PF_NETLINK
|
||||
#define AF_ROUTE PF_ROUTE
|
||||
#define AF_PACKET PF_PACKET
|
||||
|
|
|
@ -45,11 +45,7 @@ symbol_version (__old_sys_errlist, _sys_errlist, GLIBC_2.0);
|
|||
symbol_version (_old_sys_errlist, sys_errlist, GLIBC_2.0);
|
||||
|
||||
strong_alias (__new_sys_nerr, _new_sys_nerr)
|
||||
#if 0
|
||||
default_symbol_version (__new_sys_nerr, _sys_nerr, GLIBC_2.1);
|
||||
#else
|
||||
strong_alias (__new_sys_nerr, _sys_nerr);
|
||||
#endif
|
||||
default_symbol_version (_new_sys_nerr, sys_nerr, GLIBC_2.1);
|
||||
strong_alias (__new_sys_errlist, _new_sys_errlist)
|
||||
default_symbol_version (__new_sys_errlist, _sys_errlist, GLIBC_2.1);
|
||||
|
|
|
@ -21,6 +21,9 @@
|
|||
|
||||
#include <linux/posix_types.h>
|
||||
|
||||
#include <sys/syscall.h>
|
||||
#ifdef __NR_getresgid
|
||||
|
||||
extern int __syscall_getresgid (__kernel_gid_t *rgid, __kernel_gid_t *egid,
|
||||
__kernel_gid_t *sgid);
|
||||
|
||||
|
@ -37,3 +40,6 @@ getresgid (gid_t *rgid, gid_t *egid, gid_t *sgid)
|
|||
*sgid = (gid_t) k_sgid;
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
# include <sysdeps/generic/getresgid.c>
|
||||
#endif
|
||||
|
|
|
@ -21,6 +21,9 @@
|
|||
|
||||
#include <linux/posix_types.h>
|
||||
|
||||
#include <sys/syscall.h>
|
||||
#ifdef __NR_getresuid
|
||||
|
||||
extern int __syscall_getresuid (__kernel_uid_t *ruid, __kernel_uid_t *euid,
|
||||
__kernel_uid_t *suid);
|
||||
|
||||
|
@ -37,3 +40,6 @@ getresuid (uid_t *ruid, uid_t *euid, uid_t *suid)
|
|||
*suid = (uid_t) k_suid;
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
# include <sysdeps/generic/getresuid.c>
|
||||
#endif
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Poll system call, with emulation if it is not available.
|
||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
|
@ -20,6 +20,9 @@
|
|||
#include <errno.h>
|
||||
#include <sys/poll.h>
|
||||
|
||||
#include <sys/syscall.h>
|
||||
#ifdef __NR_poll
|
||||
|
||||
extern int __syscall_poll __P ((struct pollfd *fds, unsigned int nfds,
|
||||
int timeout));
|
||||
weak_extern (__syscall_poll)
|
||||
|
@ -58,6 +61,7 @@ poll (fds, nfds, timeout)
|
|||
|
||||
|
||||
/* Get the emulation code. */
|
||||
#define poll(fds, nfds, timeout) \
|
||||
# define poll(fds, nfds, timeout) \
|
||||
static internal_function __emulate_poll (fds, nfds, timeout)
|
||||
#endif
|
||||
#include <sysdeps/unix/bsd/poll.c>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
|
@ -17,369 +17,176 @@
|
|||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
/*
|
||||
* ISO C 9X: 7.4 Integral types <inttypes.h>
|
||||
* ISO C 9X: 7.5 Format conversion of integer types <inttypes.h>
|
||||
*/
|
||||
|
||||
#ifndef _INTTYPES_H
|
||||
|
||||
#define _INTTYPES_H 1
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __need_wchar_t
|
||||
#include <stddef.h>
|
||||
|
||||
/* Exact integral types. */
|
||||
|
||||
/* Signed. */
|
||||
|
||||
/* There is some amount of overlap with <sys/types.h> as known by inet code */
|
||||
#ifndef __int8_t_defined
|
||||
# define __int8_t_defined
|
||||
typedef signed char int8_t;
|
||||
typedef short int int16_t;
|
||||
typedef int int32_t;
|
||||
typedef long long int int64_t;
|
||||
#endif
|
||||
|
||||
/* Unsigned. */
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned short int uint16_t;
|
||||
typedef unsigned int uint32_t;
|
||||
typedef unsigned long long int uint64_t;
|
||||
/* Get the type definitions. */
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
/* Largest integral types. */
|
||||
typedef long long int intmax_t;
|
||||
typedef unsigned long long int uintmax_t;
|
||||
|
||||
|
||||
/* Types for `void *' pointers. */
|
||||
typedef int intptr_t;
|
||||
typedef unsigned int uintptr_t;
|
||||
|
||||
|
||||
/* Efficient types. */
|
||||
typedef int intfast_t;
|
||||
typedef unsigned int uintfast_t;
|
||||
|
||||
|
||||
/* Small types. */
|
||||
|
||||
/* Signed. */
|
||||
typedef signed char int_least8_t;
|
||||
typedef short int int_least16_t;
|
||||
typedef int int_least32_t;
|
||||
typedef long long int int_least64_t;
|
||||
|
||||
/* Unsigned. */
|
||||
typedef unsigned char uint_least8_t;
|
||||
typedef unsigned short int uint_least16_t;
|
||||
typedef unsigned int uint_least32_t;
|
||||
typedef unsigned long long int uint_least64_t;
|
||||
|
||||
|
||||
/* Fast types. */
|
||||
|
||||
/* Signed. */
|
||||
typedef signed char int_fast8_t;
|
||||
typedef int int_fast16_t;
|
||||
typedef int int_fast32_t;
|
||||
typedef long long int int_fast64_t;
|
||||
|
||||
/* Unsigned. */
|
||||
typedef unsigned char uint_fast8_t;
|
||||
typedef unsigned int uint_fast16_t;
|
||||
typedef unsigned int uint_fast32_t;
|
||||
typedef unsigned long long int uint_fast64_t;
|
||||
|
||||
|
||||
/* Limits of integral types. */
|
||||
|
||||
/* Minimum of signed integral types. */
|
||||
#define INT8_MIN (-128)
|
||||
#define INT16_MIN (-32767-1)
|
||||
#define INT32_MIN (-2147483647-1)
|
||||
#define INT64_MIN (-9223372036854775807LL-1)
|
||||
/* Maximum of signed integral types. */
|
||||
#define INT8_MAX (127)
|
||||
#define INT16_MAX (32767)
|
||||
#define INT32_MAX (2147483647)
|
||||
#define INT64_MAX (9223372036854775807LL)
|
||||
|
||||
/* Maximum of unsigned integral types. */
|
||||
#define UINT8_MAX (255U)
|
||||
#define UINT16_MAX (65535U)
|
||||
#define UINT32_MAX (4294967295U)
|
||||
#define UINT64_MAX (18446744073709551615uLL)
|
||||
|
||||
|
||||
/* Minimum of signed integral types having a minimum size. */
|
||||
#define INT_LEAST8_MIN (-128)
|
||||
#define INT_LEAST16_MIN (-32767-1)
|
||||
#define INT_LEAST32_MIN (-2147483647-1)
|
||||
#define INT_LEAST64_MIN (-9223372036854775807LL-1)
|
||||
/* Maximum of signed integral types having a minimum size. */
|
||||
#define INT_LEAST8_MAX (127)
|
||||
#define INT_LEAST16_MAX (32767)
|
||||
#define INT_LEAST32_MAX (2147483647)
|
||||
#define INT_LEAST64_MAX (9223372036854775807LL)
|
||||
|
||||
/* Maximum of unsigned integral types having a minimum size. */
|
||||
#define UINT_LEAST8_MAX (255U)
|
||||
#define UINT_LEAST16_MAX (65535U)
|
||||
#define UINT_LEAST32_MAX (4294967295U)
|
||||
#define UINT_LEAST64_MAX (18446744073709551615uLL)
|
||||
|
||||
|
||||
/* Minimum of fast signed integral types having a minimum size. */
|
||||
#define INT_FAST8_MIN (-128)
|
||||
#define INT_FAST16_MIN (-2147483647-1)
|
||||
#define INT_FAST32_MIN (-2147483647-1)
|
||||
#define INT_FAST64_MIN (-9223372036854775807LL-1)
|
||||
/* Maximum of fast signed integral types having a minimum size. */
|
||||
#define INT_FAST8_MAX (127)
|
||||
#define INT_FAST16_MAX (2147483647)
|
||||
#define INT_FAST32_MAX (2147483647)
|
||||
#define INT_FAST64_MAX (9223372036854775807LL)
|
||||
|
||||
/* Maximum of fast unsigned integral types having a minimum size. */
|
||||
#define UINT_FAST8_MAX (255U)
|
||||
#define UINT_FAST16_MAX (4294967295U)
|
||||
#define UINT_FAST32_MAX (4294967295U)
|
||||
#define UINT_FAST64_MAX (18446744073709551615uLL)
|
||||
|
||||
|
||||
/* Minimum for most efficient signed integral types. */
|
||||
#define INTFAST_MIN (-2147483647-1)
|
||||
/* Maximum for most efficient signed integral types. */
|
||||
#define INTFAST_MAX (2147483647)
|
||||
|
||||
/* Maximum for most efficient unsigned integral types. */
|
||||
#define UINTFAST_MAX (4294967295U)
|
||||
|
||||
|
||||
/* Minimum for largest signed integral type. */
|
||||
#define INTMAX_MIN (-9223372036854775807LL-1)
|
||||
/* Maximum for largest signed integral type. */
|
||||
#define INTMAX_MAX (9223372036854775807LL)
|
||||
|
||||
/* Maximum for largest unsigned integral type. */
|
||||
#define UINTMAX_MAX (18446744073709551615uLL)
|
||||
|
||||
|
||||
/* Values to test for integral types holding `void *' pointer. */
|
||||
#define INTPTR_MAX (2147483647)
|
||||
#define UINTPTR_MAX (4294967295U)
|
||||
|
||||
|
||||
/* Signed. */
|
||||
#define INT8_C(c) ((int8_t) c)
|
||||
#define INT16_C(c) ((int16_t) c)
|
||||
#define INT32_C(c) ((int32_t) c)
|
||||
#define INT64_C(c) ((int64_t) __CONCAT (c,ll))
|
||||
|
||||
/* Unsigned. */
|
||||
#define UINT8_C(c) ((uint8_t) __CONCAT (c,u))
|
||||
#define UINT16_C(c) ((uint16_t) __CONCAT (c,u))
|
||||
#define UINT32_C(c) ((uint32_t) __CONCAT (c,u))
|
||||
#define UINT64_C(c) ((uint64_t) __CONCAT (c,ull))
|
||||
|
||||
/* Maximal type. */
|
||||
#define INTMAX_C(c) ((intmax_t) __CONCAT (c,ll))
|
||||
#define UINTMAX_C(c) ((uintmax_t) __CONCAT (c,ull))
|
||||
|
||||
/* The ISO C 9X standard specifies that these macros must only be
|
||||
defined if explicitly requested. */
|
||||
#if !defined __cplusplus || defined __STDC_FORMAT_MACROS
|
||||
|
||||
/* Macros for printing format specifiers. */
|
||||
|
||||
/* Decimal notation. */
|
||||
#define PRId8 "d"
|
||||
#define PRId16 "d"
|
||||
#define PRId32 "d"
|
||||
#define PRId64 "lld"
|
||||
# define PRId8 "d"
|
||||
# define PRId16 "d"
|
||||
# define PRId32 "d"
|
||||
# define PRId64 "lld"
|
||||
|
||||
#define PRIdLEAST8 "d"
|
||||
#define PRIdLEAST16 "d"
|
||||
#define PRIdLEAST32 "d"
|
||||
#define PRIdLEAST64 "lld"
|
||||
# define PRIdLEAST8 "d"
|
||||
# define PRIdLEAST16 "d"
|
||||
# define PRIdLEAST32 "d"
|
||||
# define PRIdLEAST64 "lld"
|
||||
|
||||
#define PRIdFAST8 "d"
|
||||
#define PRIdFAST16 "d"
|
||||
#define PRIdFAST32 "d"
|
||||
#define PRIdFAST64 "lld"
|
||||
# define PRIdFAST8 "d"
|
||||
# define PRIdFAST16 "d"
|
||||
# define PRIdFAST32 "d"
|
||||
# define PRIdFAST64 "lld"
|
||||
|
||||
|
||||
#define PRIi8 "i"
|
||||
#define PRIi16 "i"
|
||||
#define PRIi32 "i"
|
||||
#define PRIi64 "lli"
|
||||
# define PRIi8 "i"
|
||||
# define PRIi16 "i"
|
||||
# define PRIi32 "i"
|
||||
# define PRIi64 "lli"
|
||||
|
||||
#define PRIiLEAST8 "i"
|
||||
#define PRIiLEAST16 "i"
|
||||
#define PRIiLEAST32 "i"
|
||||
#define PRIiLEAST64 "lli"
|
||||
# define PRIiLEAST8 "i"
|
||||
# define PRIiLEAST16 "i"
|
||||
# define PRIiLEAST32 "i"
|
||||
# define PRIiLEAST64 "lli"
|
||||
|
||||
#define PRIiFAST8 "i"
|
||||
#define PRIiFAST16 "i"
|
||||
#define PRIiFAST32 "i"
|
||||
#define PRIiFAST64 "lli"
|
||||
# define PRIiFAST8 "i"
|
||||
# define PRIiFAST16 "i"
|
||||
# define PRIiFAST32 "i"
|
||||
# define PRIiFAST64 "lli"
|
||||
|
||||
/* Octal notation. */
|
||||
#define PRIo8 "o"
|
||||
#define PRIo16 "o"
|
||||
#define PRIo32 "o"
|
||||
#define PRIo64 "llo"
|
||||
# define PRIo8 "o"
|
||||
# define PRIo16 "o"
|
||||
# define PRIo32 "o"
|
||||
# define PRIo64 "llo"
|
||||
|
||||
#define PRIoLEAST8 "o"
|
||||
#define PRIoLEAST16 "o"
|
||||
#define PRIoLEAST32 "o"
|
||||
#define PRIoLEAST64 "llo"
|
||||
# define PRIoLEAST8 "o"
|
||||
# define PRIoLEAST16 "o"
|
||||
# define PRIoLEAST32 "o"
|
||||
# define PRIoLEAST64 "llo"
|
||||
|
||||
#define PRIoFAST8 "o"
|
||||
#define PRIoFAST16 "o"
|
||||
#define PRIoFAST32 "o"
|
||||
#define PRIoFAST64 "llo"
|
||||
# define PRIoFAST8 "o"
|
||||
# define PRIoFAST16 "o"
|
||||
# define PRIoFAST32 "o"
|
||||
# define PRIoFAST64 "llo"
|
||||
|
||||
/* lowercase hexadecimal notation. */
|
||||
#define PRIx8 "x"
|
||||
#define PRIx16 "x"
|
||||
#define PRIx32 "x"
|
||||
#define PRIx64 "llx"
|
||||
# define PRIx8 "x"
|
||||
# define PRIx16 "x"
|
||||
# define PRIx32 "x"
|
||||
# define PRIx64 "llx"
|
||||
|
||||
#define PRIxLEAST8 "x"
|
||||
#define PRIxLEAST16 "x"
|
||||
#define PRIxLEAST32 "x"
|
||||
#define PRIxLEAST64 "llx"
|
||||
# define PRIxLEAST8 "x"
|
||||
# define PRIxLEAST16 "x"
|
||||
# define PRIxLEAST32 "x"
|
||||
# define PRIxLEAST64 "llx"
|
||||
|
||||
#define PRIxFAST8 "x"
|
||||
#define PRIxFAST16 "x"
|
||||
#define PRIxFAST32 "x"
|
||||
#define PRIxFAST64 "llx"
|
||||
# define PRIxFAST8 "x"
|
||||
# define PRIxFAST16 "x"
|
||||
# define PRIxFAST32 "x"
|
||||
# define PRIxFAST64 "llx"
|
||||
|
||||
/* UPPERCASE hexadecimal notation. */
|
||||
#define PRIX8 "X"
|
||||
#define PRIX16 "X"
|
||||
#define PRIX32 "X"
|
||||
#define PRIX64 "llX"
|
||||
# define PRIX8 "X"
|
||||
# define PRIX16 "X"
|
||||
# define PRIX32 "X"
|
||||
# define PRIX64 "llX"
|
||||
|
||||
#define PRIXLEAST8 "X"
|
||||
#define PRIXLEAST16 "X"
|
||||
#define PRIXLEAST32 "X"
|
||||
#define PRIXLEAST64 "llX"
|
||||
# define PRIXLEAST8 "X"
|
||||
# define PRIXLEAST16 "X"
|
||||
# define PRIXLEAST32 "X"
|
||||
# define PRIXLEAST64 "llX"
|
||||
|
||||
#define PRIXFAST8 "X"
|
||||
#define PRIXFAST16 "X"
|
||||
#define PRIXFAST32 "X"
|
||||
#define PRIXFAST64 "llX"
|
||||
# define PRIXFAST8 "X"
|
||||
# define PRIXFAST16 "X"
|
||||
# define PRIXFAST32 "X"
|
||||
# define PRIXFAST64 "llX"
|
||||
|
||||
|
||||
/* Unsigned integers. */
|
||||
#define PRIu8 "u"
|
||||
#define PRIu16 "u"
|
||||
#define PRIu32 "u"
|
||||
#define PRIu64 "llu"
|
||||
# define PRIu8 "u"
|
||||
# define PRIu16 "u"
|
||||
# define PRIu32 "u"
|
||||
# define PRIu64 "llu"
|
||||
|
||||
#define PRIuLEAST8 "u"
|
||||
#define PRIuLEAST16 "u"
|
||||
#define PRIuLEAST32 "u"
|
||||
#define PRIuLEAST64 "llu"
|
||||
# define PRIuLEAST8 "u"
|
||||
# define PRIuLEAST16 "u"
|
||||
# define PRIuLEAST32 "u"
|
||||
# define PRIuLEAST64 "llu"
|
||||
|
||||
#define PRIuFAST8 "u"
|
||||
#define PRIuFAST16 "u"
|
||||
#define PRIuFAST32 "u"
|
||||
#define PRIuFAST64 "llu"
|
||||
# define PRIuFAST8 "u"
|
||||
# define PRIuFAST16 "u"
|
||||
# define PRIuFAST32 "u"
|
||||
# define PRIuFAST64 "llu"
|
||||
|
||||
|
||||
/* Macros for printing `intmax_t' and `uintmax_t'. */
|
||||
#define PRIdMAX "lld"
|
||||
#define PRIoMAX "llo"
|
||||
#define PRIxMAX "llx"
|
||||
#define PRIuMAX "llu"
|
||||
|
||||
|
||||
/* Macros for printing `intfast_t' and `uintfast_t'. */
|
||||
#define PRIdFAST "d"
|
||||
#define PRIoFAST "o"
|
||||
#define PRIxFAST "x"
|
||||
#define PRIuFAST "u"
|
||||
# define PRIdMAX "lld"
|
||||
# define PRIoMAX "llo"
|
||||
# define PRIxMAX "llx"
|
||||
# define PRIuMAX "llu"
|
||||
|
||||
|
||||
/* Macros for printing `intptr_t' and `uintptr_t'. */
|
||||
#define PRIdPTR "d"
|
||||
#define PRIoPTR "o"
|
||||
#define PRIxPTR "x"
|
||||
#define PRIuPTR "u"
|
||||
# define PRIdPTR "d"
|
||||
# define PRIoPTR "o"
|
||||
# define PRIxPTR "x"
|
||||
# define PRIuPTR "u"
|
||||
|
||||
|
||||
/* Macros for printing format specifiers. */
|
||||
/* Macros for scanning format specifiers. */
|
||||
|
||||
/* Decimal notation. */
|
||||
#define SCNd8 "hhd"
|
||||
#define SCNd16 "hd"
|
||||
#define SCNd32 "d"
|
||||
#define SCNd64 "lld"
|
||||
# define SCNd8 "hhd"
|
||||
# define SCNd16 "hd"
|
||||
# define SCNd32 "d"
|
||||
# define SCNd64 "lld"
|
||||
|
||||
#define SCNi8 "hhi"
|
||||
#define SCNi16 "hi"
|
||||
#define SCNi32 "i"
|
||||
#define SCNi64 "lli"
|
||||
# define SCNi8 "hhi"
|
||||
# define SCNi16 "hi"
|
||||
# define SCNi32 "i"
|
||||
# define SCNi64 "lli"
|
||||
|
||||
#define SCNu8 "hhu"
|
||||
#define SCNu16 "hu"
|
||||
#define SCNu32 "u"
|
||||
#define SCNu64 "llu"
|
||||
# define SCNu8 "hhu"
|
||||
# define SCNu16 "hu"
|
||||
# define SCNu32 "u"
|
||||
# define SCNu64 "llu"
|
||||
|
||||
/* Octal notation. */
|
||||
#define SCNo8 "hho"
|
||||
#define SCNo16 "ho"
|
||||
#define SCNo32 "o"
|
||||
#define SCNo64 "llo"
|
||||
# define SCNo8 "hho"
|
||||
# define SCNo16 "ho"
|
||||
# define SCNo32 "o"
|
||||
# define SCNo64 "llo"
|
||||
|
||||
/* Hexadecimal notation. */
|
||||
#define SCNx8 "hhx"
|
||||
#define SCNx16 "hx"
|
||||
#define SCNx32 "x"
|
||||
#define SCNx64 "llx"
|
||||
# define SCNx8 "hhx"
|
||||
# define SCNx16 "hx"
|
||||
# define SCNx32 "x"
|
||||
# define SCNx64 "llx"
|
||||
|
||||
|
||||
/* Macros for scaning `intfast_t' and `uintfast_t'. */
|
||||
#define SCNdFAST "d"
|
||||
#define SCNiFAST "i"
|
||||
#define SCNoFAST "o"
|
||||
#define SCNxFAST "x"
|
||||
|
||||
/* Macros for scaning `intptr_t' and `uintptr_t'. */
|
||||
#define SCNdPTR "d"
|
||||
#define SCNiPTR "i"
|
||||
#define SCNoPTR "o"
|
||||
#define SCNxPTR "x"
|
||||
# define SCNdPTR "d"
|
||||
# define SCNiPTR "i"
|
||||
# define SCNoPTR "o"
|
||||
# define SCNxPTR "x"
|
||||
|
||||
#endif /* C++ && format macros */
|
||||
|
||||
|
||||
/* Limits of other integer types. */
|
||||
|
||||
/* Limits of `ptrdiff_t' type. */
|
||||
#define PTRDIFF_MIN (-2147483647-1)
|
||||
#define PTRDIFF_MAX (2147483647)
|
||||
|
||||
/* Limits of `sig_atomic_t'. */
|
||||
#define SIG_ATOMIC_MIN (-2147483647-1)
|
||||
#define SIG_ATOMIC_MAX (2147483647)
|
||||
|
||||
/* Limit of `size_t' type. */
|
||||
#define SIZE_MAX (4294967295U)
|
||||
|
||||
/* Limits of `wchar_t'. */
|
||||
#ifndef WCHAR_MIN
|
||||
/* These constants might also be defined in <wchar.h>. */
|
||||
# define WCHAR_MIN (-2147483647-1)
|
||||
# define WCHAR_MAX (2147483647)
|
||||
#endif
|
||||
|
||||
/* Limits of `wint_t'. */
|
||||
#define WINT_MIN (0)
|
||||
#define WINT_MAX (4294967295U)
|
||||
|
||||
|
||||
/* Macros for string conversion. */
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Like `strtol' but convert to `intmax_t'. */
|
||||
extern intmax_t strtoimax __P ((__const char *__restrict __nptr,
|
||||
|
@ -462,4 +269,6 @@ wcstoumax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
|
|||
}
|
||||
#endif /* GCC and Optimization. */
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* inttypes.h */
|
||||
|
|
214
sysdeps/wordsize-32/stdint.h
Normal file
214
sysdeps/wordsize-32/stdint.h
Normal file
|
@ -0,0 +1,214 @@
|
|||
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
/*
|
||||
* ISO C 9X: 7.4 Integer types <stdint.h>
|
||||
*/
|
||||
|
||||
#ifndef _STDINT_H
|
||||
#define _STDINT_H 1
|
||||
|
||||
#include <features.h>
|
||||
#define __need_wchar_t
|
||||
#include <stddef.h>
|
||||
|
||||
/* Exact integral types. */
|
||||
|
||||
/* Signed. */
|
||||
|
||||
/* There is some amount of overlap with <sys/types.h> as known by inet code */
|
||||
#ifndef __int8_t_defined
|
||||
# define __int8_t_defined
|
||||
typedef signed char int8_t;
|
||||
typedef short int int16_t;
|
||||
typedef int int32_t;
|
||||
typedef long long int int64_t;
|
||||
#endif
|
||||
|
||||
/* Unsigned. */
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned short int uint16_t;
|
||||
typedef unsigned int uint32_t;
|
||||
typedef unsigned long long int uint64_t;
|
||||
|
||||
|
||||
/* Small types. */
|
||||
|
||||
/* Signed. */
|
||||
typedef signed char int_least8_t;
|
||||
typedef short int int_least16_t;
|
||||
typedef int int_least32_t;
|
||||
typedef long long int int_least64_t;
|
||||
|
||||
/* Unsigned. */
|
||||
typedef unsigned char uint_least8_t;
|
||||
typedef unsigned short int uint_least16_t;
|
||||
typedef unsigned int uint_least32_t;
|
||||
typedef unsigned long long int uint_least64_t;
|
||||
|
||||
|
||||
/* Fast types. */
|
||||
|
||||
/* Signed. */
|
||||
typedef signed char int_fast8_t;
|
||||
typedef int int_fast16_t;
|
||||
typedef int int_fast32_t;
|
||||
typedef long long int int_fast64_t;
|
||||
|
||||
/* Unsigned. */
|
||||
typedef unsigned char uint_fast8_t;
|
||||
typedef unsigned int uint_fast16_t;
|
||||
typedef unsigned int uint_fast32_t;
|
||||
typedef unsigned long long int uint_fast64_t;
|
||||
|
||||
|
||||
/* Types for `void *' pointers. */
|
||||
typedef int intptr_t;
|
||||
typedef unsigned int uintptr_t;
|
||||
|
||||
|
||||
/* Largest integral types. */
|
||||
typedef long long int intmax_t;
|
||||
typedef unsigned long long int uintmax_t;
|
||||
|
||||
|
||||
/* The ISO C 9X standard specifies that these macros must only be
|
||||
defined if explicitly requested. */
|
||||
#if !defined __cplusplus || defined __STDC_LIMIT_MACROS
|
||||
|
||||
/* Limits of integral types. */
|
||||
|
||||
/* Minimum of signed integral types. */
|
||||
# define INT8_MIN (-128)
|
||||
# define INT16_MIN (-32767-1)
|
||||
# define INT32_MIN (-2147483647-1)
|
||||
# define INT64_MIN (-9223372036854775807LL-1)
|
||||
/* Maximum of signed integral types. */
|
||||
# define INT8_MAX (127)
|
||||
# define INT16_MAX (32767)
|
||||
# define INT32_MAX (2147483647)
|
||||
# define INT64_MAX (9223372036854775807LL)
|
||||
|
||||
/* Maximum of unsigned integral types. */
|
||||
# define UINT8_MAX (255U)
|
||||
# define UINT16_MAX (65535U)
|
||||
# define UINT32_MAX (4294967295U)
|
||||
# define UINT64_MAX (18446744073709551615uLL)
|
||||
|
||||
|
||||
/* Minimum of signed integral types having a minimum size. */
|
||||
# define INT_LEAST8_MIN (-128)
|
||||
# define INT_LEAST16_MIN (-32767-1)
|
||||
# define INT_LEAST32_MIN (-2147483647-1)
|
||||
# define INT_LEAST64_MIN (-9223372036854775807LL-1)
|
||||
/* Maximum of signed integral types having a minimum size. */
|
||||
# define INT_LEAST8_MAX (127)
|
||||
# define INT_LEAST16_MAX (32767)
|
||||
# define INT_LEAST32_MAX (2147483647)
|
||||
# define INT_LEAST64_MAX (9223372036854775807LL)
|
||||
|
||||
/* Maximum of unsigned integral types having a minimum size. */
|
||||
# define UINT_LEAST8_MAX (255U)
|
||||
# define UINT_LEAST16_MAX (65535U)
|
||||
# define UINT_LEAST32_MAX (4294967295U)
|
||||
# define UINT_LEAST64_MAX (18446744073709551615uLL)
|
||||
|
||||
|
||||
/* Minimum of fast signed integral types having a minimum size. */
|
||||
# define INT_FAST8_MIN (-128)
|
||||
# define INT_FAST16_MIN (-2147483647-1)
|
||||
# define INT_FAST32_MIN (-2147483647-1)
|
||||
# define INT_FAST64_MIN (-9223372036854775807LL-1)
|
||||
/* Maximum of fast signed integral types having a minimum size. */
|
||||
# define INT_FAST8_MAX (127)
|
||||
# define INT_FAST16_MAX (2147483647)
|
||||
# define INT_FAST32_MAX (2147483647)
|
||||
# define INT_FAST64_MAX (9223372036854775807LL)
|
||||
|
||||
/* Maximum of fast unsigned integral types having a minimum size. */
|
||||
# define UINT_FAST8_MAX (255U)
|
||||
# define UINT_FAST16_MAX (4294967295U)
|
||||
# define UINT_FAST32_MAX (4294967295U)
|
||||
# define UINT_FAST64_MAX (18446744073709551615uLL)
|
||||
|
||||
|
||||
/* Values to test for integral types holding `void *' pointer. */
|
||||
# define INTPTR_MIN (-2147483647-1)
|
||||
# define INTPTR_MAX (2147483647)
|
||||
# define UINTPTR_MAX (4294967295U)
|
||||
|
||||
|
||||
/* Minimum for largest signed integral type. */
|
||||
# define INTMAX_MIN (-9223372036854775807LL-1)
|
||||
/* Maximum for largest signed integral type. */
|
||||
# define INTMAX_MAX (9223372036854775807LL)
|
||||
|
||||
/* Maximum for largest unsigned integral type. */
|
||||
# define UINTMAX_MAX (18446744073709551615uLL)
|
||||
|
||||
|
||||
/* Limits of other integer types. */
|
||||
|
||||
/* Limits of `ptrdiff_t' type. */
|
||||
# define PTRDIFF_MIN (-2147483647-1)
|
||||
# define PTRDIFF_MAX (2147483647)
|
||||
|
||||
/* Limits of `sig_atomic_t'. */
|
||||
# define SIG_ATOMIC_MIN (-2147483647-1)
|
||||
# define SIG_ATOMIC_MAX (2147483647)
|
||||
|
||||
/* Limit of `size_t' type. */
|
||||
# define SIZE_MAX (4294967295U)
|
||||
|
||||
/* Limits of `wchar_t'. */
|
||||
# ifndef WCHAR_MIN
|
||||
/* These constants might also be defined in <wchar.h>. */
|
||||
# define WCHAR_MIN (-2147483647-1)
|
||||
# define WCHAR_MAX (2147483647)
|
||||
# endif
|
||||
|
||||
/* Limits of `wint_t'. */
|
||||
# define WINT_MIN (0)
|
||||
# define WINT_MAX (4294967295U)
|
||||
|
||||
#endif /* C++ && limit macros */
|
||||
|
||||
|
||||
/* The ISO C 9X standard specifies that these macros must only be
|
||||
defined if explicitly requested. */
|
||||
#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS
|
||||
|
||||
/* Signed. */
|
||||
# define INT8_C(c) ((int8_t) c)
|
||||
# define INT16_C(c) ((int16_t) c)
|
||||
# define INT32_C(c) ((int32_t) c)
|
||||
# define INT64_C(c) ((int64_t) __CONCAT (c,ll))
|
||||
|
||||
/* Unsigned. */
|
||||
# define UINT8_C(c) ((uint8_t) __CONCAT (c,u))
|
||||
# define UINT16_C(c) ((uint16_t) __CONCAT (c,u))
|
||||
# define UINT32_C(c) ((uint32_t) __CONCAT (c,u))
|
||||
# define UINT64_C(c) ((uint64_t) __CONCAT (c,ull))
|
||||
|
||||
/* Maximal type. */
|
||||
# define INTMAX_C(c) ((intmax_t) __CONCAT (c,ll))
|
||||
# define UINTMAX_C(c) ((uintmax_t) __CONCAT (c,ull))
|
||||
|
||||
#endif /* C++ && constant macros */
|
||||
|
||||
#endif /* stdint.h */
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
|
@ -21,365 +21,178 @@
|
|||
*/
|
||||
|
||||
#ifndef _INTTYPES_H
|
||||
|
||||
#define _INTTYPES_H 1
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#define __need_wchar_t
|
||||
#include <stddef.h>
|
||||
|
||||
/* Exact integral types. */
|
||||
|
||||
/* Signed. */
|
||||
|
||||
/* There is some amount of overlap with <sys/types.h> as known by inet code */
|
||||
#ifndef __int8_t_defined
|
||||
# define __int8_t_defined
|
||||
typedef signed char int8_t;
|
||||
typedef short int int16_t;
|
||||
typedef int int32_t;
|
||||
typedef long int int64_t;
|
||||
#endif
|
||||
|
||||
/* Unsigned. */
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned short int uint16_t;
|
||||
typedef unsigned int uint32_t;
|
||||
typedef unsigned long int uint64_t;
|
||||
/* Get the type definitions. */
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
/* Largest integral types. */
|
||||
typedef long int intmax_t;
|
||||
typedef unsigned long int uintmax_t;
|
||||
|
||||
|
||||
/* Types for `void *' pointers. */
|
||||
typedef long int intptr_t;
|
||||
typedef unsigned long int uintptr_t;
|
||||
|
||||
|
||||
/* Efficient types. */
|
||||
typedef long int intfast_t;
|
||||
typedef unsigned long int uintfast_t;
|
||||
|
||||
|
||||
/* Small types. */
|
||||
|
||||
/* Signed. */
|
||||
typedef signed char int_least8_t;
|
||||
typedef short int int_least16_t;
|
||||
typedef int int_least32_t;
|
||||
typedef long int int_least64_t;
|
||||
|
||||
/* Unsigned. */
|
||||
typedef unsigned char uint_least8_t;
|
||||
typedef unsigned short int uint_least16_t;
|
||||
typedef unsigned int uint_least32_t;
|
||||
typedef unsigned long int uint_least64_t;
|
||||
|
||||
|
||||
/* Fast types. */
|
||||
|
||||
/* Signed. */
|
||||
typedef signed char int_fast8_t;
|
||||
typedef int int_fast16_t;
|
||||
typedef int int_fast32_t;
|
||||
typedef long int int_fast64_t;
|
||||
|
||||
/* Unsigned. */
|
||||
typedef unsigned char uint_fast8_t;
|
||||
typedef unsigned int uint_fast16_t;
|
||||
typedef unsigned int uint_fast32_t;
|
||||
typedef unsigned long int uint_fast64_t;
|
||||
|
||||
|
||||
/* Limits of integral types. */
|
||||
|
||||
/* Minimum of signed integral types. */
|
||||
#define INT8_MIN (-128)
|
||||
#define INT16_MIN (-32767-1)
|
||||
#define INT32_MIN (-2147483647-1)
|
||||
#define INT64_MIN (-9223372036854775807L-1)
|
||||
/* Maximum of signed integral types. */
|
||||
#define INT8_MAX (127)
|
||||
#define INT16_MAX (32767)
|
||||
#define INT32_MAX (2147483647)
|
||||
#define INT64_MAX (9223372036854775807L)
|
||||
|
||||
/* Maximum of unsigned integral types. */
|
||||
#define UINT8_MAX (255U)
|
||||
#define UINT16_MAX (65535U)
|
||||
#define UINT32_MAX (4294967295U)
|
||||
#define UINT64_MAX (18446744073709551615uL)
|
||||
|
||||
|
||||
/* Minimum of signed integral types having a minimum size. */
|
||||
#define INT_LEAST8_MIN (-128)
|
||||
#define INT_LEAST16_MIN (-32767-1)
|
||||
#define INT_LEAST32_MIN (-2147483647-1)
|
||||
#define INT_LEAST64_MIN (-9223372036854775807L-1)
|
||||
/* Maximum of signed integral types having a minimum size. */
|
||||
#define INT_LEAST8_MAX (127)
|
||||
#define INT_LEAST16_MAX (32767)
|
||||
#define INT_LEAST32_MAX (2147483647)
|
||||
#define INT_LEAST64_MAX (9223372036854775807L)
|
||||
|
||||
/* Maximum of unsigned integral types having a minimum size. */
|
||||
#define UINT_LEAST8_MAX (255U)
|
||||
#define UINT_LEAST16_MAX (65535U)
|
||||
#define UINT_LEAST32_MAX (4294967295U)
|
||||
#define UINT_LEAST64_MAX (18446744073709551615uL)
|
||||
|
||||
|
||||
/* Minimum of fast signed integral types having a minimum size. */
|
||||
#define INT_FAST8_MIN (-128)
|
||||
#define INT_FAST16_MIN (-2147483647-1)
|
||||
#define INT_FAST32_MIN (-2147483647-1)
|
||||
#define INT_FAST64_MIN (-9223372036854775807L-1)
|
||||
/* Maximum of fast signed integral types having a minimum size. */
|
||||
#define INT_FAST8_MAX (127)
|
||||
#define INT_FAST16_MAX (2147483647)
|
||||
#define INT_FAST32_MAX (2147483647)
|
||||
#define INT_FAST64_MAX (9223372036854775807L)
|
||||
|
||||
/* Maximum of fast unsigned integral types having a minimum size. */
|
||||
#define UINT_FAST8_MAX (255U)
|
||||
#define UINT_FAST16_MAX (4294967295U)
|
||||
#define UINT_FAST32_MAX (4294967295U)
|
||||
#define UINT_FAST64_MAX (18446744073709551615uL)
|
||||
|
||||
|
||||
/* Minimum for most efficient signed integral types. */
|
||||
#define INTFAST_MIN (-9223372036854775807L-1)
|
||||
/* Maximum for most efficient signed integral types. */
|
||||
#define INTFAST_MAX (9223372036854775807L)
|
||||
|
||||
/* Maximum for most efficient unsigned integral types. */
|
||||
#define UINTFAST_MAX (18446744073709551615uL)
|
||||
|
||||
|
||||
/* Minimum for largest signed integral type. */
|
||||
#define INTMAX_MIN (-9223372036854775807L-1)
|
||||
/* Maximum for largest signed integral type. */
|
||||
#define INTMAX_MAX (9223372036854775807L)
|
||||
|
||||
/* Maximum for largest unsigned integral type. */
|
||||
#define UINTMAX_MAX (18446744073709551615uL)
|
||||
|
||||
|
||||
/* Values to test for integral types holding `void *' pointer. */
|
||||
#define INTPTR_MAX (9223372036854775807L)
|
||||
#define UINTPTR_MAX (18446744073709551615uL)
|
||||
|
||||
|
||||
/* Signed. */
|
||||
#define INT8_C(c) ((int8_t) c)
|
||||
#define INT16_C(c) ((int16_t) c)
|
||||
#define INT32_C(c) ((int32_t) c)
|
||||
#define INT64_C(c) ((int64_t) __CONCAT (c,l))
|
||||
|
||||
/* Unsigned. */
|
||||
#define UINT8_C(c) ((uint8_t) __CONCAT (c,u))
|
||||
#define UINT16_C(c) ((uint16_t) __CONCAT (c,u))
|
||||
#define UINT32_C(c) ((uint32_t) __CONCAT (c,u))
|
||||
#define UINT64_C(c) ((uint64_t) __CONCAT (c,ul))
|
||||
|
||||
/* Maximal type. */
|
||||
#define INTMAX_C(c) ((intmax_t) __CONCAT (c,l))
|
||||
#define UINTMAX_C(c) ((uintmax_t) __CONCAT (c,ul))
|
||||
|
||||
/* The ISO C 9X standard specifies that these macros must only be
|
||||
defined if explicitly requested. */
|
||||
#if !defined __cplusplus || defined __STDC_FORMAT_MACROS
|
||||
|
||||
/* Macros for printing format specifiers. */
|
||||
|
||||
/* Decimal notation. */
|
||||
#define PRId8 "d"
|
||||
#define PRId16 "d"
|
||||
#define PRId32 "d"
|
||||
#define PRId64 "ld"
|
||||
# define PRId8 "d"
|
||||
# define PRId16 "d"
|
||||
# define PRId32 "d"
|
||||
# define PRId64 "ld"
|
||||
|
||||
#define PRIdLEAST8 "d"
|
||||
#define PRIdLEAST16 "d"
|
||||
#define PRIdLEAST32 "d"
|
||||
#define PRIdLEAST64 "ld"
|
||||
# define PRIdLEAST8 "d"
|
||||
# define PRIdLEAST16 "d"
|
||||
# define PRIdLEAST32 "d"
|
||||
# define PRIdLEAST64 "ld"
|
||||
|
||||
#define PRIdFAST8 "d"
|
||||
#define PRIdFAST16 "d"
|
||||
#define PRIdFAST32 "d"
|
||||
#define PRIdFAST64 "ld"
|
||||
# define PRIdFAST8 "d"
|
||||
# define PRIdFAST16 "d"
|
||||
# define PRIdFAST32 "d"
|
||||
# define PRIdFAST64 "ld"
|
||||
|
||||
|
||||
#define PRIi8 "i"
|
||||
#define PRIi16 "i"
|
||||
#define PRIi32 "i"
|
||||
#define PRIi64 "li"
|
||||
# define PRIi8 "i"
|
||||
# define PRIi16 "i"
|
||||
# define PRIi32 "i"
|
||||
# define PRIi64 "li"
|
||||
|
||||
#define PRIiLEAST8 "i"
|
||||
#define PRIiLEAST16 "i"
|
||||
#define PRIiLEAST32 "i"
|
||||
#define PRIiLEAST64 "li"
|
||||
# define PRIiLEAST8 "i"
|
||||
# define PRIiLEAST16 "i"
|
||||
# define PRIiLEAST32 "i"
|
||||
# define PRIiLEAST64 "li"
|
||||
|
||||
#define PRIiFAST8 "i"
|
||||
#define PRIiFAST16 "i"
|
||||
#define PRIiFAST32 "i"
|
||||
#define PRIiFAST64 "li"
|
||||
# define PRIiFAST8 "i"
|
||||
# define PRIiFAST16 "i"
|
||||
# define PRIiFAST32 "i"
|
||||
# define PRIiFAST64 "li"
|
||||
|
||||
/* Octal notation. */
|
||||
#define PRIo8 "o"
|
||||
#define PRIo16 "o"
|
||||
#define PRIo32 "o"
|
||||
#define PRIo64 "lo"
|
||||
# define PRIo8 "o"
|
||||
# define PRIo16 "o"
|
||||
# define PRIo32 "o"
|
||||
# define PRIo64 "lo"
|
||||
|
||||
#define PRIoLEAST8 "o"
|
||||
#define PRIoLEAST16 "o"
|
||||
#define PRIoLEAST32 "o"
|
||||
#define PRIoLEAST64 "lo"
|
||||
# define PRIoLEAST8 "o"
|
||||
# define PRIoLEAST16 "o"
|
||||
# define PRIoLEAST32 "o"
|
||||
# define PRIoLEAST64 "lo"
|
||||
|
||||
#define PRIoFAST8 "o"
|
||||
#define PRIoFAST16 "o"
|
||||
#define PRIoFAST32 "o"
|
||||
#define PRIoFAST64 "lo"
|
||||
# define PRIoFAST8 "o"
|
||||
# define PRIoFAST16 "o"
|
||||
# define PRIoFAST32 "o"
|
||||
# define PRIoFAST64 "lo"
|
||||
|
||||
/* lowercase hexadecimal notation. */
|
||||
#define PRIx8 "x"
|
||||
#define PRIx16 "x"
|
||||
#define PRIx32 "x"
|
||||
#define PRIx64 "lx"
|
||||
# define PRIx8 "x"
|
||||
# define PRIx16 "x"
|
||||
# define PRIx32 "x"
|
||||
# define PRIx64 "lx"
|
||||
|
||||
#define PRIxLEAST8 "x"
|
||||
#define PRIxLEAST16 "x"
|
||||
#define PRIxLEAST32 "x"
|
||||
#define PRIxLEAST64 "lx"
|
||||
# define PRIxLEAST8 "x"
|
||||
# define PRIxLEAST16 "x"
|
||||
# define PRIxLEAST32 "x"
|
||||
# define PRIxLEAST64 "lx"
|
||||
|
||||
#define PRIxFAST8 "x"
|
||||
#define PRIxFAST16 "x"
|
||||
#define PRIxFAST32 "x"
|
||||
#define PRIxFAST64 "lx"
|
||||
# define PRIxFAST8 "x"
|
||||
# define PRIxFAST16 "x"
|
||||
# define PRIxFAST32 "x"
|
||||
# define PRIxFAST64 "lx"
|
||||
|
||||
/* UPPERCASE hexadecimal notation. */
|
||||
#define PRIX8 "X"
|
||||
#define PRIX16 "X"
|
||||
#define PRIX32 "X"
|
||||
#define PRIX64 "lX"
|
||||
# define PRIX8 "X"
|
||||
# define PRIX16 "X"
|
||||
# define PRIX32 "X"
|
||||
# define PRIX64 "lX"
|
||||
|
||||
#define PRIXLEAST8 "X"
|
||||
#define PRIXLEAST16 "X"
|
||||
#define PRIXLEAST32 "X"
|
||||
#define PRIXLEAST64 "lX"
|
||||
# define PRIXLEAST8 "X"
|
||||
# define PRIXLEAST16 "X"
|
||||
# define PRIXLEAST32 "X"
|
||||
# define PRIXLEAST64 "lX"
|
||||
|
||||
#define PRIXFAST8 "X"
|
||||
#define PRIXFAST16 "X"
|
||||
#define PRIXFAST32 "X"
|
||||
#define PRIXFAST64 "lX"
|
||||
# define PRIXFAST8 "X"
|
||||
# define PRIXFAST16 "X"
|
||||
# define PRIXFAST32 "X"
|
||||
# define PRIXFAST64 "lX"
|
||||
|
||||
|
||||
/* Unsigned integers. */
|
||||
#define PRIu8 "u"
|
||||
#define PRIu16 "u"
|
||||
#define PRIu32 "u"
|
||||
#define PRIu64 "lu"
|
||||
# define PRIu8 "u"
|
||||
# define PRIu16 "u"
|
||||
# define PRIu32 "u"
|
||||
# define PRIu64 "lu"
|
||||
|
||||
#define PRIuLEAST8 "u"
|
||||
#define PRIuLEAST16 "u"
|
||||
#define PRIuLEAST32 "u"
|
||||
#define PRIuLEAST64 "lu"
|
||||
# define PRIuLEAST8 "u"
|
||||
# define PRIuLEAST16 "u"
|
||||
# define PRIuLEAST32 "u"
|
||||
# define PRIuLEAST64 "lu"
|
||||
|
||||
#define PRIuFAST8 "u"
|
||||
#define PRIuFAST16 "u"
|
||||
#define PRIuFAST32 "u"
|
||||
#define PRIuFAST64 "lu"
|
||||
# define PRIuFAST8 "u"
|
||||
# define PRIuFAST16 "u"
|
||||
# define PRIuFAST32 "u"
|
||||
# define PRIuFAST64 "lu"
|
||||
|
||||
|
||||
/* Macros for printing `intmax_t' and `uintmax_t'. */
|
||||
#define PRIdMAX "ld"
|
||||
#define PRIoMAX "lo"
|
||||
#define PRIxMAX "lx"
|
||||
#define PRIuMAX "lu"
|
||||
|
||||
|
||||
/* Macros for printing `intfast_t' and `uintfast_t'. */
|
||||
#define PRIdFAST "ld"
|
||||
#define PRIoFAST "lo"
|
||||
#define PRIxFAST "lx"
|
||||
#define PRIuFAST "lu"
|
||||
# define PRIdMAX "ld"
|
||||
# define PRIoMAX "lo"
|
||||
# define PRIxMAX "lx"
|
||||
# define PRIuMAX "lu"
|
||||
|
||||
|
||||
/* Macros for printing `intptr_t' and `uintptr_t'. */
|
||||
#define PRIdPTR "ld"
|
||||
#define PRIoPTR "lo"
|
||||
#define PRIxPTR "lx"
|
||||
#define PRIuPTR "lu"
|
||||
# define PRIdPTR "ld"
|
||||
# define PRIoPTR "lo"
|
||||
# define PRIxPTR "lx"
|
||||
# define PRIuPTR "lu"
|
||||
|
||||
|
||||
/* Macros for printing format specifiers. */
|
||||
|
||||
/* Decimal notation. */
|
||||
#define SCNd8 "hhd"
|
||||
#define SCNd16 "hd"
|
||||
#define SCNd32 "d"
|
||||
#define SCNd64 "ld"
|
||||
# define SCNd8 "hhd"
|
||||
# define SCNd16 "hd"
|
||||
# define SCNd32 "d"
|
||||
# define SCNd64 "ld"
|
||||
|
||||
#define SCNi8 "hhi"
|
||||
#define SCNi16 "hi"
|
||||
#define SCNi32 "i"
|
||||
#define SCNi64 "li"
|
||||
# define SCNi8 "hhi"
|
||||
# define SCNi16 "hi"
|
||||
# define SCNi32 "i"
|
||||
# define SCNi64 "li"
|
||||
|
||||
#define SCNu8 "hhu"
|
||||
#define SCNu16 "hu"
|
||||
#define SCNu32 "u"
|
||||
#define SCNu64 "lu"
|
||||
# define SCNu8 "hhu"
|
||||
# define SCNu16 "hu"
|
||||
# define SCNu32 "u"
|
||||
# define SCNu64 "lu"
|
||||
|
||||
/* Octal notation. */
|
||||
#define SCNo8 "hho"
|
||||
#define SCNo16 "ho"
|
||||
#define SCNo32 "o"
|
||||
#define SCNo64 "lo"
|
||||
# define SCNo8 "hho"
|
||||
# define SCNo16 "ho"
|
||||
# define SCNo32 "o"
|
||||
# define SCNo64 "lo"
|
||||
|
||||
/* Hexadecimal notation. */
|
||||
#define SCNx8 "hhx"
|
||||
#define SCNx16 "hx"
|
||||
#define SCNx32 "x"
|
||||
#define SCNx64 "lx"
|
||||
# define SCNx8 "hhx"
|
||||
# define SCNx16 "hx"
|
||||
# define SCNx32 "x"
|
||||
# define SCNx64 "lx"
|
||||
|
||||
|
||||
/* Macros for scaning `intfast_t' and `uintfast_t'. */
|
||||
#define SCNdFAST "ld"
|
||||
#define SCNiFAST "li"
|
||||
#define SCNoFAST "lo"
|
||||
#define SCNxFAST "lx"
|
||||
# define SCNdFAST "ld"
|
||||
# define SCNiFAST "li"
|
||||
# define SCNoFAST "lo"
|
||||
# define SCNxFAST "lx"
|
||||
|
||||
/* Macros for scaning `intptr_t' and `uintptr_t'. */
|
||||
#define SCNdPTR "ld"
|
||||
#define SCNiPTR "li"
|
||||
#define SCNoPTR "lo"
|
||||
#define SCNxPTR "lx"
|
||||
# define SCNdPTR "ld"
|
||||
# define SCNiPTR "li"
|
||||
# define SCNoPTR "lo"
|
||||
# define SCNxPTR "lx"
|
||||
|
||||
#endif /* C++ && format macros */
|
||||
|
||||
|
||||
/* Limits of other integer types. */
|
||||
|
||||
/* Limits of `ptrdiff_t' type. */
|
||||
#define PTRDIFF_MIN (-9223372036854775807L-1)
|
||||
#define PTRDIFF_MAX (9223372036854775807L)
|
||||
|
||||
/* Limits of `sig_atomic_t'. */
|
||||
#define SIG_ATOMIC_MIN (-2147483647-1)
|
||||
#define SIG_ATOMIC_MAX (2147483647)
|
||||
|
||||
/* Limit of `size_t' type. */
|
||||
#define SIZE_MAX (18446744073709551615uL)
|
||||
|
||||
/* Limits of `wchar_t'. */
|
||||
#ifndef WCHAR_MIN
|
||||
/* These constants might also be defined in <wchar.h>. */
|
||||
# define WCHAR_MIN (-2147483647-1)
|
||||
# define WCHAR_MAX (2147483647)
|
||||
#endif
|
||||
|
||||
/* Limits of `wint_t'. */
|
||||
#define WINT_MIN (0)
|
||||
#define WINT_MAX (4294967295U)
|
||||
|
||||
|
||||
/* Macros for string conversion. */
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Like `strtol' but convert to `intmax_t'. */
|
||||
extern intmax_t strtoimax __P ((__const char *__restrict __nptr,
|
||||
|
@ -458,4 +271,6 @@ wcstoumax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
|
|||
}
|
||||
#endif /* GCC and Optimization. */
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* inttypes.h */
|
||||
|
|
214
sysdeps/wordsize-64/stdint.h
Normal file
214
sysdeps/wordsize-64/stdint.h
Normal file
|
@ -0,0 +1,214 @@
|
|||
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
/*
|
||||
* ISO C 9X: 7.4 Integer types <stdint.h>
|
||||
*/
|
||||
|
||||
#ifndef _STDINT_H
|
||||
#define _STDINT_H 1
|
||||
|
||||
#include <features.h>
|
||||
#define __need_wchar_t
|
||||
#include <stddef.h>
|
||||
|
||||
/* Exact integral types. */
|
||||
|
||||
/* Signed. */
|
||||
|
||||
/* There is some amount of overlap with <sys/types.h> as known by inet code */
|
||||
#ifndef __int8_t_defined
|
||||
# define __int8_t_defined
|
||||
typedef signed char int8_t;
|
||||
typedef short int int16_t;
|
||||
typedef int int32_t;
|
||||
typedef long int int64_t;
|
||||
#endif
|
||||
|
||||
/* Unsigned. */
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned short int uint16_t;
|
||||
typedef unsigned int uint32_t;
|
||||
typedef unsigned long int uint64_t;
|
||||
|
||||
|
||||
/* Small types. */
|
||||
|
||||
/* Signed. */
|
||||
typedef signed char int_least8_t;
|
||||
typedef short int int_least16_t;
|
||||
typedef int int_least32_t;
|
||||
typedef long int int_least64_t;
|
||||
|
||||
/* Unsigned. */
|
||||
typedef unsigned char uint_least8_t;
|
||||
typedef unsigned short int uint_least16_t;
|
||||
typedef unsigned int uint_least32_t;
|
||||
typedef unsigned long int uint_least64_t;
|
||||
|
||||
|
||||
/* Fast types. */
|
||||
|
||||
/* Signed. */
|
||||
typedef signed char int_fast8_t;
|
||||
typedef long int int_fast16_t;
|
||||
typedef long int int_fast32_t;
|
||||
typedef long int int_fast64_t;
|
||||
|
||||
/* Unsigned. */
|
||||
typedef unsigned char uint_fast8_t;
|
||||
typedef unsigned long int uint_fast16_t;
|
||||
typedef unsigned long int uint_fast32_t;
|
||||
typedef unsigned long int uint_fast64_t;
|
||||
|
||||
|
||||
/* Types for `void *' pointers. */
|
||||
typedef int intptr_t;
|
||||
typedef unsigned long int uintptr_t;
|
||||
|
||||
|
||||
/* Largest integral types. */
|
||||
typedef long int intmax_t;
|
||||
typedef unsigned long int uintmax_t;
|
||||
|
||||
|
||||
/* The ISO C 9X standard specifies that these macros must only be
|
||||
defined if explicitly requested. */
|
||||
#if !defined __cplusplus || defined __STDC_LIMIT_MACROS
|
||||
|
||||
/* Limits of integral types. */
|
||||
|
||||
/* Minimum of signed integral types. */
|
||||
# define INT8_MIN (-128)
|
||||
# define INT16_MIN (-32767-1)
|
||||
# define INT32_MIN (-2147483647-1)
|
||||
# define INT64_MIN (-9223372036854775807LL-1)
|
||||
/* Maximum of signed integral types. */
|
||||
# define INT8_MAX (127)
|
||||
# define INT16_MAX (32767)
|
||||
# define INT32_MAX (2147483647)
|
||||
# define INT64_MAX (9223372036854775807LL)
|
||||
|
||||
/* Maximum of unsigned integral types. */
|
||||
# define UINT8_MAX (255U)
|
||||
# define UINT16_MAX (65535U)
|
||||
# define UINT32_MAX (4294967295U)
|
||||
# define UINT64_MAX (18446744073709551615uLL)
|
||||
|
||||
|
||||
/* Minimum of signed integral types having a minimum size. */
|
||||
# define INT_LEAST8_MIN (-128)
|
||||
# define INT_LEAST16_MIN (-32767-1)
|
||||
# define INT_LEAST32_MIN (-2147483647-1)
|
||||
# define INT_LEAST64_MIN (-9223372036854775807LL-1)
|
||||
/* Maximum of signed integral types having a minimum size. */
|
||||
# define INT_LEAST8_MAX (127)
|
||||
# define INT_LEAST16_MAX (32767)
|
||||
# define INT_LEAST32_MAX (2147483647)
|
||||
# define INT_LEAST64_MAX (9223372036854775807LL)
|
||||
|
||||
/* Maximum of unsigned integral types having a minimum size. */
|
||||
# define UINT_LEAST8_MAX (255U)
|
||||
# define UINT_LEAST16_MAX (65535U)
|
||||
# define UINT_LEAST32_MAX (4294967295U)
|
||||
# define UINT_LEAST64_MAX (18446744073709551615uLL)
|
||||
|
||||
|
||||
/* Minimum of fast signed integral types having a minimum size. */
|
||||
# define INT_FAST8_MIN (-128)
|
||||
# define INT_FAST16_MIN (-9223372036854775807LL-1)
|
||||
# define INT_FAST32_MIN (-9223372036854775807LL-1)
|
||||
# define INT_FAST64_MIN (-9223372036854775807LL-1)
|
||||
/* Maximum of fast signed integral types having a minimum size. */
|
||||
# define INT_FAST8_MAX (127)
|
||||
# define INT_FAST16_MAX (9223372036854775807LL)
|
||||
# define INT_FAST32_MAX (9223372036854775807LL)
|
||||
# define INT_FAST64_MAX (9223372036854775807LL)
|
||||
|
||||
/* Maximum of fast unsigned integral types having a minimum size. */
|
||||
# define UINT_FAST8_MAX (255U)
|
||||
# define UINT_FAST16_MAX (18446744073709551615uLL)
|
||||
# define UINT_FAST32_MAX (18446744073709551615uLL)
|
||||
# define UINT_FAST64_MAX (18446744073709551615uLL)
|
||||
|
||||
|
||||
/* Values to test for integral types holding `void *' pointer. */
|
||||
# define INTPTR_MIN (-9223372036854775807L-1)
|
||||
# define INTPTR_MAX (9223372036854775807L
|
||||
# define UINTPTR_MAX (18446744073709551615uL)
|
||||
|
||||
|
||||
/* Minimum for largest signed integral type. */
|
||||
# define INTMAX_MIN (-9223372036854775807LL-1)
|
||||
/* Maximum for largest signed integral type. */
|
||||
# define INTMAX_MAX (9223372036854775807LL)
|
||||
|
||||
/* Maximum for largest unsigned integral type. */
|
||||
# define UINTMAX_MAX (18446744073709551615uLL)
|
||||
|
||||
|
||||
/* Limits of other integer types. */
|
||||
|
||||
/* Limits of `ptrdiff_t' type. */
|
||||
# define PTRDIFF_MIN (-9223372036854775807L-1)
|
||||
# define PTRDIFF_MAX (9223372036854775807L)
|
||||
|
||||
/* Limits of `sig_atomic_t'. */
|
||||
# define SIG_ATOMIC_MIN (-2147483647-1)
|
||||
# define SIG_ATOMIC_MAX (2147483647)
|
||||
|
||||
/* Limit of `size_t' type. */
|
||||
# define SIZE_MAX (18446744073709551615uL)
|
||||
|
||||
/* Limits of `wchar_t'. */
|
||||
# ifndef WCHAR_MIN
|
||||
/* These constants might also be defined in <wchar.h>. */
|
||||
# define WCHAR_MIN (-2147483647-1)
|
||||
# define WCHAR_MAX (2147483647)
|
||||
# endif
|
||||
|
||||
/* Limits of `wint_t'. */
|
||||
# define WINT_MIN (0)
|
||||
# define WINT_MAX (4294967295U)
|
||||
|
||||
#endif /* C++ && limit macros */
|
||||
|
||||
|
||||
/* The ISO C 9X standard specifies that these macros must only be
|
||||
defined if explicitly requested. */
|
||||
#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS
|
||||
|
||||
/* Signed. */
|
||||
# define INT8_C(c) ((int8_t) c)
|
||||
# define INT16_C(c) ((int16_t) c)
|
||||
# define INT32_C(c) ((int32_t) c)
|
||||
# define INT64_C(c) ((int64_t) __CONCAT (c,l))
|
||||
|
||||
/* Unsigned. */
|
||||
# define UINT8_C(c) ((uint8_t) __CONCAT (c,u))
|
||||
# define UINT16_C(c) ((uint16_t) __CONCAT (c,u))
|
||||
# define UINT32_C(c) ((uint32_t) __CONCAT (c,u))
|
||||
# define UINT64_C(c) ((uint64_t) __CONCAT (c,ul))
|
||||
|
||||
/* Maximal type. */
|
||||
# define INTMAX_C(c) ((intmax_t) __CONCAT (c,l))
|
||||
# define UINTMAX_C(c) ((uintmax_t) __CONCAT (c,ul))
|
||||
|
||||
#endif /* C++ && constant macros */
|
||||
|
||||
#endif /* stdint.h */
|
181
time/Makefile
181
time/Makefile
|
@ -1,4 +1,4 @@
|
|||
# Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98 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
|
||||
|
@ -22,179 +22,14 @@
|
|||
subdir := time
|
||||
|
||||
headers := time.h sys/time.h sys/timeb.h bits/time.h
|
||||
distribute := tzfile.h private.h scheck.c ialloc.c yearistype \
|
||||
iso3166.tab zone.tab tzselect.ksh checktab.awk \
|
||||
README
|
||||
extra-objs = scheck.o ialloc.o $(tzfiles:%=z.%)
|
||||
|
||||
routines := offtime asctime clock ctime ctime_r difftime \
|
||||
gmtime localtime mktime strftime time tzset \
|
||||
tzfile gettimeofday settimeofday adjtime \
|
||||
getitimer setitimer \
|
||||
stime dysize timegm ftime \
|
||||
strptime getdate strfxtime
|
||||
routines := offtime asctime clock ctime ctime_r difftime \
|
||||
gmtime localtime mktime strftime time \
|
||||
gettimeofday settimeofday adjtime tzset \
|
||||
tzfile getitimer setitimer \
|
||||
stime dysize timegm ftime \
|
||||
strptime getdate strfxtime
|
||||
|
||||
others := ap zdump zic
|
||||
tests := test_time clocktest test-tz
|
||||
|
||||
tzbases := africa antarctica asia australasia europe northamerica \
|
||||
southamerica etcetera factory systemv \
|
||||
solar87 solar88 solar89
|
||||
tzlinks := backward
|
||||
tzfiles := $(tzbases) $(tzlinks)
|
||||
# pacificnew doesn't compile; if it is to be used, it should be included in
|
||||
# northamerica.
|
||||
distribute += $(tzfiles) leapseconds pacificnew simplebackw
|
||||
|
||||
install-sbin := zic zdump
|
||||
|
||||
generated-dirs = testdata
|
||||
|
||||
all: # Make this the default target; it will be defined in Rules.
|
||||
|
||||
include ../Makeconfig # Get objpfx defined so we can use it below.
|
||||
|
||||
# z.* use this variable.
|
||||
define nl
|
||||
|
||||
|
||||
endef
|
||||
ifneq ($(no_deps),t)
|
||||
-include $(addprefix $(objpfx)z.,$(tzfiles))
|
||||
endif
|
||||
|
||||
# Make these absolute file names.
|
||||
installed-localtime-file := $(firstword $(filter /%,$(inst_localtime-file)) \
|
||||
$(addprefix $(inst_zonedir)/, \
|
||||
$(localtime-file)))
|
||||
installed-posixrules-file := $(firstword $(filter /%,$(posixrules-file)) \
|
||||
$(addprefix $(inst_zonedir)/, \
|
||||
$(posixrules-file)))
|
||||
|
||||
ifeq ($(cross-compiling),no)
|
||||
# Don't try to install the zoneinfo files since we can't run zic.
|
||||
install-others = $(addprefix $(inst_zonedir)/,$(zonenames) \
|
||||
$(zonenames:%=posix/%) \
|
||||
$(zonenames:%=right/%)) \
|
||||
$(installed-localtime-file) $(installed-posixrules-file)
|
||||
endif
|
||||
|
||||
ifeq ($(have-ksh),yes)
|
||||
install-others += $(inst_zonedir)/iso3166.tab $(inst_zonedir)/zone.tab
|
||||
install-bin += tzselect
|
||||
generated += tzselect
|
||||
endif
|
||||
tests := test_time clocktest
|
||||
|
||||
include ../Rules
|
||||
|
||||
|
||||
$(tzfiles:%=$(objpfx)z.%): $(objpfx)z.%: % Makefile
|
||||
# Kludge alert: we use an implicit rule (in what we are generating here)
|
||||
# because that is the only way to tell Make that the one command builds all
|
||||
# the files.
|
||||
# The extra kludge for the $(tzlinks) files is necessary since running zic
|
||||
# this file requires all other files to exist. Blech!
|
||||
(echo 'define $*-zones' ;\
|
||||
awk '$$1 == "Zone" { print $$2 } $$1 == "Link" { print $$3 }' $^ ;\
|
||||
echo 'endef' ;\
|
||||
echo '$*-zones := $$(subst $$(nl), ,$$($*-zones))' ;\
|
||||
echo 'ifdef $*-zones' ;\
|
||||
if test x$(findstring $*, $(tzlinks)) != x; then \
|
||||
echo '$$(addprefix $$(inst_zonedir)/right/,$$($*-zones)): \';\
|
||||
echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/right/,$$($$t-zones)))' ;\
|
||||
echo '$$(addprefix $$(inst_zonedir)/posix/,$$($*-zones)): \';\
|
||||
echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/posix/,$$($$t-zones)))' ;\
|
||||
echo '$$(addprefix $$(inst_zonedir)/,$$($*-zones)): \' ;\
|
||||
echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/,$$($$t-zones)))' ;\
|
||||
fi ;\
|
||||
echo '$$(addprefix $$(inst_datadir)/zone%/right/,$$($*-zones)): \' ;\
|
||||
echo '$< $$(objpfx)zic leapseconds yearistype' ;\
|
||||
echo ' $$(tzcompile)' ;\
|
||||
echo '$$(addprefix $$(inst_datadir)/zone%/posix/,$$($*-zones)): \' ;\
|
||||
echo '$< $$(objpfx)zic /dev/null yearistype' ;\
|
||||
echo ' $$(tzcompile)' ;\
|
||||
echo '$$(addprefix $$(inst_datadir)/zone%/,$$($*-zones)): \' ;\
|
||||
echo '$< $$(objpfx)zic $$(leapseconds) yearistype' ;\
|
||||
echo ' $$(tzcompile)' ;\
|
||||
echo 'endif' ;\
|
||||
echo 'zonenames := $$(zonenames) $$($*-zones)' ;\
|
||||
) > $@.new
|
||||
mv $@.new $@
|
||||
|
||||
.PHONY: echo-zonenames
|
||||
echo-zonenames:
|
||||
@echo 'Known zones: $(zonenames)'
|
||||
|
||||
|
||||
# We have to use `-d $(inst_zonedir)' to explictly tell zic where to
|
||||
# place the output files although $(zonedir) is compiled in. But the
|
||||
# user might have set $(install_root) on the command line of `make install'.
|
||||
zic-cmd = $(built-program-cmd) -d $(inst_zonedir)
|
||||
tzcompile = $(zic-cmd)$(target-zone-flavor) -L $(word 3,$^) \
|
||||
-y $(dir $(word 4,$^))$(notdir $(word 4,$^)) $<
|
||||
|
||||
# The source files specify the zone names relative to the -d directory,
|
||||
# so for the posix/ and right/ flavors we need to pass -d $(inst_zonedir)/posix
|
||||
# and the like. This magic extracts /posix or /right if it's the first
|
||||
# component after $(inst_zonedir) in the target name $@.
|
||||
target-zone-flavor = $(filter /posix /right, \
|
||||
/$(firstword $(subst /, , \
|
||||
$(patsubst $(inst_zonedir)/%,%,$@))))
|
||||
|
||||
ifdef localtime
|
||||
$(installed-localtime-file): $(inst_zonedir)/$(localtime) $(objpfx)zic
|
||||
$(make-target-directory)
|
||||
if test -r $@; then \
|
||||
echo Site timezone NOT reset to Factory.; \
|
||||
else \
|
||||
rm -f $@T; \
|
||||
$(SHELL) $(..)/rellns-sh $< $@T; \
|
||||
mv -f $@T $@; \
|
||||
fi
|
||||
endif
|
||||
ifdef posixrules
|
||||
$(installed-posixrules-file): $(inst_zonedir)/$(posixrules) $(objpfx)zic
|
||||
$(zic-cmd) -p $(posixrules)
|
||||
endif
|
||||
|
||||
|
||||
$(objpfx)zic: $(objpfx)scheck.o $(objpfx)ialloc.o
|
||||
|
||||
tz-cflags = -DTZDIR='"$(zonedir)"' \
|
||||
-DTZDEFAULT='"$(localtime-file)"' \
|
||||
-DTZDEFRULES='"$(posixrules-file)"'
|
||||
|
||||
CFLAGS-zdump.c = -Wno-strict-prototypes -DNOID
|
||||
CFLAGS-zic.c = -Wno-strict-prototypes -DNOID $(tz-cflags)
|
||||
CFLAGS-ialloc.c = -Wno-strict-prototypes -DNOID
|
||||
CFLAGS-scheck.c = -Wno-strict-prototypes -DNOID
|
||||
CFLAGS-tzfile.c = $(tz-cflags)
|
||||
CFLAGS-tzset.c = $(tz-cflags)
|
||||
|
||||
# We have to make sure the data for testing the tz functions is available.
|
||||
$(objpfx)test-tz.out: $(addprefix $(objpfx)testdata/, America/New_York \
|
||||
Etc/UTC UTC)
|
||||
|
||||
$(objpfx)testdata/America/New_York: northamerica $(objpfx)zic \
|
||||
$(leapseconds) yearistype
|
||||
$(built-program-cmd) -d $(objpfx)testdata -L $(leapseconds) \
|
||||
-y yearistype northamerica
|
||||
$(objpfx)testdata/Etc/UTC: etcetera $(objpfx)zic $(leapseconds) yearistype
|
||||
$(built-program-cmd) -d $(objpfx)testdata -L $(leapseconds) \
|
||||
-y yearistype etcetera
|
||||
$(objpfx)testdata/UTC: simplebackw $(objpfx)zic $(objpfx)testdata/Etc/UTC \
|
||||
$(leapseconds) yearistype
|
||||
$(built-program-cmd) -d $(objpfx)testdata -L $(leapseconds) \
|
||||
-y yearistype simplebackw
|
||||
|
||||
test-tz-ENV = TZDIR=$(objpfx)testdata
|
||||
|
||||
|
||||
$(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
|
||||
sed -e 's%@KSH@%$(KSH)%g' \
|
||||
-e 's%@TZDIR@%$(zonedir)%g' < $< > $@.new
|
||||
chmod 555 $@.new
|
||||
mv -f $@.new $@
|
||||
|
||||
$(addprefix $(inst_zonedir)/,iso3166.tab zone.tab): $(inst_zonedir)/%: %
|
||||
$(do-install)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 1991, 92, 93, 95, 96, 97 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991, 92, 93, 95, 96, 97, 98 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
|
||||
|
@ -24,7 +24,7 @@
|
|||
#include <unistd.h>
|
||||
|
||||
#define NOID
|
||||
#include <tzfile.h>
|
||||
#include <timezone/tzfile.h>
|
||||
|
||||
int __use_tzfile = 0;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991,92,93,94,95,96,97,98 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
|
||||
|
@ -32,7 +32,7 @@ extern const unsigned short int __mon_yday[2][13];
|
|||
extern struct tm _tmbuf;
|
||||
|
||||
#define NOID
|
||||
#include "tzfile.h"
|
||||
#include <timezone/tzfile.h>
|
||||
|
||||
extern int __use_tzfile;
|
||||
extern void __tzfile_read __P ((const char *file));
|
||||
|
@ -40,7 +40,7 @@ extern int __tzfile_compute __P ((time_t timer, int use_localtime,
|
|||
long int *leap_correct, int *leap_hit));
|
||||
extern void __tzfile_default __P ((const char *std, const char *dst,
|
||||
long int stdoff, long int dstoff));
|
||||
extern char * __tzstring __P ((const char *string));
|
||||
extern char *__tzstring __P ((const char *string));
|
||||
|
||||
char *__tzname[2] = { (char *) "GMT", (char *) "GMT" };
|
||||
int __daylight = 0;
|
||||
|
|
196
timezone/Makefile
Normal file
196
timezone/Makefile
Normal file
|
@ -0,0 +1,196 @@
|
|||
# Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
|
||||
# The GNU C Library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of the
|
||||
# License, or (at your option) any later version.
|
||||
|
||||
# The GNU C Library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
# write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
#
|
||||
# Makefile for timezone information
|
||||
#
|
||||
subdir := timezone
|
||||
|
||||
distribute := tzfile.h private.h scheck.c ialloc.c yearistype \
|
||||
iso3166.tab zone.tab tzselect.ksh checktab.awk \
|
||||
README
|
||||
|
||||
extra-objs := scheck.o ialloc.o
|
||||
|
||||
others := zdump zic
|
||||
tests := test-tz
|
||||
|
||||
tzbases := africa antarctica asia australasia europe northamerica \
|
||||
southamerica etcetera factory systemv \
|
||||
solar87 solar88 solar89
|
||||
tzlinks := backward
|
||||
tzfiles := $(tzbases) $(tzlinks)
|
||||
# pacificnew doesn't compile; if it is to be used, it should be included in
|
||||
# northamerica.
|
||||
distribute += $(tzfiles) leapseconds pacificnew simplebackw
|
||||
|
||||
install-sbin := zic zdump
|
||||
|
||||
generated-dirs = testdata
|
||||
|
||||
all: # Make this the default target; it will be defined in Rules.
|
||||
|
||||
include ../Makeconfig # Get objpfx defined so we can use it below.
|
||||
|
||||
# z.* use this variable.
|
||||
define nl
|
||||
|
||||
|
||||
endef
|
||||
ifneq ($(no_deps),t)
|
||||
-include $(addprefix $(objpfx)z.,$(tzfiles))
|
||||
endif
|
||||
|
||||
# Make these absolute file names.
|
||||
installed-localtime-file := $(firstword $(filter /%,$(inst_localtime-file)) \
|
||||
$(addprefix $(inst_zonedir)/, \
|
||||
$(localtime-file)))
|
||||
installed-posixrules-file := $(firstword $(filter /%,$(posixrules-file)) \
|
||||
$(addprefix $(inst_zonedir)/, \
|
||||
$(posixrules-file)))
|
||||
|
||||
ifeq ($(cross-compiling),no)
|
||||
# Don't try to install the zoneinfo files since we can't run zic.
|
||||
install-others = $(addprefix $(inst_zonedir)/,$(zonenames) \
|
||||
$(zonenames:%=posix/%) \
|
||||
$(zonenames:%=right/%)) \
|
||||
$(installed-localtime-file) $(installed-posixrules-file)
|
||||
endif
|
||||
|
||||
ifeq ($(have-ksh),yes)
|
||||
install-others += $(inst_zonedir)/iso3166.tab $(inst_zonedir)/zone.tab
|
||||
install-bin += tzselect
|
||||
generated += tzselect
|
||||
endif
|
||||
|
||||
include ../Rules
|
||||
|
||||
|
||||
$(tzfiles:%=$(objpfx)z.%): $(objpfx)z.%: % Makefile
|
||||
# Kludge alert: we use an implicit rule (in what we are generating here)
|
||||
# because that is the only way to tell Make that the one command builds all
|
||||
# the files.
|
||||
# The extra kludge for the $(tzlinks) files is necessary since running zic
|
||||
# this file requires all other files to exist. Blech!
|
||||
(echo 'define $*-zones' ;\
|
||||
awk '$$1 == "Zone" { print $$2 } $$1 == "Link" { print $$3 }' $^ ;\
|
||||
echo 'endef' ;\
|
||||
echo '$*-zones := $$(subst $$(nl), ,$$($*-zones))' ;\
|
||||
echo 'ifdef $*-zones' ;\
|
||||
if test x$(findstring $*, $(tzlinks)) != x; then \
|
||||
echo '$$(addprefix $$(inst_zonedir)/right/,$$($*-zones)): \';\
|
||||
echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/right/,
|
||||
$$($$t-zones)))' ;\
|
||||
echo '$$(addprefix $$(inst_zonedir)/posix/,$$($*-zones)): \';\
|
||||
echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/posix/,
|
||||
$$($$t-zones)))' ;\
|
||||
echo '$$(addprefix $$(inst_zonedir)/,$$($*-zones)): \' ;\
|
||||
echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/,$$($$t
|
||||
-zones)))' ;\
|
||||
fi ;\
|
||||
echo '$$(addprefix $$(inst_datadir)/zone%/right/,$$($*-zones)): \' ;\
|
||||
echo '$< $$(objpfx)zic leapseconds yearistype' ;\
|
||||
echo ' $$(tzcompile)' ;\
|
||||
echo '$$(addprefix $$(inst_datadir)/zone%/posix/,$$($*-zones)): \' ;\
|
||||
echo '$< $$(objpfx)zic /dev/null yearistype' ;\
|
||||
echo ' $$(tzcompile)' ;\
|
||||
echo '$$(addprefix $$(inst_datadir)/zone%/,$$($*-zones)): \' ;\
|
||||
echo '$< $$(objpfx)zic $$(leapseconds) yearistype' ;\
|
||||
echo ' $$(tzcompile)' ;\
|
||||
echo 'endif' ;\
|
||||
echo 'zonenames := $$(zonenames) $$($*-zones)' ;\
|
||||
) > $@.new
|
||||
mv $@.new $@
|
||||
|
||||
.PHONY: echo-zonenames
|
||||
echo-zonenames:
|
||||
@echo 'Known zones: $(zonenames)'
|
||||
|
||||
|
||||
# We have to use `-d $(inst_zonedir)' to explictly tell zic where to
|
||||
# place the output files although $(zonedir) is compiled in. But the
|
||||
# user might have set $(install_root) on the command line of `make install'.
|
||||
zic-cmd = $(built-program-cmd) -d $(inst_zonedir)
|
||||
tzcompile = $(zic-cmd)$(target-zone-flavor) -L $(word 3,$^) \
|
||||
-y $(dir $(word 4,$^))$(notdir $(word 4,$^)) $<
|
||||
|
||||
# The source files specify the zone names relative to the -d directory,
|
||||
# so for the posix/ and right/ flavors we need to pass -d $(inst_zonedir)/posix
|
||||
# and the like. This magic extracts /posix or /right if it's the first
|
||||
# component after $(inst_zonedir) in the target name $@.
|
||||
target-zone-flavor = $(filter /posix /right, \
|
||||
/$(firstword $(subst /, , \
|
||||
$(patsubst $(inst_zonedir)/%,%,$@))))
|
||||
|
||||
ifdef localtime
|
||||
$(installed-localtime-file): $(inst_zonedir)/$(localtime) $(objpfx)zic
|
||||
$(make-target-directory)
|
||||
if test -r $@; then \
|
||||
echo Site timezone NOT reset to Factory.; \
|
||||
else \
|
||||
rm -f $@T; \
|
||||
$(SHELL) $(..)/rellns-sh $< $@T; \
|
||||
mv -f $@T $@; \
|
||||
fi
|
||||
endif
|
||||
ifdef posixrules
|
||||
$(installed-posixrules-file): $(inst_zonedir)/$(posixrules) $(objpfx)zic
|
||||
$(zic-cmd) -p $(posixrules)
|
||||
endif
|
||||
|
||||
|
||||
$(objpfx)zic: $(objpfx)scheck.o $(objpfx)ialloc.o
|
||||
|
||||
tz-cflags = -DTZDIR='"$(zonedir)"' \
|
||||
-DTZDEFAULT='"$(localtime-file)"' \
|
||||
-DTZDEFRULES='"$(posixrules-file)"'
|
||||
|
||||
CFLAGS-zdump.c = -Wno-strict-prototypes -DNOID
|
||||
CFLAGS-zic.c = -Wno-strict-prototypes -DNOID $(tz-cflags)
|
||||
CFLAGS-ialloc.c = -Wno-strict-prototypes -DNOID
|
||||
CFLAGS-scheck.c = -Wno-strict-prototypes -DNOID
|
||||
CFLAGS-tzfile.c = $(tz-cflags)
|
||||
CFLAGS-tzset.c = $(tz-cflags)
|
||||
|
||||
# We have to make sure the data for testing the tz functions is available.
|
||||
$(objpfx)test-tz.out: $(addprefix $(objpfx)testdata/, America/New_York \
|
||||
Etc/UTC UTC)
|
||||
|
||||
$(objpfx)testdata/America/New_York: northamerica $(objpfx)zic \
|
||||
$(leapseconds) yearistype
|
||||
$(built-program-cmd) -d $(objpfx)testdata -L $(leapseconds) \
|
||||
-y yearistype northamerica
|
||||
$(objpfx)testdata/Etc/UTC: etcetera $(objpfx)zic $(leapseconds) yearistype
|
||||
$(built-program-cmd) -d $(objpfx)testdata -L $(leapseconds) \
|
||||
-y yearistype etcetera
|
||||
$(objpfx)testdata/UTC: simplebackw $(objpfx)zic $(objpfx)testdata/Etc/UTC \
|
||||
$(leapseconds) yearistype
|
||||
$(built-program-cmd) -d $(objpfx)testdata -L $(leapseconds) \
|
||||
-y yearistype simplebackw
|
||||
|
||||
test-tz-ENV = TZDIR=$(objpfx)testdata
|
||||
|
||||
|
||||
$(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
|
||||
sed -e 's%@KSH@%$(KSH)%g' \
|
||||
-e 's%@TZDIR@%$(zonedir)%g' < $< > $@.new
|
||||
chmod 555 $@.new
|
||||
mv -f $@.new $@
|
||||
|
||||
$(addprefix $(inst_zonedir)/,iso3166.tab zone.tab): $(inst_zonedir)/%: %
|
||||
$(do-install)
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
|
@ -69,7 +69,7 @@ typedef unsigned long int wctype_t;
|
|||
# if __BYTE_ORDER == __BIG_ENDIAN
|
||||
# define _ISwbit(bit) (1 << bit)
|
||||
# else /* __BYTE_ORDER == __LITTLE_ENDIAN */
|
||||
# define _ISwbit(bit) (bit < 8 ? 1UL << (bit + 24) : 1UL << (bit + 8))
|
||||
# define _ISwbit(bit) (bit < 8 ? 1UL << bit << 24 : 1UL << (bit + 8))
|
||||
# endif
|
||||
|
||||
enum
|
||||
|
|
Loading…
Reference in a new issue