2021-01-02 19:32:25 +00:00
|
|
|
# Copyright (C) 1991-2021 Free Software Foundation, Inc.
|
1995-02-18 01:27:10 +00:00
|
|
|
# This file is part of the GNU C Library.
|
|
|
|
|
|
|
|
# The GNU C Library is free software; you can redistribute it and/or
|
2001-07-06 04:58:11 +00:00
|
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
|
|
# License as published by the Free Software Foundation; either
|
|
|
|
# version 2.1 of the License, or (at your option) any later version.
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
|
|
# 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
|
2001-07-06 04:58:11 +00:00
|
|
|
# Lesser General Public License for more details.
|
1995-02-18 01:27:10 +00:00
|
|
|
|
2001-07-06 04:58:11 +00:00
|
|
|
# You should have received a copy of the GNU Lesser General Public
|
2012-02-09 23:18:22 +00:00
|
|
|
# License along with the GNU C Library; if not, see
|
Prefer https to http for gnu.org and fsf.org URLs
Also, change sources.redhat.com to sourceware.org.
This patch was automatically generated by running the following shell
script, which uses GNU sed, and which avoids modifying files imported
from upstream:
sed -ri '
s,(http|ftp)(://(.*\.)?(gnu|fsf|sourceware)\.org($|[^.]|\.[^a-z])),https\2,g
s,(http|ftp)(://(.*\.)?)sources\.redhat\.com($|[^.]|\.[^a-z]),https\2sourceware.org\4,g
' \
$(find $(git ls-files) -prune -type f \
! -name '*.po' \
! -name 'ChangeLog*' \
! -path COPYING ! -path COPYING.LIB \
! -path manual/fdl-1.3.texi ! -path manual/lgpl-2.1.texi \
! -path manual/texinfo.tex ! -path scripts/config.guess \
! -path scripts/config.sub ! -path scripts/install-sh \
! -path scripts/mkinstalldirs ! -path scripts/move-if-change \
! -path INSTALL ! -path locale/programs/charmap-kw.h \
! -path po/libc.pot ! -path sysdeps/gnu/errlist.c \
! '(' -name configure \
-execdir test -f configure.ac -o -f configure.in ';' ')' \
! '(' -name preconfigure \
-execdir test -f preconfigure.ac ';' ')' \
-print)
and then by running 'make dist-prepare' to regenerate files built
from the altered files, and then executing the following to cleanup:
chmod a+x sysdeps/unix/sysv/linux/riscv/configure
# Omit irrelevant whitespace and comment-only changes,
# perhaps from a slightly-different Autoconf version.
git checkout -f \
sysdeps/csky/configure \
sysdeps/hppa/configure \
sysdeps/riscv/configure \
sysdeps/unix/sysv/linux/csky/configure
# Omit changes that caused a pre-commit check to fail like this:
# remote: *** error: sysdeps/powerpc/powerpc64/ppc-mcount.S: trailing lines
git checkout -f \
sysdeps/powerpc/powerpc64/ppc-mcount.S \
sysdeps/unix/sysv/linux/s390/s390-64/syscall.S
# Omit change that caused a pre-commit check to fail like this:
# remote: *** error: sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: last line does not end in newline
git checkout -f sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
2019-09-07 05:40:42 +00:00
|
|
|
# <https://www.gnu.org/licenses/>.
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# Makefile for time routines
|
|
|
|
#
|
|
|
|
subdir := time
|
|
|
|
|
2014-02-26 23:12:03 +00:00
|
|
|
include ../Makeconfig
|
|
|
|
|
2020-10-19 12:35:58 +00:00
|
|
|
headers := time.h sys/time.h sys/timeb.h bits/time.h \
|
Installed-header hygiene (BZ#20366): time.h types.
Many headers are expected to expose a subset of the type definitions
in time.h. time.h has a whole bunch of messy logic for conditionally
defining some its types and structs, but, as best I can tell, this
has never worked 100%. In particular, __need_timespec is ineffective
if _TIME_H has already been defined, which means that if you compile
#include <time.h>
#include <sched.h>
with e.g. -fsyntax-only -std=c89 -Wall -Wsystem-headers, you will get
In file included from test.c:2:0:
/usr/include/sched.h:74:57: warning: "struct timespec" declared inside
parameter list will not be visible outside of this definition or declaration
extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __THROW;
^~~~~~~~
And if you want to _use_ sched_rr_get_interval in a TU compiled that
way, you're hosed.
This patch replaces all of that with small bits/types/TYPE.h headers
as introduced earlier. time.h and bits/time.h are now *much* simpler,
and a lot of other headers are slightly simpler.
* time/time.h, bits/time.h, sysdeps/unix/sysv/linux/bits/time.h:
Remove all logic conditional on __need macros. Move all the
conditionally defined types to their own headers...
* time/bits/types/clock_t.h: Define clock_t here.
* time/bits/types/clockid_t.h: Define clockid_t here.
* time/bits/types/struct_itimerspec.h: Define struct itimerspec here.
* time/bits/types/struct_timespec.h: Define struct timespec here.
* time/bits/types/struct_timeval.h: Define struct timeval here.
* time/bits/types/struct_tm.h: Define struct tm here.
* time/bits/types/time_t.h: Define time_t here.
* time/bits/types/timer_t.h: Define timer_t here.
* time/Makefile: Install the new headers.
* bits/resource.h, io/fcntl.h, io/sys/poll.h, io/sys/stat.h
* io/utime.h, misc/sys/select.h, posix/sched.h, posix/sys/times.h
* posix/sys/types.h, resolv/netdb.h, rt/aio.h, rt/mqueue.h
* signal/signal.h, pthread/semaphore.h, sysdeps/nptl/pthread.h
* sysdeps/unix/sysv/linux/alpha/bits/resource.h
* sysdeps/unix/sysv/linux/alpha/sys/acct.h
* sysdeps/unix/sysv/linux/bits/resource.h
* sysdeps/unix/sysv/linux/bits/timex.h
* sysdeps/unix/sysv/linux/mips/bits/resource.h
* sysdeps/unix/sysv/linux/net/ppp_defs.h
* sysdeps/unix/sysv/linux/sparc/bits/resource.h
* sysdeps/unix/sysv/linux/sys/acct.h
* sysdeps/unix/sysv/linux/sys/timerfd.h
* sysvipc/sys/msg.h, sysvipc/sys/sem.h, sysvipc/sys/shm.h
* time/sys/time.h, time/sys/timeb.h
Use the new bits/types headers.
* include/time.h: Remove __need logic.
* include/bits/time.h
* include/bits/types/clock_t.h, include/bits/types/clockid_t.h
* include/bits/types/time_t.h, include/bits/types/timer_t.h
* include/bits/types/struct_itimerspec.h
* include/bits/types/struct_timespec.h
* include/bits/types/struct_timeval.h
* include/bits/types/struct_tm.h:
New wrapper headers.
2016-08-24 15:54:34 +00:00
|
|
|
bits/types/clockid_t.h bits/types/clock_t.h \
|
|
|
|
bits/types/struct_itimerspec.h \
|
|
|
|
bits/types/struct_timespec.h bits/types/struct_timeval.h \
|
|
|
|
bits/types/struct_tm.h bits/types/timer_t.h \
|
2020-10-19 14:51:48 +00:00
|
|
|
bits/types/time_t.h bits/types/struct_timeb.h
|
1995-02-18 01:27:10 +00:00
|
|
|
|
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.
1998-02-15 19:31:34 +00:00
|
|
|
routines := offtime asctime clock ctime ctime_r difftime \
|
2002-08-27 22:38:19 +00:00
|
|
|
gmtime localtime mktime time \
|
Use clock_settime to implement settimeofday.
Unconditionally, on all ports, use clock_settime to implement
settimeofday. Remove sysdeps/unix/clock_settime.c, which implemented
clock_settime by calling settimeofday; new OS ports must henceforth
provide a real implementation of clock_settime.
Hurd had a real implementation of settimeofday but not of
clock_settime; this patch converts it into an implementation of
clock_settime. It only supports CLOCK_REALTIME and microsecond
resolution; Hurd/Mach does not appear to have any support for
finer-resolution clocks.
The vestigial "set time zone" feature of settimeofday complicates the
generic settimeofday implementation a little. The only remaining uses
of this feature that aren't just bugs, are using it to inform the
Linux kernel of the offset between the hardware clock and UTC, on
systems where the hardware clock doesn't run in UTC (usually because
of dual-booting with Windows). There currently isn't any other way to
do this. However, the callers that do this call settimeofday with
_only_ the timezone argument non-NULL. Therefore, glibc's new
behavior is: callers of settimeofday must supply one and only one of
the two arguments. If both arguments are non-NULL, or both arguments
are NULL, the call fails and sets errno to EINVAL.
When only the timeval argument is supplied, settimeofday calls
__clock_settime(CLOCK_REALTIME), same as stime.
When only the timezone argument is supplied, settimeofday calls a new
internal function called __settimezone. On Linux, only, this function
will pass the timezone structure to the settimeofday system call. On
all other operating systems, and on Linux architectures that don't
define __NR_settimeofday, __settimezone is a stub that always sets
errno to ENOSYS and returns -1.
The settimeoday syscall is enabled on Linux by the flag
COMPAT_32BIT_TIME, which is an option to either 32-bits ABIs or COMPAT
builds (defined usually by 64-bit kernels that want to support 32-bit
ABIs, such as x86). The idea to future 64-bit time_t only ABIs
is to not provide settimeofday syscall.
The same semantics are implemented for Linux/Alpha's GLIBC_2.0 compat
symbol for settimeofday.
There are no longer any internal callers of __settimeofday, so the
internal prototype is removed.
Checked on x86_64-linux-gnu, i686-linux-gnu, powerpc64le-linux-gnu,
powerpc64-linux-gnu, powerpc-linux-gnu, and aarch64-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
2019-08-28 12:25:49 +00:00
|
|
|
gettimeofday settimeofday settimezone \
|
|
|
|
adjtime tzset tzfile getitimer setitimer \
|
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.
1998-02-15 19:31:34 +00:00
|
|
|
stime dysize timegm ftime \
|
2002-08-27 22:57:05 +00:00
|
|
|
getdate strptime strptime_l \
|
2011-12-24 05:40:15 +00:00
|
|
|
strftime wcsftime strftime_l wcsftime_l \
|
Use clock_settime to implement settimeofday.
Unconditionally, on all ports, use clock_settime to implement
settimeofday. Remove sysdeps/unix/clock_settime.c, which implemented
clock_settime by calling settimeofday; new OS ports must henceforth
provide a real implementation of clock_settime.
Hurd had a real implementation of settimeofday but not of
clock_settime; this patch converts it into an implementation of
clock_settime. It only supports CLOCK_REALTIME and microsecond
resolution; Hurd/Mach does not appear to have any support for
finer-resolution clocks.
The vestigial "set time zone" feature of settimeofday complicates the
generic settimeofday implementation a little. The only remaining uses
of this feature that aren't just bugs, are using it to inform the
Linux kernel of the offset between the hardware clock and UTC, on
systems where the hardware clock doesn't run in UTC (usually because
of dual-booting with Windows). There currently isn't any other way to
do this. However, the callers that do this call settimeofday with
_only_ the timezone argument non-NULL. Therefore, glibc's new
behavior is: callers of settimeofday must supply one and only one of
the two arguments. If both arguments are non-NULL, or both arguments
are NULL, the call fails and sets errno to EINVAL.
When only the timeval argument is supplied, settimeofday calls
__clock_settime(CLOCK_REALTIME), same as stime.
When only the timezone argument is supplied, settimeofday calls a new
internal function called __settimezone. On Linux, only, this function
will pass the timezone structure to the settimeofday system call. On
all other operating systems, and on Linux architectures that don't
define __NR_settimeofday, __settimezone is a stub that always sets
errno to ENOSYS and returns -1.
The settimeoday syscall is enabled on Linux by the flag
COMPAT_32BIT_TIME, which is an option to either 32-bits ABIs or COMPAT
builds (defined usually by 64-bit kernels that want to support 32-bit
ABIs, such as x86). The idea to future 64-bit time_t only ABIs
is to not provide settimeofday syscall.
The same semantics are implemented for Linux/Alpha's GLIBC_2.0 compat
symbol for settimeofday.
There are no longer any internal callers of __settimeofday, so the
internal prototype is removed.
Checked on x86_64-linux-gnu, i686-linux-gnu, powerpc64le-linux-gnu,
powerpc64-linux-gnu, powerpc-linux-gnu, and aarch64-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
2019-08-28 12:25:49 +00:00
|
|
|
timespec_get \
|
|
|
|
clock_getcpuclockid clock_getres \
|
Finish move of clock_* functions to libc. [BZ #24959]
In glibc 2.17, the functions clock_getcpuclockid, clock_getres,
clock_gettime, clock_nanosleep, and clock_settime were moved from
librt.so to libc.so, leaving compatibility stubs behind. Now that the
dynamic linker no longer insists on finding versioned symbols in the
same library that originally defined them, we do not need the stubs
anymore, and this means we don't need GLIBC_PRIVATE __-prefix aliases
for most of the functions anymore either. (clock_gettime still needs
one.) For ports added before 2.17, libc.so needs to provide two
symbol versions for each, the default at GLIBC_2.17 plus a compat
version matching what librt had.
While I'm at it, move the clock_*.c files and their tests from rt/ to
time/.
2019-09-04 06:18:57 +00:00
|
|
|
clock_gettime clock_settime clock_nanosleep
|
|
|
|
|
* locale/lc-time.c (_nl_init_era_entries, _nl_get_era_entry,
_nl_select_era_entry): Moved to ...
* time/era.c: ... here, new file.
(_nl_init_era_entries, _nl_get_era_entry, _nl_select_era_entry):
Add internal_function to definitions. Take an additional argument
giving the `struct locale_data *' to use.
* locale/lc-time.c (_get_alt_digit, _nl_get_walt_digit,
_nl_parse_alt_digit): Moved to ...
* time/alt_digit.c: ... here, new file.
* time/lc-time-cleanup.c: New file.
* locale/lc-time.c (_nl_postload_time, free_mem): Functions removed.
* locale/localeinfo.h (_nl_postload_time): Remove decl.
(_nl_cleanup_time): Declare it.
(_nl_get_era_entry, _nl_select_era_entry): Update decls.
(_get_alt_digit, _nl_get_walt_digit, _nl_parse_alt_digit): Likewise.
* time/Makefile (aux): New variable: era, alt_digit, lc-time-cleanup.
* time/strftime.c: Pass locale data to helper functions.
* time/strptime.c: Likewise.
* locale/localeinfo.h (struct locale_data): New member `private'
* locale/loadlocale.c (_nl_intern_locale_data): Initialize it.
(_nl_unload_locale): Call LOCALE->private.cleanup if it is set.
* locale/C-collate.c: Update initializer.
* locale/C-identification.c: Likewise.
* locale/C-measurement.c: Likewise.
* locale/C-telephone.c: Likewise.
* locale/C-address.c: Likewise.
* locale/C-name.c: Likewise.
* locale/C-paper.c: Likewise.
* locale/C-time.c: Likewise.
* locale/C-numeric.c: Likewise.
* locale/C-monetary.c: Likewise.
* locale/C-messages.c : Likewise.
* locale/C-ctype.c: Likewise.
* time/strptime.c [USE_IN_EXTENDED_LOCALE_MODEL] (_NL_CURRENT_WORD):
Redefine this too.
2002-08-28 23:11:21 +00:00
|
|
|
aux := era alt_digit lc-time-cleanup
|
Update.
* crypt/Makefile (distribute): Add ufc-crypt.h, crypt-private.h,
ufc.c, speeds.c, README.ufc-crypt, and Banner.
* sysdeps/sparc/Subdirs: New file.
* locale/Makefile (distribute): Add weightwc.h and
programs/localedef.h.
* time/Makefile (distribute): Add datemsk.
* sysdeps/ia64/Dist: Add softpipe.h.
* sysdeps/unix/sysv/aix/Dist: New file.
* posix/setpgrp.c: Moved to...
* sysdeps/generic/setpgrp.c: ...here. New file.
* io/mknod.c: Moved to...
* sysdeps/generic/mknod.c: ...here. New file.
* sysdeps/unix/sysv/linux/ia64/Dist: New file.
* sysdeps/unix/sysv/linux/sparc/Dist: Add sys/procfs.h.
* sysdeps/unix/sysv/linux/arm/Dist: Add oldgetrlimit64.c.
* sysdeps/powerpc/Dist: Add fprrest.S, fprsave.S, gprsave1.S,
gprsave0.S, gprrest1.S, and gprrest0.S.
* sysdeps/generic/Dist: Add bp-thunks.h, bp-sym.h, and bp-start.h.
* posix/Makefile (routines): Add spawnattr_getsigmask,
spawnattr_getschedpolicy, spawnattr_getschedparam,
spawnattr_setsigmask, spawnattr_setschedpolicy, and
spawnattr_setschedparam.
* posix/Versions: Add posix_spawnattr_getschedpolicy,
posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam, and
posix_spawnattr_setschedparam.
* posix/spawnattr_setschedparam.c: Fix typo.
* posix/spawnattr_setsigmask.c (posix_spawnattr_setsigmask):
Correct typo.
* login/programs/utmpd.c: Removed.
* login/programs/utmpd.h: Removed.
* login/programs/utmpd-private.h: Removed.
* Makefile (distribute): Add include/db_185.h and include/db.h.
* iconvdata/Makefile (distribute): Add iso-ir-165.c and
iso-ir-165.h.
* elf/Makefile (distribute): Add missing files.
* dlfcn/Makefile: Add back rules to include eval in libdl.so.
* elf/eval.c: Moved to...
* dlfcn/eval.c: ...here. New file.
* Makefile (distribute): Also distribute ChangeLog.1?.
2000-06-14 00:55:24 +00:00
|
|
|
|
2000-03-03 19:49:23 +00:00
|
|
|
tests := test_time clocktest tst-posixtz tst-strptime tst_wcsftime \
|
2004-12-02 22:16:35 +00:00
|
|
|
tst-getdate tst-mktime tst-mktime2 tst-ftime_l tst-strftime \
|
2007-02-09 01:33:57 +00:00
|
|
|
tst-mktime3 tst-strptime2 bug-asctime bug-asctime_r bug-mktime1 \
|
2020-10-19 12:35:58 +00:00
|
|
|
tst-strptime3 bug-getdate1 tst-strptime-whitespace tst-ftime \
|
Finish move of clock_* functions to libc. [BZ #24959]
In glibc 2.17, the functions clock_getcpuclockid, clock_getres,
clock_gettime, clock_nanosleep, and clock_settime were moved from
librt.so to libc.so, leaving compatibility stubs behind. Now that the
dynamic linker no longer insists on finding versioned symbols in the
same library that originally defined them, we do not need the stubs
anymore, and this means we don't need GLIBC_PRIVATE __-prefix aliases
for most of the functions anymore either. (clock_gettime still needs
one.) For ports added before 2.17, libc.so needs to provide two
symbol versions for each, the default at GLIBC_2.17 plus a compat
version matching what librt had.
While I'm at it, move the clock_*.c files and their tests from rt/ to
time/.
2019-09-04 06:18:57 +00:00
|
|
|
tst-tzname tst-y2039 bug-mktime4 tst-strftime2 tst-strftime3 \
|
2020-11-02 19:18:29 +00:00
|
|
|
tst-clock tst-clock2 tst-clock_nanosleep tst-cpuclock1 \
|
2021-01-25 11:51:41 +00:00
|
|
|
tst-adjtime tst-ctime tst-difftime
|
update from main archive 970118
Sun Jan 19 04:38:20 1997 Ulrich Drepper <drepper@cygnus.com>
* config.make.in (have-ksh, KSH): New variables. Will be filled
in by configure.
* configure.in: Add test for ksh like shell (prefer bash).
* time/Makefile (tests): Depend on install-test-data.
(distribute): Add simplebackw.
(generated-dirs): New variable.
[$(have-ksh)==yes] (install-others): Add iso3166.tab and zone.tab.
(install-bin): Add tzselect.
(install-test-data): Install the zoneinfo files which are needed
for the test case in the build directory.
(test-tz-ENV): New variable. Call test-tz program using data in
build directory.
* time/simpleback: New file.
* time/test-tz.c: Pretty print.
* time/tzfile.c: Use value of environment variable TZDIR as directory
to look for zone info files.
don't let search for DST data destroy already found values.
* time/tzselect.ksh: Use @KSH@ and @TZDIR@ to be substituted when
installing.
* time/tzset.c (__tzset_internal): Avoid freeing string twice.
Set DST zone name to normal zone name if no information is provided.
* time/mktime.c (mktime): Call __tzset_internal to use current
value of TZ.
* Makerules (common-clean): Remove $(generated-dirs) inclusing content.
* glibcbug.in: Fix several bugs. Reported by several people.
* elf/Makefile: Correct dependecies for $(objpfx)ldd.
* inet/netinet/ip.h: Define IPTOS_LOWCOST and IPTOS_MINCOST.
* locale/C-time.c: Update copyright.
* locale/localeinfo.h: Likewise.
* sysdeps/unix/bsd/bsd4.4/direntry.h: Likewise.
* locale/programs/ld-time.c (time_finish): Correct message string.
* locale/programs/linereader.c (lr_token): Use correctly `number'
not `digit' in message string.
* stdlib/strtol.c [UNSIGNED]: Don't punt immediately when `-' is
seen. Instead return ULONG_MAX and set ERANGE.
* stdlib/tst-strtol.c: Correct test to reflect above change.
Sun Jan 19 03:22:30 1997 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sys/mtio.h: Don't use <linux/mtio.h>.
We must not use <linux/posix_types.h>.
* sysdeps/unix/sysv/linux/sys/ipc_buf.h: Don't use __kernel_* types
since we must not use <linux/posix_types.h>.
* sysdeps/unix/sysv/linux/sys/procfs.h: Likewise.
* sysdeps/unix/sysv/linux/alpha/sys/ipc_buf.h: New file. Similar
to sysdeps/unix/sysv/linux/sys/ipc_buf.h, but use alpha relavent
types.
* sysdeps/unix/sysv/linux/alpha/sys/procfs.h: New file. Similar
to sysdeps/unix/sysv/linux/sys/procfs.h, but use alpha relavent
types.
Sun Jan 19 01:48:20 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
* sysdeps/libm-i387/e_exp.S: Correct computation of fractional
part.
* sysdeps/libm-i387/e_expf.S: Likewise.
* sysdeps/libm-i387/e_expl.S: Likewise.
* sysdeps/libm-i387/s_expm1.S: Correct computation of fractional
part. Take care of additional value left on stack by fscale.
* sysdeps/libm-i387/s_expm1f.S: Likewise.
* sysdeps/libm-i387/s_expm1l.S: Likewise.
Fri Jan 17 17:45:32 1997 Ulrich Drepper <drepper@cygnus.com>
* posix/getopt.c: Change all direct usages of `gettext' to `_'.
* sysdeps/generic/sysd-stdio.c (__stdio_reopen): Add missing
parameter.
Reported by Harmanjit Singh <harman@netearth.iitd.ernet.in>.
Thu Jan 16 23:39:25 1997 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/Makefile (tests): Add scanf11.
* stdio-common/scanf11.c: New file.
* stdio-common/vfscanf.c (__vfscanf): Increment `done' when %n
was processed and value is not suppressed.
* stdio-common/bug10.c: Correct test to expect %n increment the
return value of scanf.
* stdio-common/scanf1.c: Likewise.
* stdio-common/scanf3.c: Likewise.
* stdio-common/scanf10.c: Likewise.
* stdio-common/tstdiomisc.c: Likewise.
* time/strptime.c: Add lots of conditional compiling to enable use
outside glibc. When used in glibc, make sure C locale format
strings will always be recognized.
Sat Jan 11 18:53:47 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/sys/sysmacros.h (major, minor, makedev):
Fix definitions so that they work with __kernel_dev_t.
Sat Jan 11 14:24:10 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/kernel_sigaction.h,
sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h,
sysdeps/unix/sysv/linux/sigaction.c: New files.
* sysdeps/unix/sysv/linux/syscalls.list: Add s_sigaction.
Sun Jan 12 15:22:33 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libc-symbols.h (link_warning): Make sure that the .gnu.warning
section is not allocated.
Update and reformat copyright.
Sun Jan 12 12:19:28 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/Makefile ($(objpfx)ldd): Fix depedency list.
Sat Jan 11 15:11:26 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)sysd-syscalls): Fix
command so that it works in subdirectories.
Wed Jan 8 22:07:58 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/i386/syscalls.list: Add s_getgroups and
s_setgroups.
* sysdeps/unix/sysv/linux/m68k/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/i386/getgroups.c,
sysdeps/unix/sysv/linux/i386/setgroups.c,
sysdeps/unix/sysv/linux/m68k/getgroups.c,
sysdeps/unix/sysv/linux/m68k/setgroups.c: New files.
Wed Jan 8 19:42:59 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (config.status): Delete bogus rule.
($(objpfx)glibcbug): Renamed from plain `glibcbug', depend on
config.status in build directory, fix command to change to build
directory.
* Makeconfig ($(common-objpfx)config.status): Depend on version.h.
Thu Jan 9 08:47:54 1997 Andreas Jaeger <aj@arthur.pfalz.de>
* glibcbug.in (while): We test for four and not five conditions,
set MAIL_AGENT instead of RMAIL, filter spaces and tabs.
Thu Jan 16 22:00:27 1997 Ulrich Drepper <drepper@cygnus.com>
* misc/syslog.c: Don't define cancel_handler if _LIBC_REENTRANT
is not defined. Reported by Andreas Jaeger.
Thu Jan 9 08:47:54 1997 Andreas Jaeger <aj@arthur.pfalz.de>
* new-malloc/malloc.c (__MALLOC_P): define call to pthread
initializer only if NO_THREADS is not defined.
Wed Jan 8 21:28:58 1997 Andreas Jaeger <aj@arthur.pfalz.de>
* resolv/nss_dns/dns-host.c: Clean-up: delete unnecessary includes
and variables.
Thu Jan 16 21:50:27 1997 Ulrich Drepper <drepper@cygnus.com>
* inet/arpa/inet.h: Include <netinet/in.h> to get struct in_addr
defined.
Tue Jan 7 17:29:59 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules (LDLIBS-c.so): New variable.
Tue Jan 7 19:22:00 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(includedir)/gnu/lib-names.h): Define the library
names as strings, not as sequence of tokens that may fall apart.
Fri Jan 10 14:08:41 1997 Roland McGrath <roland@fmh.frob.com>
* time/tzfile.c (__tzfile_read): Check for bogus type and zone name
indices in data file and punt, so a bogus file can't crash us.
Thu Jan 16 20:29:15 1997 Ulrich Drepper <drepper@cygnus.com>
* values.h [__USE_MISC]: Define BITSPERBYTE.
Fri Jan 17 14:16:28 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* stdio/vdprintf.c: Moved file to ...
* sysdeps/posix/vdprintf.c: Here. De-ansideclificate.
* sysdeps/stub/vdprintf.c: New file.
* sysdeps/mach/hurd/vdprintf.c: New file.
Thu Jan 9 15:59:35 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* sysdeps/mach/hurd/posix_opt.h: New file.
* sysdeps/mach/hurd/sigwait.c (sigwait): Don't affect signal mask.
* sysdeps/unix/bsd/tcsendbrk.c (tcsendbreak): Finish
deansideclification.
* sysdeps/mach/libc-lock.h: Add kludges to pretend to implement
recursive locks.
Tue Jan 7 09:48:15 1997 Andreas Jaeger <aj@arthur.pfalz.de>
* signal/sigempty.c (sigemptyset): Correct typo: Empty set should
have all bits zero.
1997-01-19 04:54:28 +00:00
|
|
|
|
1995-02-18 01:27:10 +00:00
|
|
|
include ../Rules
|
1998-02-17 15:15:51 +00:00
|
|
|
|
2015-10-12 10:24:41 +00:00
|
|
|
ifeq ($(run-built-tests),yes)
|
Implement alternative month names (bug 10871).
Some languages (Slavic, Baltic, etc.) require a genitive case of the
month name when formatting a full date (with the day number) while
they require a nominative case when referring to the month standalone.
This requirement cannot be fulfilled without providing two forms for
each month name. From now it is specified that nl_langinfo(MON_1)
series (up to MON_12) and strftime("%B") generate the month names in
the grammatical form used when the month is a part of a complete date.
If the grammatical form used when the month is named by itself is needed,
the new values nl_langinfo(ALTMON_1) (up to ALTMON_12) and
strftime("%OB") are supported. This new feature is optional so the
languages which do not need it or do not yet provide the updated
locales simply do not use it and their behaviour is unchanged.
[BZ #10871]
* locale/C-time.c (_nl_C_LC_TIME): Add alternative month names,
define them as the same as primary full month names explicitly.
* locale/categories.def (LC_TIME): Add alt_mon and wide-alt_mon.
* locale/langinfo.h (__ALTMON_1, __ALTMON_2, __ALTMON_3, __ALTMON_4,
__ALTMON_5, __ALTMON_6, __ALTMON_7, __ALTMON_8, __ALTMON_9, __ALTMON_10,
__ALTMON_11, __ALTMON_12, _NL_WALTMON_1, _NL_WALTMON_2, _NL_WALTMON_3,
_NL_WALTMON_4, _NL_WALTMON_5, _NL_WALTMON_6, _NL_WALTMON_7,
_NL_WALTMON_8, _NL_WALTMON_9, _NL_WALTMON_10, _NL_WALTMON_11,
_NL_WALTMON_12): New enum constants.
[__USE_GNU] (ALTMON_1, ALTMON_2, ALTMON_3, ALTMON_4, ALTMON_5, ALTMON_6,
ALTMON_7, ALTMON_8, ALTMON_9, ALTMON_10, ALTMON_11, ALTMON_12): New
macros.
* locale/programs/ld-time.c (struct locale_time_t): Add alt_mon,
walt_mon, and alt_mon_defined members.
(time_output): Output alt_mon and walt_mon members.
(time_read): Read them, initialize them as copies of mon and wmon
respectively if they are missing, initialize alt_mon_defined.
* locale/programs/locfile-kw.gperf (alt_mon): Define.
* locale/programs/locfile-kw.h: Regenerate.
* locale/programs/locfile-token.h (tok_alt_mon): New enum constant.
* localedata/tst-langinfo.c (map): Add tests for the new constants
ALTMON_1 .. ALTMON_12.
* time/Makefile [$(run-built-tests) = yes] (LOCALES): Add fr_FR.UTF-8
and pl_PL.UTF-8.
* time/strftime_l.c (f_altmonth): New macro.
(__strftime_internal): Handle %OB format.
* time/strptime_l.c [_LIBC] (alt_month_name): New macro.
(__strptime_internal): Handle %OB format.
* time/tst-strptime.c (day_tests): Add tests to parse different forms
of month names including the new %OB format specifier.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2017-11-14 01:19:35 +00:00
|
|
|
LOCALES := de_DE.ISO-8859-1 en_US.ISO-8859-1 ja_JP.EUC-JP fr_FR.UTF-8 \
|
2019-01-24 14:04:12 +00:00
|
|
|
es_ES.UTF-8 pl_PL.UTF-8 ru_RU.UTF-8 \
|
2019-04-02 07:42:04 +00:00
|
|
|
ja_JP.UTF-8 lo_LA.UTF-8 th_TH.UTF-8 \
|
|
|
|
zh_TW.UTF-8 cmn_TW.UTF-8 hak_TW.UTF-8 \
|
|
|
|
nan_TW.UTF-8 lzh_TW.UTF-8
|
2015-10-12 10:24:41 +00:00
|
|
|
include ../gen-locales.mk
|
|
|
|
|
|
|
|
$(objpfx)tst-ftime_l.out: $(gen-locales)
|
|
|
|
$(objpfx)tst-strptime.out: $(gen-locales)
|
2019-10-08 17:32:17 +00:00
|
|
|
$(objpfx)tst-strftime2.out: $(gen-locales)
|
|
|
|
$(objpfx)tst-strftime3.out: $(gen-locales)
|
2015-10-12 10:24:41 +00:00
|
|
|
endif
|
|
|
|
|
1998-02-17 15:15:51 +00:00
|
|
|
tz-cflags = -DTZDIR='"$(zonedir)"' \
|
|
|
|
-DTZDEFAULT='"$(localtime-file)"' \
|
|
|
|
-DTZDEFRULES='"$(posixrules-file)"'
|
|
|
|
|
2017-12-11 21:11:16 +00:00
|
|
|
CFLAGS-tzfile.c += $(tz-cflags)
|
|
|
|
CFLAGS-tzset.c += $(tz-cflags)
|
|
|
|
CFLAGS-getdate.c += -fexceptions
|
2019-09-25 22:10:00 +00:00
|
|
|
CFLAGS-clock_nanosleep.c += -fexceptions -fasynchronous-unwind-tables
|
2019-11-05 19:59:36 +00:00
|
|
|
CFLAGS-nanosleep.c += -fexceptions -fasynchronous-unwind-tables
|
1998-11-16 12:02:08 +00:00
|
|
|
|
|
|
|
# Don't warn about Y2k problem in strftime format string.
|
2017-12-11 21:11:16 +00:00
|
|
|
CFLAGS-test_time.c += -Wno-format
|
2000-03-03 19:49:23 +00:00
|
|
|
|
2001-07-18 09:43:36 +00:00
|
|
|
tst-getdate-ENV= DATEMSK=datemsk TZDIR=${common-objpfx}timezone/testdata
|
2000-05-17 11:04:21 +00:00
|
|
|
test_time-ARGS= EST5EDT CST
|
2001-08-10 00:01:27 +00:00
|
|
|
|
2015-11-17 10:43:49 +00:00
|
|
|
tst-tzname-ENV = TZDIR=${common-objpfx}timezone/testdata
|
2017-12-11 21:11:16 +00:00
|
|
|
CPPFLAGS-tst-tzname.c += -DTZDEFRULES='"$(posixrules-file)"'
|
2015-11-17 10:43:49 +00:00
|
|
|
|
2007-12-10 01:43:40 +00:00
|
|
|
bug-getdate1-ARGS = ${objpfx}bug-getdate1-fmt
|