Update timezone code from tzcode 2017b

System Internals / glibc - Joseph Myers [codesourcery.com] - 16 June 2017 07:09 EDT

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.

92bd70f Update timezone code from tzcode 2017b.
ChangeLog | 11 +
time/tzset.c | 2 +
timezone/Makefile | 3 +-
timezone/private.h | 182 ++++++++++----
timezone/tzfile.h | 52 ----
timezone/tzselect.ksh | 17 +-
timezone/zdump.c | 541 ++++++++++++++++++++++-----------------
timezone/zic.c | 684 +++++++++++++++++++++++++++++++-------------------
8 files changed, 877 insertions(+), 615 deletions(-)

Upstream: sourceware.org

  • Share