Update timezone code from tzcode 2017b.
authorJoseph Myers <joseph@codesourcery.com>
Fri, 16 Jun 2017 11:09:21 +0000 (11:09 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Fri, 16 Jun 2017 11:09:21 +0000 (11:09 +0000)
commit92bd70fb85bce57ac47ba5d8af008736832c955a
tree3fec830fb36ef1af2aaeb411f23dc76c3fcd7c15
parenta448ee41e70a0b1d26557ffce8e550fe4aad2525
Update timezone code from tzcode 2017b.

This patch updates files coming from tzcode to the versions in tzcode
2017b.  A couple of changes to other glibc code are needed.
time/tzset.c was using the SECSPERDAY macro from tzfile.h, which no
longer defines that macro, so a local definition is added to tzset.c.
Because timezone/private.h now defines the _ macro whenever
HAVE_GETTEXT is true, even if it was previously defined, it is also
necessary to avoid a conflict with the definition in
include/libintl.h.  Defining _ISOMAC is the obvious way to avoid such
internal definitions being visible, together with defining TZ_DOMAIN
so that zic and zdump continue to get the messages from the libc
domain as desired.  However, zic and zdump rely on PKGVERSION and
REPORT_BUGS_TO from config.h, which is not included by default with
_ISOMAC, so -include config.h needs adding to the options for these
programs as well.  Together those changes allow unmodified tzcode
2017b sources to work in glibc.

Tested for x86_64.

* timezone/private.h: Update from tzcode 2017b.
* timezone/tzfile.h: Likewise.
* timezone/tzselect.ksh: Likewise.
* timezone/zdump.c: Likewise.
* timezone/zic.c: Likewise.
* timezone/Makefile (tz-cflags): Add -D_ISOMAC
-DTZ_DOMAIN='"libc"' -include $(common-objpfx)config.h.
* time/tzset.c (SECSPERDAY): New macro.
ChangeLog
time/tzset.c
timezone/Makefile
timezone/private.h
timezone/tzfile.h
timezone/tzselect.ksh
timezone/zdump.c
timezone/zic.c