aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2011-02-09 19:56:30 -0800
committerPaul Eggert2011-02-09 19:56:30 -0800
commit6ffb2c0ceba3960565f20ba695f64c3e2e2e5aae (patch)
tree0ba724daf342c50bb1c004b5f74e4baee99a8d5b
parent102252aa03f8c1c3e451b95ffe0b8f18c040eb56 (diff)
downloademacs-6ffb2c0ceba3960565f20ba695f64c3e2e2e5aae.tar.gz
emacs-6ffb2c0ceba3960565f20ba695f64c3e2e2e5aae.zip
Undo my previous commit, as per Stefan.
-rw-r--r--ChangeLog140
-rw-r--r--lib/ChangeLog186
2 files changed, 126 insertions, 200 deletions
diff --git a/ChangeLog b/ChangeLog
index 8b3c20ad7d9..2a0dd144670 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,15 @@
9 9
10 * .bzrignore: Ignore globals.h and related stamp. 10 * .bzrignore: Ignore globals.h and related stamp.
11 11
122011-02-09 Paul Eggert <eggert@cs.ucla.edu>
13
14 * lib/Makefile.in, lib/gnulib.mk: Regenerate.
15 This merges the following fix from gnulib:
16
17 2011-02-08 Bruno Haible <bruno@clisp.org>
18
19 Split large sed scripts, for HP-UX sed.
20
122011-02-08 Tom Tromey <tromey@redhat.com> 212011-02-08 Tom Tromey <tromey@redhat.com>
13 22
14 * configure: Rebuild. 23 * configure: Rebuild.
@@ -16,12 +25,23 @@
16 25
172011-02-06 Paul Eggert <eggert@cs.ucla.edu> 262011-02-06 Paul Eggert <eggert@cs.ucla.edu>
18 27
28 gnulib: allow multiple gnulib generated replacements to coexist
29 This defines a few preprocessor symbols that should not affect Emacs.
30 * lib/getopt.in.h, lib/time.in.h, lib/unistd.in.h: Regenerate
31 via "make sync-from-gnulib".
32
19 gnulib: undo previous change 33 gnulib: undo previous change
20 The upstream _HEADERS change was backed out of gnulib (see the 34 The upstream _HEADERS change was backed out of gnulib (see the
21 same thread). Stay in sync with gnulib. 35 same thread). Stay in sync with gnulib.
22 36
23 gnulib: adjust to upstream _HEADERS change 37 gnulib: adjust to upstream _HEADERS change
24 * c++defs.h: Regenerate. 38 * lib/Makefile.am (EXTRA_HEADERS, nodist_pkginclude_HEADERS):
39 New empty macros, to accommodate recent changes to gnulib. See
40 <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00068.html>.
41 * c++defs.h, lib/Makefile.in, lib/ftoastr.h, lib/getopt.in.h:
42 * lib/gnulib.mk, lib/ignore-value.h, lib/stdbool.in.h, lib/stddef.in.h:
43 * lib/time.in.h, lib/unistd.in.h:
44 Regenerate.
25 45
262011-02-05 Paul Eggert <eggert@cs.ucla.edu> 462011-02-05 Paul Eggert <eggert@cs.ucla.edu>
27 47
@@ -38,13 +58,23 @@
38 58
39 allow C code to suppress warnings about ignored return values 59 allow C code to suppress warnings about ignored return values
40 * Makefile.in (GNULIB_MODULES): Add ignore-value. 60 * Makefile.in (GNULIB_MODULES): Add ignore-value.
41 * configure, m4/gl-comp.m4: Regenerate. 61 * configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4: Regenerate.
62 * lib/ignore-value.h: New file.
42 63
432011-01-31 Chong Yidong <cyd@stupidchicken.com> 642011-01-31 Chong Yidong <cyd@stupidchicken.com>
44 65
45 * configure.in: Test existence of xaw3d library, not just the 66 * configure.in: Test existence of xaw3d library, not just the
46 header (Bug#7642). 67 header (Bug#7642).
47 68
692011-01-31 Eli Zaretskii <eliz@gnu.org>
70
71 * lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/strftime.$(O) and
72 $(BLD)/time_r.$(O).
73 ($(BLD)/dtoastr.$(O)): Depend on $(EMACS_ROOT)/src/s/ms-w32.h and
74 $(EMACS_ROOT)/src/m/intel386.h.
75 ($(BLD)/strftime.$(O)):
76 ($(BLD)/time_r.$(O)): Define prerequisites.
77
482011-01-31 Paul Eggert <eggert@cs.ucla.edu> 782011-01-31 Paul Eggert <eggert@cs.ucla.edu>
49 79
50 src/emacs.c now gets version number from configure.in 80 src/emacs.c now gets version number from configure.in
@@ -59,8 +89,10 @@
59 * Makefile.in (GNULIB_MODULES): Add strftime. 89 * Makefile.in (GNULIB_MODULES): Add strftime.
60 * configure.in (AC_FUNC_STRFTIME, my_strftime): Remove; no longer 90 * configure.in (AC_FUNC_STRFTIME, my_strftime): Remove; no longer
61 needed. 91 needed.
62 * aclocal.m4, configure, m4/gl-comp.m4: 92 * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
63 Regenerate. 93 Regenerate.
94 * lib/strftime.c, lib/strftime.h, lib/stdbool.in.h: New files,
95 imported from gnulib.
64 * m4/strftime.m4, m4/stdbool.m4, m4/tm_gmtoff.m4: Likewise. 96 * m4/strftime.m4, m4/stdbool.m4, m4/tm_gmtoff.m4: Likewise.
65 This incorporates many changes from gnulib, including simpler 97 This incorporates many changes from gnulib, including simpler
66 handling of multibyte formats, porting to mingw32 and other 98 handling of multibyte formats, porting to mingw32 and other
@@ -73,14 +105,65 @@
73 105
74 * configure: Regenerate from the following. 106 * configure: Regenerate from the following.
75 107
108 2011-01-30 Paul Eggert <eggert@cs.ucla.edu>
109
110 mktime: clarify long_int width checking
111 * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
112 the top level, to make it clearer that the assumption about
113 long_int width is being checked. See
114 <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
115
76 2011-01-29 Paul Eggert <eggert@cs.ucla.edu> 116 2011-01-29 Paul Eggert <eggert@cs.ucla.edu>
77 117
78 TYPE_MAXIMUM: avoid theoretically undefined behavior 118 TYPE_MAXIMUM: avoid theoretically undefined behavior
79 * m4/mktime.m4 (AC_FUNC_MKTIME): Do not shift a 119 * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
80 negative number, which the C Standard says has undefined behavior. 120 negative number, which the C Standard says has undefined behavior.
81 In practice this is not a problem, but might as well do it by the book. 121 In practice this is not a problem, but might as well do it by the book.
82 Reported by Rich Felker and Eric Blake; see 122 Reported by Rich Felker and Eric Blake; see
83 <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>. 123 <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
124 * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
125 * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
126
127 mktime: #undef mktime before #defining it
128 * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
129
130 mktime: systematically normalize tm_isdst comparisons
131 * lib/mktime.c (isdst_differ): New function.
132 (__mktime_internal): Use it systematically for all isdst comparisons.
133 This completes the fix for libc BZ #6723, and removes the need for
134 normalizing tm_isdst. See
135 <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
136 (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
137
138 mktime: fix some integer overflow issues and sidestep the rest
139
140 This was prompted by a bug report by Benjamin Lindner for MinGW
141 <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
142 His bug is due to signed integer overflow (0 - INT_MIN), and I
143 I scanned through mktime.c looking for other integer overflow
144 problems, fixing all the bugs I found.
145
146 Although the C Standard says the resulting code is still not safe
147 in the presence of integer overflow, in practice it should be good
148 enough for all real-world two's-complement implementations, except
149 for debugging environments that deliberately trap on integer
150 overflow (e.g., gcc -ftrapv).
151
152 * lib/mktime.c (WRAPV): New macro.
153 (SHR): Also check that long_int and time_t shift right in the
154 usual way, before using the fast-but-unportable method.
155 (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
156 used. The code already assumed two's complement, so there's
157 no need to test for alternatives. All uses removed.
158 (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
159 the C standard. Problem reported by Rich Felker in
160 <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
161 (twos_complement_arithmetic): Also check long_int and time_t.
162 (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
163 (guess_time_tm, ranged_convert, __mktime_internal): Use them.
164 (__mktime_internal): Avoid integer overflow with unary subtraction
165 in two instances where -1 - X is an adequate replacement for -X,
166 since the calculations are approximate.
84 167
85 2011-01-29 Eric Blake <eblake@redhat.com> 168 2011-01-29 Eric Blake <eblake@redhat.com>
86 169
@@ -89,6 +172,21 @@
89 type; behavior is still undefined but portable to all known targets. 172 type; behavior is still undefined but portable to all known targets.
90 Reported by Rich Felker. 173 Reported by Rich Felker.
91 174
175 2011-01-28 Paul Eggert <eggert@cs.ucla.edu>
176
177 mktime: avoid problems on NetBSD 5 / i386
178 * lib/mktime.c (long_int): New type. This works around a problem
179 on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
180 but time_t is 64 bits, and where I expect the existing code is
181 wrong in some cases.
182 (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
183 (ydhms_diff): Bring back the compile-time check for wide-enough
184 year and yday.
185
186 mktime: fix misspelling in comment
187 * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
188 This merges all recent glibc changes of importance.
189
92 2011-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 190 2011-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
93 191
94 move-if-change: cope with concurrent mv of identical file. 192 move-if-change: cope with concurrent mv of identical file.
@@ -100,6 +198,11 @@
100 parallel builds. 198 parallel builds.
101 Report from H.J. Lu against binutils in PR binutils/12283. 199 Report from H.J. Lu against binutils in PR binutils/12283.
102 200
2012011-01-29 Eli Zaretskii <eliz@gnu.org>
202
203 * lib/makefile.w32-in:
204 * lib/getopt_.h: New files.
205
1032011-01-28 Paul Eggert <eggert@cs.ucla.edu> 2062011-01-28 Paul Eggert <eggert@cs.ucla.edu>
104 207
105 improve fix for MS-DOS file name clash 208 improve fix for MS-DOS file name clash
@@ -119,7 +222,7 @@
119 it, it would also cause problems when extracting Emacs distribution 222 it, it would also cause problems when extracting Emacs distribution
120 tarballs on MS-DOS hosts. 223 tarballs on MS-DOS hosts.
121 (ACLOCAL_INPUTS): Adjust to file renaming. 224 (ACLOCAL_INPUTS): Adjust to file renaming.
122 * aclocal.m4, configure, src/config.in: Regenerate. 225 * aclocal.m4, configure, lib/Makefile.in, src/config.in: Regenerate.
123 * config.guess, config.sub: Sync from gnulib. 226 * config.guess, config.sub: Sync from gnulib.
124 * m4/gnulib-cache.m4: Remove from repository. 227 * m4/gnulib-cache.m4: Remove from repository.
125 * m4/gl-comp.m4: Rename from m4/gnulib-comp.m4. 228 * m4/gl-comp.m4: Rename from m4/gnulib-comp.m4.
@@ -139,7 +242,7 @@
139 Remove HAVE_RAW_DECL_CHOWN etc. from config.h 242 Remove HAVE_RAW_DECL_CHOWN etc. from config.h
140 * Makefile.in (sync-from-gnulib): Remove m4/warn-on-use.m4, 243 * Makefile.in (sync-from-gnulib): Remove m4/warn-on-use.m4,
141 as it is no longer needed. 244 as it is no longer needed.
142 * aclocal.m4, configure, src/config.in: Regenerate. 245 * aclocal.m4, configure, lib/Makefile.in, src/config.in: Regenerate.
143 * configure.in: Invoke the new gnulib macro 246 * configure.in: Invoke the new gnulib macro
144 gl_ASSERT_NO_GNULIB_POSIXCHECK, which removes the need for 247 gl_ASSERT_NO_GNULIB_POSIXCHECK, which removes the need for
145 warn-on-use.m4 and for the HAVE_RAW_DECL_* symbols in config.h. 248 warn-on-use.m4 and for the HAVE_RAW_DECL_* symbols in config.h.
@@ -233,13 +336,17 @@
233 host-dependent and are built as part of an ordinary 'make', and 336 host-dependent and are built as part of an ordinary 'make', and
234 should not be checked in. 337 should not be checked in.
235 338
339 * lib/Makefile.in: Regenerate.
340 * lib/COPYING: New file, a copy of COPYING.
341
236 * configure: Regenerate. 342 * configure: Regenerate.
237 * configure.in (AC_USE_SYSTEM_EXTENSIONS): Remove: gnulib does this. 343 * configure.in (AC_USE_SYSTEM_EXTENSIONS): Remove: gnulib does this.
238 344
239 Regenerate. 345 Regenerate.
240 * m4/unistd_h.m4: 346 * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
241 New file, copied from gnulib by gnulib-tool. 347 * lib/gettext.h, lib/unistd.in.h, m4/unistd_h.m4:
242 * aclocal.m4, configure, m4/getopt.m4: 348 New files, copied from gnulib by gnulib-tool.
349 * aclocal.m4, configure, lib/Makefile.in, m4/getopt.m4:
243 * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in: 350 * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in:
244 Regenerate. 351 Regenerate.
245 352
@@ -252,14 +359,15 @@
252 getopt now, in lib. 359 getopt now, in lib.
253 360
254 Regenerate. 361 Regenerate.
255 * arg-nonnull.h, c++defs.h: 362 * arg-nonnull.h, c++defs.h, lib/mktime-internal.h, lib/mktime.c:
363 * lib/stddef.in.h, lib/time.h, lib/time.in.h, lib/time_r.c:
256 * m4/extensions.m4, m4/include_next.m4, m4/mktime.m4: 364 * m4/extensions.m4, m4/include_next.m4, m4/mktime.m4:
257 * m4/multiarch.m4, m4/stddef_h.m4, m4/time_h.m4, m4/time_r.m4: 365 * m4/multiarch.m4, m4/stddef_h.m4, m4/time_h.m4, m4/time_r.m4:
258 * m4/extensions.m4, m4/include_next.m4, m4/mktime.m4, m4/multiarch.m4: 366 * m4/extensions.m4, m4/include_next.m4, m4/mktime.m4, m4/multiarch.m4:
259 * m4/stddef_h.m4, m4/time_h.m4, m4/time_r.m4, m4/warn-on-use.m4: 367 * m4/stddef_h.m4, m4/time_h.m4, m4/time_r.m4, m4/warn-on-use.m4:
260 * m4/wchar_t.m4, warn-on-use.h: 368 * m4/wchar_t.m4, warn-on-use.h:
261 New files, copied from gnulib by gnulib-tool. 369 New files, copied from gnulib by gnulib-tool.
262 * aclocal.m4, configure: 370 * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk:
263 * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in: 371 * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in:
264 Regenerate. 372 Regenerate.
265 373
@@ -276,9 +384,11 @@
276 and warn-on-use.h into the distribution. 384 and warn-on-use.h into the distribution.
277 385
278 Regenerate. 386 Regenerate.
279 * m4/c-strtod.m4: 387 * lib/dtoastr.c, lib/ftoastr.c, lib/ftoastr.h, lib/intprops.h:
388 * lib/ldtoastr.c, m4/c-strtod.m4:
280 New files, copied from gnulib by gnulib-tool. 389 New files, copied from gnulib by gnulib-tool.
281 * aclocal.m4, configure: 390 * lib/dummy.c: Remove.
391 * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk:
282 * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in: 392 * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in:
283 Regenerate. 393 Regenerate.
284 394
@@ -286,7 +396,8 @@
286 * Makefile.in (GNULIB_MODULES): Add ftoastr. Remove dummy. 396 * Makefile.in (GNULIB_MODULES): Add ftoastr. Remove dummy.
287 397
288 Regenerate. 398 Regenerate.
289 * aclocal.m4, compile, depcomp, m4/00gnulib.m4, m4/gnulib-cache.m4: 399 * aclocal.m4, compile, depcomp, lib/Makefile.in, lib/dummy.c:
400 * lib/gnulib.mk, m4/00gnulib.m4, m4/gnulib-cache.m4:
290 * m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/gnulib-tool.m4, missing: 401 * m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/gnulib-tool.m4, missing:
291 New files, generated automatically, with 'make sync-from-gnulib' 402 New files, generated automatically, with 'make sync-from-gnulib'
292 followed by 'make'. 403 followed by 'make'.
@@ -315,6 +426,7 @@
315 AM_INIT_AUTOMAKE, AM_PROG_CC_C_O, gl_EARLY, and gl_INIT. Output 426 AM_INIT_AUTOMAKE, AM_PROG_CC_C_O, gl_EARLY, and gl_INIT. Output
316 lib/Makefile, too. Use automake to build gnulib, as gnulib works 427 lib/Makefile, too. Use automake to build gnulib, as gnulib works
317 more conveniently with automake. 428 more conveniently with automake.
429 * lib/Makefile.am: New file.
318 * make-dist: Also put into the distribution aclocal.m4, 430 * make-dist: Also put into the distribution aclocal.m4,
319 compile, depcomp, missing, and the files under lib/. 431 compile, depcomp, missing, and the files under lib/.
320 432
diff --git a/lib/ChangeLog b/lib/ChangeLog
deleted file mode 100644
index e1f2a1ccab2..00000000000
--- a/lib/ChangeLog
+++ /dev/null
@@ -1,186 +0,0 @@
12011-02-09 Paul Eggert <eggert@cs.ucla.edu>
2
3 * Makefile.in, gnulib.mk: Regenerate.
4 This merges the following fix from gnulib:
5
6 2011-02-08 Bruno Haible <bruno@clisp.org>
7
8 Split large sed scripts, for HP-UX sed.
9
102011-02-06 Paul Eggert <eggert@cs.ucla.edu>
11
12 gnulib: allow multiple gnulib generated replacements to coexist
13 This defines a few preprocessor symbols that should not affect Emacs.
14 * getopt.in.h, time.in.h, unistd.in.h: Regenerate
15 via "make sync-from-gnulib".
16
17 gnulib: undo previous change
18 The upstream _HEADERS change was backed out of gnulib (see the
19 same thread). Stay in sync with gnulib.
20
21 gnulib: adjust to upstream _HEADERS change
22 * Makefile.am (EXTRA_HEADERS, nodist_pkginclude_HEADERS):
23 New empty macros, to accommodate recent changes to gnulib. See
24 <http://lists.gnu.org/archive/html/bug-gnu2011-02/msg00068.html>.
25 * Makefile.in, ftoastr.h, getopt.in.h:
26 * gnulib.mk, ignore-value.h, stdbool.in.h, stddef.in.h:
27 * time.in.h, unistd.in.h:
28 Regenerate.
29
302011-02-03 Paul Eggert <eggert@cs.ucla.edu>
31
32 allow C code to suppress warnings about ignored return values
33 * Makefile.in, gnulib.mk: Regenerate.
34 * ignore-value.h: New file.
35
362011-01-31 Eli Zaretskii <eliz@gnu.org>
37
38 * makefile.w32-in (GNULIBOBJS): Add $(BLD)/strftime.$(O) and
39 $(BLD)/time_r.$(O).
40 ($(BLD)/dtoastr.$(O)): Depend on $(EMACS_ROOT)/src/s/ms-w32.h and
41 $(EMACS_ROOT)/src/m/intel386.h.
42 ($(BLD)/strftime.$(O)):
43 ($(BLD)/time_r.$(O)): Define prerequisites.
44
452011-01-30 Paul Eggert <eggert@cs.ucla.edu>
46
47 strftime: import from gnulib
48 * Makefile.in, gnulib.mk:
49 Regenerate.
50 * strftime.c, strftime.h, stdbool.in.h: New files,
51 imported from gnulib.
52 This incorporates many changes from gnulib, including simpler
53 handling of multibyte formats, porting to mingw32 and other
54 platforms, and support for higher-resolution time stamps.
55 Emacs does not yet use the higher-resolution interface.
56
572011-01-30 Paul Eggert <eggert@cs.ucla.edu>
58
59 gnulib: import mktime and move-if-change fixes from gnulib
60
61 * configure: Regenerate from the following.
62
63 2011-01-30 Paul Eggert <eggert@cs.ucla.edu>
64
65 mktime: clarify long_int width checking
66 * mktime.c (long_int_is_wide_enough): Move this assertion to
67 the top level, to make it clearer that the assumption about
68 long_int width is being checked. See
69 <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
70
71 2011-01-29 Paul Eggert <eggert@cs.ucla.edu>
72
73 TYPE_MAXIMUM: avoid theoretically undefined behavior
74 * intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
75 negative number, which the C Standard says has undefined behavior.
76 In practice this is not a problem, but might as well do it by the book.
77 Reported by Rich Felker and Eric Blake; see
78 <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
79 * mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
80
81 mktime: #undef mktime before #defining it
82 * mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
83
84 mktime: systematically normalize tm_isdst comparisons
85 * mktime.c (isdst_differ): New function.
86 (__mktime_internal): Use it systematically for all isdst comparisons.
87 This completes the fix for libc BZ #6723, and removes the need for
88 normalizing tm_isdst. See
89 <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
90 (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
91
92 mktime: fix some integer overflow issues and sidestep the rest
93
94 This was prompted by a bug report by Benjamin Lindner for MinGW
95 <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
96 His bug is due to signed integer overflow (0 - INT_MIN), and I
97 I scanned through mktime.c looking for other integer overflow
98 problems, fixing all the bugs I found.
99
100 Although the C Standard says the resulting code is still not safe
101 in the presence of integer overflow, in practice it should be good
102 enough for all real-world two's-complement implementations, except
103 for debugging environments that deliberately trap on integer
104 overflow (e.g., gcc -ftrapv).
105
106 * mktime.c (WRAPV): New macro.
107 (SHR): Also check that long_int and time_t shift right in the
108 usual way, before using the fast-but-unportable method.
109 (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
110 used. The code already assumed two's complement, so there's
111 no need to test for alternatives. All uses removed.
112 (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
113 the C standard. Problem reported by Rich Felker in
114 <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
115 (twos_complement_arithmetic): Also check long_int and time_t.
116 (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
117 (guess_time_tm, ranged_convert, __mktime_internal): Use them.
118 (__mktime_internal): Avoid integer overflow with unary subtraction
119 in two instances where -1 - X is an adequate replacement for -X,
120 since the calculations are approximate.
121
122 2011-01-28 Paul Eggert <eggert@cs.ucla.edu>
123
124 mktime: avoid problems on NetBSD 5 / i386
125 * mktime.c (long_int): New type. This works around a problem
126 on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
127 but time_t is 64 bits, and where I expect the existing code is
128 wrong in some cases.
129 (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
130 (ydhms_diff): Bring back the compile-time check for wide-enough
131 year and yday.
132
133 mktime: fix misspelling in comment
134 * mktime.c (__mktime_internal): Fix misspelling in comment.
135 This merges all recent glibc changes of importance.
136
1372011-01-29 Eli Zaretskii <eliz@gnu.org>
138
139 * makefile.w32-in:
140 * getopt_.h: New files.
141
1422011-01-27 Paul Eggert <eggert@cs.ucla.edu>
143
144 fix two m4/gnulib-*.m4 file names that clashed under MS-DOS
145 * Makefile.in: Regenerate.
146
1472011-01-24 Paul Eggert <eggert@cs.ucla.edu>
148
149 Remove HAVE_RAW_DECL_CHOWN etc. from config.h
150 * Makefile.in: Regenerate.
151
1522011-01-17 Paul Eggert <eggert@cs.ucla.edu>
153
154 Makefile.in: tidy up the building of lib
155 * Makefile.in: Regenerate.
156 * COPYING: New file, a copy of COPYING.
157
158 Regenerate.
159 * getopt.c, getopt.in.h, getopt1.c, getopt_int.h:
160 * gettext.h, unistd.in.h:
161 New files, copied from gnulib by gnulib-tool.
162 * Makefile.in:
163 Regenerate.
164
165 Regenerate.
166 * mktime-internal.h, mktime.c:
167 * stddef.in.h, time.h, time.in.h, time_r.c:
168 New files, copied from gnulib by gnulib-tool.
169 * Makefile.in, gnulib.mk:
170 Regenerate.
171
172 Regenerate.
173 * dtoastr.c, ftoastr.c, ftoastr.h, intprops.h:
174 * ldtoastr.c:
175 New files, copied from gnulib by gnulib-tool.
176 * dummy.c: Remove.
177 * Makefile.in, gnulib.mk:
178 Regenerate.
179
180 Regenerate.
181 * Makefile.in, dummy.c, gnulib.mk:
182 New files, generated automatically, with 'make sync-from-gnulib'
183 followed by 'make'.
184
185 Automate syncing from gnulib.
186 * Makefile.am: New file.