mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-17 00:20:08 +00:00
Update.
1999-10-08 Ulrich Drepper <drepper@cygnus.com> * nis/nss_nisplus/nisplus-parser.c (_nss_nisplus_parse_spent): Fix handling of empty entries. Patch by Thorsten Kukuk <kukuk@suse.de>. 1999-10-08 Andreas Schwab <schwab@suse.de> * debug/xtrace.sh: Fix quoting bugs. Implement --help and --version. 1999-10-08 Andreas Schwab <schwab@suse.de> * debug/pcprofiledump.c: Fix typos. 1999-10-07 Andreas Jaeger <aj@suse.de> * math/Makefile (tests): Added basic-tests. * math/basic-test.c: New file. Contains function basic_tests from libm-test. 1999-10-07 Andreas Schwab <schwab@suse.de> * malloc/memprof.sh: Fix quoting bugs. 1999-10-08 Ulrich Drepper <drepper@cygnus.com> * timezone/europe: Update from tzdata1999h.
This commit is contained in:
parent
9640bbe1c1
commit
b5c6276a6e
29
ChangeLog
29
ChangeLog
@ -1,3 +1,32 @@
|
||||
1999-10-08 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* nis/nss_nisplus/nisplus-parser.c (_nss_nisplus_parse_spent): Fix
|
||||
handling of empty entries.
|
||||
Patch by Thorsten Kukuk <kukuk@suse.de>.
|
||||
|
||||
1999-10-08 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* debug/xtrace.sh: Fix quoting bugs. Implement --help and --version.
|
||||
|
||||
1999-10-08 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* debug/pcprofiledump.c: Fix typos.
|
||||
|
||||
1999-10-07 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* math/Makefile (tests): Added basic-tests.
|
||||
|
||||
* math/basic-test.c: New file. Contains function basic_tests from
|
||||
libm-test.
|
||||
|
||||
1999-10-07 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* malloc/memprof.sh: Fix quoting bugs.
|
||||
|
||||
1999-10-08 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* timezone/europe: Update from tzdata1999h.
|
||||
|
||||
1999-10-07 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* elf/elf.h: Update from last gABI draft.
|
||||
|
@ -81,6 +81,9 @@ COLUMNS=${COLUMNS:-80}
|
||||
# If `TERM' is not set, set it to `xterm'.
|
||||
TERM=${TERM:-xterm}
|
||||
|
||||
# The data file to process, if any.
|
||||
data=
|
||||
|
||||
# Process arguments. But stop as soon as the program name is found.
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
@ -94,6 +97,12 @@ while test $# -gt 0; do
|
||||
--d=* | --da=* | --dat=* | --data=*)
|
||||
data=${1##*=}
|
||||
;;
|
||||
-? | --h | --he | --hel | --help)
|
||||
do_help
|
||||
;;
|
||||
--v | --ve | --ver | --vers | --versi | --versio | --version)
|
||||
do_version
|
||||
;;
|
||||
--)
|
||||
# Stop processing arguments.
|
||||
shift
|
||||
@ -133,9 +142,9 @@ fi
|
||||
printf "%-20s %-*s %6s\n" Function $(expr $COLUMNS - 30) File Line
|
||||
for i in $(seq 1 $COLUMNS); do echo -n -; done; echo
|
||||
if test -n "$data"; then
|
||||
eval $pcprofiledump $data |
|
||||
$pcprofiledump "$data" |
|
||||
sed 's/this = \([^,]*\).*/\1/' |
|
||||
addr2line -fC -e $program |
|
||||
addr2line -fC -e "$program" |
|
||||
while read fct; do
|
||||
read file
|
||||
if test "$fct" != '??' -a "$file" != '??:0'; then
|
||||
@ -146,9 +155,9 @@ else
|
||||
fifo=$(mktemp -u ${TMPDIR:-/tmp}/xprof.XXXXXX)
|
||||
mkfifo -m 0600 $fifo || exit 1
|
||||
# Now start the program and let it write to the FIFO.
|
||||
eval $TERM -T "'xtrace - $program $*'" -e /bin/sh -c "'LD_PRELOAD=$pcprofileso PCPROFILE_OUTPUT=$fifo $program $*; read $fifo'" &
|
||||
$TERM -T "xtrace - $program $*" -e /bin/sh -c "LD_PRELOAD=$pcprofileso PCPROFILE_OUTPUT=$fifo $program $*; read $fifo" &
|
||||
termpid=$!
|
||||
eval $pcprofiledump $fifo |
|
||||
$pcprofiledump $fifo |
|
||||
sed 's/this = \([^,]*\).*/\1/' |
|
||||
addr2line -fC -e $program |
|
||||
while read fct; do
|
||||
|
@ -1,3 +1,7 @@
|
||||
1999-10-08 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* shlib-versions: New file.
|
||||
|
||||
1999-10-07 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* Makefile: New file.
|
||||
|
2
linuxthreads_db/shlib-versions
Normal file
2
linuxthreads_db/shlib-versions
Normal file
@ -0,0 +1,2 @@
|
||||
# The thread debug library
|
||||
.*-.*-linux.* libthread_db=1
|
@ -19,7 +19,7 @@
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include "thread_dbP.h"
|
||||
|
||||
#include <gnu/lib-names.h>
|
||||
|
||||
td_err_e
|
||||
td_ta_get_nthreads (const td_thragent_t *ta, int *np)
|
||||
@ -29,7 +29,7 @@ td_ta_get_nthreads (const td_thragent_t *ta, int *np)
|
||||
LOG (__FUNCTION__);
|
||||
|
||||
/* Access the variable `__pthread_handles_num'. */
|
||||
if (ps_pglobal_lookup (ta->ph, "libpthread.so.0", "__pthread_handles_num",
|
||||
if (ps_pglobal_lookup (ta->ph, LIBPTHREAD_SO, "__pthread_handles_num",
|
||||
&addr) != PS_OK)
|
||||
return TD_ERR; /* XXX Other error value? */
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <gnu/lib-names.h>
|
||||
|
||||
#include "thread_dbP.h"
|
||||
|
||||
@ -33,7 +34,7 @@ td_ta_new (struct ps_prochandle *ps, td_thragent_t **ta)
|
||||
LOG (__FUNCTION__);
|
||||
|
||||
/* See whether the library contains the necessary symbols. */
|
||||
if (ps_pglobal_lookup (ps, "libpthread.so.0", "__pthread_threads_debug",
|
||||
if (ps_pglobal_lookup (ps, LIBPTHREAD_SO, "__pthread_threads_debug",
|
||||
&addr) != PS_OK)
|
||||
return TD_LIBTHREAD;
|
||||
|
||||
@ -47,7 +48,7 @@ td_ta_new (struct ps_prochandle *ps, td_thragent_t **ta)
|
||||
(*ta)->ph = ps;
|
||||
|
||||
/* See whether the library contains the necessary symbols. */
|
||||
if (ps_pglobal_lookup (ps, "libpthread.so.0", "__pthread_handles",
|
||||
if (ps_pglobal_lookup (ps, LIBPTHREAD_SO, "__pthread_handles",
|
||||
&addr) != PS_OK)
|
||||
{
|
||||
free_return:
|
||||
@ -58,7 +59,7 @@ td_ta_new (struct ps_prochandle *ps, td_thragent_t **ta)
|
||||
(*ta)->handles = (struct pthread_handle_struct *) addr;
|
||||
|
||||
|
||||
if (ps_pglobal_lookup (ps, "libpthread.so.0", "pthread_keys",
|
||||
if (ps_pglobal_lookup (ps, LIBPTHREAD_SO, "pthread_keys",
|
||||
&addr) != PS_OK)
|
||||
goto free_return;
|
||||
|
||||
@ -68,7 +69,7 @@ td_ta_new (struct ps_prochandle *ps, td_thragent_t **ta)
|
||||
/* Find out about the maximum number of threads. Old implementations
|
||||
don't provide this information. In this case we assume that the
|
||||
debug library is compiled with the same values. */
|
||||
if (ps_pglobal_lookup (ps, "libpthread.so.0",
|
||||
if (ps_pglobal_lookup (ps, LIBPTHREAD_SO,
|
||||
"__linuxthreads_pthread_threads_max", &addr) != PS_OK)
|
||||
(*ta)->pthread_threads_max = PTHREAD_THREADS_MAX;
|
||||
else
|
||||
@ -79,7 +80,7 @@ td_ta_new (struct ps_prochandle *ps, td_thragent_t **ta)
|
||||
}
|
||||
|
||||
/* Similar for the maximum number of thread local data keys. */
|
||||
if (ps_pglobal_lookup (ps, "libpthread.so.0",
|
||||
if (ps_pglobal_lookup (ps, LIBPTHREAD_SO,
|
||||
"__linuxthreads_pthread_keys_max", &addr) != PS_OK)
|
||||
(*ta)->pthread_keys_max = PTHREAD_KEYS_MAX;
|
||||
else
|
||||
@ -90,7 +91,7 @@ td_ta_new (struct ps_prochandle *ps, td_thragent_t **ta)
|
||||
}
|
||||
|
||||
/* And for the size of the second level arrays for the keys. */
|
||||
if (ps_pglobal_lookup (ps, "libpthread.so.0",
|
||||
if (ps_pglobal_lookup (ps, LIBPTHREAD_SO,
|
||||
"__linuxthreads_pthread_sizeof_descr", &addr)
|
||||
!= PS_OK)
|
||||
(*ta)->sizeof_descr = offsetof (struct _pthread_descr_struct, p_startfct);
|
||||
@ -101,7 +102,7 @@ td_ta_new (struct ps_prochandle *ps, td_thragent_t **ta)
|
||||
}
|
||||
|
||||
/* Similar for the maximum number of thread local data keys. */
|
||||
if (ps_pglobal_lookup (ps, "libpthread.so.0",
|
||||
if (ps_pglobal_lookup (ps, LIBPTHREAD_SO,
|
||||
"__linuxthreads_pthread_keys_max", &addr) != PS_OK)
|
||||
(*ta)->pthread_keys_max = PTHREAD_KEYS_MAX;
|
||||
else
|
||||
|
@ -291,7 +291,7 @@ extern td_err_e td_init (void);
|
||||
/* Historical relict. Should not be used anymore. */
|
||||
extern td_err_e td_log (void);
|
||||
|
||||
/* Generate new thread debu librarz handle for process PS. */
|
||||
/* Generate new thread debug library handle for process PS. */
|
||||
extern td_err_e td_ta_new (struct ps_prochandle *__ps, td_thragent_t **__ta);
|
||||
|
||||
/* Free resources allocated for TA. */
|
||||
@ -316,7 +316,7 @@ extern td_err_e td_ta_map_lwp2thr (const td_thragent_t *__ta, lwpid_t __lwpid,
|
||||
td_thrhandle_t *__th);
|
||||
|
||||
|
||||
/* Call for each thread is process associated with TA the callback function
|
||||
/* Call for each thread in a process associated with TA the callback function
|
||||
CALLBACK. */
|
||||
extern td_err_e td_ta_thr_iter (const td_thragent_t *__ta,
|
||||
td_thr_iter_f *__callback, void *__cbdata_p,
|
||||
@ -344,7 +344,7 @@ extern td_err_e td_ta_enable_stats (const td_thragent_t *__ta, int __enable);
|
||||
/* Reset statistics. */
|
||||
extern td_err_e td_ta_reset_stats (const td_thragent_t *__ta);
|
||||
|
||||
/* Retrieve statitics from process associated with TA. */
|
||||
/* Retrieve statistics from process associated with TA. */
|
||||
extern td_err_e td_ta_get_stats (const td_thragent_t *__ta,
|
||||
td_ta_stats_t *__statsp);
|
||||
|
||||
|
@ -201,6 +201,7 @@ fi
|
||||
add_env="LD_PRELOAD=$memprofso"
|
||||
|
||||
# Generate data file name.
|
||||
datafile=
|
||||
if test -n "$data"; then
|
||||
datafile="$data"
|
||||
elif test -n "$png"; then
|
||||
@ -229,21 +230,22 @@ if test -n "$notimer"; then
|
||||
fi
|
||||
|
||||
# Execute the program itself.
|
||||
eval $add_env $*
|
||||
eval $add_env '"$@"'
|
||||
result=$?
|
||||
|
||||
# Generate the PNG data file is wanted and there is something to generate
|
||||
# Generate the PNG data file if wanted and there is something to generate
|
||||
# it from.
|
||||
if test -n "$png" -a -s "$datafile"; then
|
||||
if test -n "$png" -a -n "$datafile" -a -s "$datafile"; then
|
||||
# Append extension .png if it isn't already there.
|
||||
if test $png = ${png%*.png}; then
|
||||
png="$png.png"
|
||||
fi
|
||||
eval $memprofstat $memprofstat_args $datafile $png
|
||||
case $png in
|
||||
*.png) ;;
|
||||
*) png="$png.png" ;;
|
||||
esac
|
||||
$memprofstat $memprofstat_args "$datafile" "$png"
|
||||
fi
|
||||
|
||||
if test -z "$data" -a -n $datafile; then
|
||||
rm -f $datafile
|
||||
if test -z "$data" -a -n "$datafile"; then
|
||||
rm -f "$datafile"
|
||||
fi
|
||||
|
||||
exit $result
|
||||
|
@ -77,7 +77,7 @@ distribute += $(long-c-yes:=.c)
|
||||
# Rules for the test suite.
|
||||
tests = test-float test-double $(test-longdouble-$(long-double-fcts)) \
|
||||
test-ifloat test-idouble test-matherr test-fenv \
|
||||
atest-exp atest-sincos atest-exp2
|
||||
atest-exp atest-sincos atest-exp2 basic-test
|
||||
# We do the `long double' tests only if this data type is available and
|
||||
# distinct from `double'.
|
||||
test-longdouble-yes = test-ldouble test-ildoubl
|
||||
|
123
math/basic-test.c
Normal file
123
math/basic-test.c
Normal file
@ -0,0 +1,123 @@
|
||||
/* Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Andreas Jaeger <aj@suse.de>, 1999.
|
||||
|
||||
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 <math.h>
|
||||
#include <float.h>
|
||||
#include <stdio.h>
|
||||
|
||||
static int errors = 0;
|
||||
|
||||
|
||||
static void
|
||||
check (const char *testname, int result)
|
||||
{
|
||||
if (!result) {
|
||||
printf ("Failure: %s\n", testname);
|
||||
errors++;
|
||||
}
|
||||
}
|
||||
|
||||
#define TEST_FUNC(NAME, FLOAT, NANFUNC, EPSILON, HUGEVAL) \
|
||||
static void \
|
||||
NAME (void) \
|
||||
{ \
|
||||
/* Variables are declared volatile to forbid some compiler \
|
||||
optimizations. */ \
|
||||
volatile FLOAT Inf_var, NaN_var, zero_var, one_var; \
|
||||
FLOAT x1, x2; \
|
||||
\
|
||||
zero_var = 0.0; \
|
||||
one_var = 1.0; \
|
||||
NaN_var = zero_var/zero_var; \
|
||||
Inf_var = one_var / zero_var; \
|
||||
\
|
||||
(void) &zero_var; \
|
||||
(void) &one_var; \
|
||||
(void) &NaN_var; \
|
||||
(void) &Inf_var; \
|
||||
\
|
||||
\
|
||||
check (#FLOAT " isinf (inf) == 1", isinf (Inf_var) == 1); \
|
||||
check (#FLOAT " isinf (-inf) == -1", isinf (-Inf_var) == -1); \
|
||||
check (#FLOAT " !isinf (1)", !(isinf (one_var))); \
|
||||
check (#FLOAT " !isinf (NaN)", !(isinf (NaN_var))); \
|
||||
\
|
||||
check (#FLOAT " isnan (NaN)", isnan (NaN_var)); \
|
||||
check (#FLOAT " isnan (-NaN)", isnan (-NaN_var)); \
|
||||
check (#FLOAT " !isnan (1)", !(isnan (one_var))); \
|
||||
check (#FLOAT " !isnan (inf)", !(isnan (Inf_var))); \
|
||||
\
|
||||
check (#FLOAT " inf == inf", Inf_var == Inf_var); \
|
||||
check (#FLOAT " -inf == -inf", -Inf_var == -Inf_var); \
|
||||
check (#FLOAT " inf != -inf", Inf_var != -Inf_var); \
|
||||
check (#FLOAT " NaN != NaN", NaN_var != NaN_var); \
|
||||
\
|
||||
/* \
|
||||
the same tests but this time with NAN from <bits/nan.h> \
|
||||
NAN is a double const \
|
||||
*/ \
|
||||
check (#FLOAT " isnan (NAN)", isnan (NAN)); \
|
||||
check (#FLOAT " isnan (-NAN)", isnan (-NAN)); \
|
||||
check (#FLOAT " !isinf (NAN)", !(isinf (NAN))); \
|
||||
check (#FLOAT " !isinf (-NAN)", !(isinf (-NAN))); \
|
||||
check (#FLOAT " NAN != NAN", NAN != NAN); \
|
||||
\
|
||||
/* \
|
||||
And again with the value returned by the `nan' function. \
|
||||
*/ \
|
||||
check (#FLOAT " isnan (NAN)", isnan (NANFUNC (""))); \
|
||||
check (#FLOAT " isnan (-NAN)", isnan (-NANFUNC (""))); \
|
||||
check (#FLOAT " !isinf (NAN)", !(isinf (NANFUNC ("")))); \
|
||||
check (#FLOAT " !isinf (-NAN)", !(isinf (-NANFUNC ("")))); \
|
||||
check (#FLOAT " NAN != NAN", NANFUNC ("") != NANFUNC ("")); \
|
||||
\
|
||||
/* test if EPSILON is ok */ \
|
||||
x1 = 1.0; \
|
||||
x2 = x1 + EPSILON; \
|
||||
check (#FLOAT " 1 != 1+EPSILON", x1 != x2); \
|
||||
\
|
||||
x1 = 1.0; \
|
||||
x2 = x1 - EPSILON; \
|
||||
check (#FLOAT " 1 != 1-EPSILON", x1 != x2); \
|
||||
\
|
||||
/* test if HUGE_VALx is ok */ \
|
||||
x1 = HUGEVAL; \
|
||||
check (#FLOAT " isinf (HUGE_VALx) == +1", isinf (x1) == +1); \
|
||||
x1 = - HUGEVAL; \
|
||||
check (#FLOAT " isinf (-HUGE_VALx) == -1", isinf (x1) == -1); \
|
||||
}
|
||||
|
||||
TEST_FUNC (float_test, float, nanf, FLT_EPSILON, HUGE_VALF)
|
||||
TEST_FUNC (double_test, double, nan, DBL_EPSILON, HUGE_VAL)
|
||||
#ifndef NO_LONG_DOUBLE
|
||||
TEST_FUNC (ldouble_test, long double, nan, LDBL_EPSILON, HUGE_VALL)
|
||||
#endif
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
float_test ();
|
||||
double_test ();
|
||||
|
||||
#ifndef NO_LONG_DOUBLE
|
||||
ldouble_test ();
|
||||
#endif
|
||||
|
||||
return errors != 0;
|
||||
}
|
@ -307,7 +307,8 @@ _nss_nisplus_parse_spent (nis_result *result, struct spwd *sp,
|
||||
first_unused += (len + 1);
|
||||
|
||||
sp->sp_lstchg = sp->sp_min = sp->sp_max = sp->sp_warn = sp->sp_inact =
|
||||
sp->sp_expire = sp->sp_flag = -1;
|
||||
sp->sp_expire = -1;
|
||||
sp->sp_flag = ~0ul;
|
||||
|
||||
if (NISENTRYLEN (0, 7, result) > 0)
|
||||
{
|
||||
@ -316,49 +317,56 @@ _nss_nisplus_parse_spent (nis_result *result, struct spwd *sp,
|
||||
line = NISENTRYVAL (0, 7, result);
|
||||
cp = strchr (line, ':');
|
||||
if (cp == NULL)
|
||||
return 0;
|
||||
return 1;
|
||||
*cp++ = '\0';
|
||||
sp->sp_lstchg = atol (line);
|
||||
if (*line)
|
||||
sp->sp_lstchg = atol (line);
|
||||
|
||||
line = cp;
|
||||
cp = strchr (line, ':');
|
||||
if (cp == NULL)
|
||||
return 0;
|
||||
return 1;
|
||||
*cp++ = '\0';
|
||||
sp->sp_min = atol (line);
|
||||
if (*line)
|
||||
sp->sp_min = atol (line);
|
||||
|
||||
line = cp;
|
||||
cp = strchr (line, ':');
|
||||
if (cp == NULL)
|
||||
return 0;
|
||||
return 1;
|
||||
*cp++ = '\0';
|
||||
sp->sp_max = atol (line);
|
||||
if (*line)
|
||||
sp->sp_max = atol (line);
|
||||
|
||||
line = cp;
|
||||
cp = strchr (line, ':');
|
||||
if (cp == NULL)
|
||||
return 0;
|
||||
return 1;
|
||||
*cp++ = '\0';
|
||||
sp->sp_warn = atol (line);
|
||||
if (*line)
|
||||
sp->sp_warn = atol (line);
|
||||
|
||||
line = cp;
|
||||
cp = strchr (line, ':');
|
||||
if (cp == NULL)
|
||||
return 0;
|
||||
return 1;
|
||||
*cp++ = '\0';
|
||||
sp->sp_inact = atol (line);
|
||||
if (*line)
|
||||
sp->sp_inact = atol (line);
|
||||
|
||||
line = cp;
|
||||
cp = strchr (line, ':');
|
||||
if (cp == NULL)
|
||||
return 0;
|
||||
return 1;
|
||||
*cp++ = '\0';
|
||||
sp->sp_expire = atol (line);
|
||||
if (*line)
|
||||
sp->sp_expire = atol (line);
|
||||
|
||||
line = cp;
|
||||
if (line == NULL)
|
||||
return 0;
|
||||
sp->sp_flag = atol (line);
|
||||
return 1;
|
||||
if (*line)
|
||||
sp->sp_flag = atol (line);
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
@ -1,4 +1,4 @@
|
||||
# @(#)europe 7.64
|
||||
# @(#)europe 7.65
|
||||
|
||||
# This data is by no means authoritative; if you think you know better,
|
||||
# go ahead and edit the file (and please send any changes to
|
||||
@ -723,6 +723,23 @@
|
||||
# clear whether the islands were using GMT or local time then. The
|
||||
# changes in Alderney and Guernsey were at the same 2am GMT time as
|
||||
# for Great Britain; the order for Jersey is more interesting.
|
||||
#
|
||||
# From Paul Eggert (1999-10-06):
|
||||
# Mark Brader kindly translated the 1916 Jersey order from the French.
|
||||
# It says that the 1916 transitions were 05-20 and 09-30 at midnight.
|
||||
# Presumably this was 24:00, two hours earlier than Great Britain.
|
||||
# It also says that after 1916 they'll sync with Great Britain.
|
||||
|
||||
# From Joseph S. Myers (1999-09-28):
|
||||
# I have the 1918 orders for Guernsey, Alderney (both changing on same
|
||||
# dates as UK, 2am GMT) and Sark (same dates; start and end at 2am,
|
||||
# start "temps de Greenwich" (not specified as "temps moyen de
|
||||
# Greenwich" which was used in the other orders) and end in an
|
||||
# unspecified zone). For Jersey the same file (Public Record Office: HO
|
||||
# 45/10892/357138) includes letters to the effect that in 1918 and 1919
|
||||
# the States of Jersey agreed the same start and end dates as the UK
|
||||
# (times unspecified, and it was the 1916 Jersey order that specified
|
||||
# change at midnight of an unspecified zone).
|
||||
|
||||
# From Joseph S. Myers <jsm28@hermes.cam.ac.uk> (1998-01-06):
|
||||
#
|
||||
@ -1304,6 +1321,15 @@ Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik
|
||||
# for their standard and summer times. He says no, they use "suveaeg"
|
||||
# (summer time) and "talveaeg" (winter time).
|
||||
|
||||
# From <a href="http://www.baltictimes.com/">The Baltic Times</a> (1999-09-09)
|
||||
# via Steffen Thorsen:
|
||||
# This year will mark the last time Estonia shifts to summer time,
|
||||
# a council of the ruling coalition announced Sept. 6....
|
||||
# But what this could mean for Estonia's chances of joining the European
|
||||
# Union are still unclear. In 1994, the EU declared summer time compulsory
|
||||
# for all member states until 2001. Brussels has yet to decide what to do
|
||||
# after that.
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Europe/Tallinn 1:39:00 - LMT 1880
|
||||
1:39:00 - TMT 1918 Feb # Tallinn Mean Time
|
||||
@ -1315,7 +1341,8 @@ Zone Europe/Tallinn 1:39:00 - LMT 1880
|
||||
3:00 Russia MSK/MSD 1989 Mar 26 2:00s
|
||||
2:00 1:00 EEST 1989 Sep 24 2:00s
|
||||
2:00 C-Eur EE%sT 1998 Sep 22
|
||||
2:00 EU EE%sT
|
||||
2:00 EU EE%sT 2000
|
||||
2:00 - EET
|
||||
|
||||
# Finland
|
||||
#
|
||||
@ -1715,6 +1742,24 @@ Zone Europe/Vaduz 0:38:04 - LMT 1894 Jun
|
||||
1:00 EU CE%sT
|
||||
|
||||
# Lithuania
|
||||
|
||||
# From Paul Eggert (1996-11-22):
|
||||
# IATA SSIM (1992/1996) says Lithuania uses W-Eur rules, but since it is
|
||||
# known to be wrong about Estonia and Latvia, assume it's wrong here too.
|
||||
|
||||
# From Marius Gedminas <mgedmin@pub.osf.lt> (1998-08-07):
|
||||
# I would like to inform that in this year Lithuanian time zone
|
||||
# (Europe/Vilnius) was changed.
|
||||
|
||||
# From <a href="http://www.elta.lt/">ELTA</a> No. 972 (2582) (1999-09-29),
|
||||
# via Steffen Thorsen:
|
||||
# Lithuania has shifted back to the second time zone (GMT plus two hours)
|
||||
# to be valid here starting from October 31,
|
||||
# as decided by the national government on Wednesday....
|
||||
# The Lithuanian government also announced plans to consider a
|
||||
# motion to give up shifting to summer time in spring, as it was
|
||||
# already done by Estonia.
|
||||
|
||||
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
|
||||
Zone Europe/Vilnius 1:41:16 - LMT 1880
|
||||
1:24:00 - WMT 1917 # Warsaw Mean Time
|
||||
@ -1728,14 +1773,8 @@ Zone Europe/Vilnius 1:41:16 - LMT 1880
|
||||
2:00 1:00 EEST 1991 Sep 29 2:00s
|
||||
2:00 C-Eur EE%sT 1998
|
||||
2:00 - EET 1998 Mar 29 1:00u
|
||||
1:00 EU CE%sT
|
||||
# From Paul Eggert (1996-11-22):
|
||||
# IATA SSIM (1992/1996) says Lithuania uses W-Eur rules, but since it is
|
||||
# known to be wrong about Estonia and Latvia, assume it's wrong here too.
|
||||
|
||||
# From Marius Gedminas <mgedmin@pub.osf.lt> (1998-08-07):
|
||||
# I would like to inform that in this year Lithuanian time zone
|
||||
# (Europe/Vilnius) was changed.
|
||||
1:00 EU CE%sT 1999 Oct 31 1:00u
|
||||
2:00 EU EE%sT
|
||||
|
||||
# Luxembourg
|
||||
# Whitman disagrees with most of these dates in minor ways; go with Shanks.
|
||||
|
Loading…
Reference in New Issue
Block a user