aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2011-02-09 19:32:03 -0800
committerPaul Eggert2011-02-09 19:32:03 -0800
commit102252aa03f8c1c3e451b95ffe0b8f18c040eb56 (patch)
tree7d1eaf3d64a13dfa932d69307500412ba029dc53
parent5ac75e8f4b724c2f3e7bd6f2e2c96fd69710ce1b (diff)
downloademacs-102252aa03f8c1c3e451b95ffe0b8f18c040eb56.tar.gz
emacs-102252aa03f8c1c3e451b95ffe0b8f18c040eb56.zip
New file lib/ChangeLog, with entries moved from ChangeLog
-rw-r--r--ChangeLog140
-rw-r--r--lib/ChangeLog186
2 files changed, 200 insertions, 126 deletions
diff --git a/ChangeLog b/ChangeLog
index 2a0dd144670..8b3c20ad7d9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,15 +9,6 @@
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
212011-02-08 Tom Tromey <tromey@redhat.com> 122011-02-08 Tom Tromey <tromey@redhat.com>
22 13
23 * configure: Rebuild. 14 * configure: Rebuild.
@@ -25,23 +16,12 @@
25 16
262011-02-06 Paul Eggert <eggert@cs.ucla.edu> 172011-02-06 Paul Eggert <eggert@cs.ucla.edu>
27 18
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
33 gnulib: undo previous change 19 gnulib: undo previous change
34 The upstream _HEADERS change was backed out of gnulib (see the 20 The upstream _HEADERS change was backed out of gnulib (see the
35 same thread). Stay in sync with gnulib. 21 same thread). Stay in sync with gnulib.
36 22
37 gnulib: adjust to upstream _HEADERS change 23 gnulib: adjust to upstream _HEADERS change
38 * lib/Makefile.am (EXTRA_HEADERS, nodist_pkginclude_HEADERS): 24 * c++defs.h: Regenerate.
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.
45 25
462011-02-05 Paul Eggert <eggert@cs.ucla.edu> 262011-02-05 Paul Eggert <eggert@cs.ucla.edu>
47 27
@@ -58,23 +38,13 @@
58 38
59 allow C code to suppress warnings about ignored return values 39 allow C code to suppress warnings about ignored return values
60 * Makefile.in (GNULIB_MODULES): Add ignore-value. 40 * Makefile.in (GNULIB_MODULES): Add ignore-value.
61 * configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4: Regenerate. 41 * configure, m4/gl-comp.m4: Regenerate.
62 * lib/ignore-value.h: New file.
63 42
642011-01-31 Chong Yidong <cyd@stupidchicken.com> 432011-01-31 Chong Yidong <cyd@stupidchicken.com>
65 44
66 * configure.in: Test existence of xaw3d library, not just the 45 * configure.in: Test existence of xaw3d library, not just the
67 header (Bug#7642). 46 header (Bug#7642).
68 47
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
782011-01-31 Paul Eggert <eggert@cs.ucla.edu> 482011-01-31 Paul Eggert <eggert@cs.ucla.edu>
79 49
80 src/emacs.c now gets version number from configure.in 50 src/emacs.c now gets version number from configure.in
@@ -89,10 +59,8 @@
89 * Makefile.in (GNULIB_MODULES): Add strftime. 59 * Makefile.in (GNULIB_MODULES): Add strftime.
90 * configure.in (AC_FUNC_STRFTIME, my_strftime): Remove; no longer 60 * configure.in (AC_FUNC_STRFTIME, my_strftime): Remove; no longer
91 needed. 61 needed.
92 * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4: 62 * aclocal.m4, configure, m4/gl-comp.m4:
93 Regenerate. 63 Regenerate.
94 * lib/strftime.c, lib/strftime.h, lib/stdbool.in.h: New files,
95 imported from gnulib.
96 * m4/strftime.m4, m4/stdbool.m4, m4/tm_gmtoff.m4: Likewise. 64 * m4/strftime.m4, m4/stdbool.m4, m4/tm_gmtoff.m4: Likewise.
97 This incorporates many changes from gnulib, including simpler 65 This incorporates many changes from gnulib, including simpler
98 handling of multibyte formats, porting to mingw32 and other 66 handling of multibyte formats, porting to mingw32 and other
@@ -105,65 +73,14 @@
105 73
106 * configure: Regenerate from the following. 74 * configure: Regenerate from the following.
107 75
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
116 2011-01-29 Paul Eggert <eggert@cs.ucla.edu> 76 2011-01-29 Paul Eggert <eggert@cs.ucla.edu>
117 77
118 TYPE_MAXIMUM: avoid theoretically undefined behavior 78 TYPE_MAXIMUM: avoid theoretically undefined behavior
119 * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a 79 * m4/mktime.m4 (AC_FUNC_MKTIME): Do not shift a
120 negative number, which the C Standard says has undefined behavior. 80 negative number, which the C Standard says has undefined behavior.
121 In practice this is not a problem, but might as well do it by the book. 81 In practice this is not a problem, but might as well do it by the book.
122 Reported by Rich Felker and Eric Blake; see 82 Reported by Rich Felker and Eric Blake; see
123 <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>. 83 <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.
167 84
168 2011-01-29 Eric Blake <eblake@redhat.com> 85 2011-01-29 Eric Blake <eblake@redhat.com>
169 86
@@ -172,21 +89,6 @@
172 type; behavior is still undefined but portable to all known targets. 89 type; behavior is still undefined but portable to all known targets.
173 Reported by Rich Felker. 90 Reported by Rich Felker.
174 91
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
190 2011-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 92 2011-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
191 93
192 move-if-change: cope with concurrent mv of identical file. 94 move-if-change: cope with concurrent mv of identical file.
@@ -198,11 +100,6 @@
198 parallel builds. 100 parallel builds.
199 Report from H.J. Lu against binutils in PR binutils/12283. 101 Report from H.J. Lu against binutils in PR binutils/12283.
200 102
2012011-01-29 Eli Zaretskii <eliz@gnu.org>
202
203 * lib/makefile.w32-in:
204 * lib/getopt_.h: New files.
205
2062011-01-28 Paul Eggert <eggert@cs.ucla.edu> 1032011-01-28 Paul Eggert <eggert@cs.ucla.edu>
207 104
208 improve fix for MS-DOS file name clash 105 improve fix for MS-DOS file name clash
@@ -222,7 +119,7 @@
222 it, it would also cause problems when extracting Emacs distribution 119 it, it would also cause problems when extracting Emacs distribution
223 tarballs on MS-DOS hosts. 120 tarballs on MS-DOS hosts.
224 (ACLOCAL_INPUTS): Adjust to file renaming. 121 (ACLOCAL_INPUTS): Adjust to file renaming.
225 * aclocal.m4, configure, lib/Makefile.in, src/config.in: Regenerate. 122 * aclocal.m4, configure, src/config.in: Regenerate.
226 * config.guess, config.sub: Sync from gnulib. 123 * config.guess, config.sub: Sync from gnulib.
227 * m4/gnulib-cache.m4: Remove from repository. 124 * m4/gnulib-cache.m4: Remove from repository.
228 * m4/gl-comp.m4: Rename from m4/gnulib-comp.m4. 125 * m4/gl-comp.m4: Rename from m4/gnulib-comp.m4.
@@ -242,7 +139,7 @@
242 Remove HAVE_RAW_DECL_CHOWN etc. from config.h 139 Remove HAVE_RAW_DECL_CHOWN etc. from config.h
243 * Makefile.in (sync-from-gnulib): Remove m4/warn-on-use.m4, 140 * Makefile.in (sync-from-gnulib): Remove m4/warn-on-use.m4,
244 as it is no longer needed. 141 as it is no longer needed.
245 * aclocal.m4, configure, lib/Makefile.in, src/config.in: Regenerate. 142 * aclocal.m4, configure, src/config.in: Regenerate.
246 * configure.in: Invoke the new gnulib macro 143 * configure.in: Invoke the new gnulib macro
247 gl_ASSERT_NO_GNULIB_POSIXCHECK, which removes the need for 144 gl_ASSERT_NO_GNULIB_POSIXCHECK, which removes the need for
248 warn-on-use.m4 and for the HAVE_RAW_DECL_* symbols in config.h. 145 warn-on-use.m4 and for the HAVE_RAW_DECL_* symbols in config.h.
@@ -336,17 +233,13 @@
336 host-dependent and are built as part of an ordinary 'make', and 233 host-dependent and are built as part of an ordinary 'make', and
337 should not be checked in. 234 should not be checked in.
338 235
339 * lib/Makefile.in: Regenerate.
340 * lib/COPYING: New file, a copy of COPYING.
341
342 * configure: Regenerate. 236 * configure: Regenerate.
343 * configure.in (AC_USE_SYSTEM_EXTENSIONS): Remove: gnulib does this. 237 * configure.in (AC_USE_SYSTEM_EXTENSIONS): Remove: gnulib does this.
344 238
345 Regenerate. 239 Regenerate.
346 * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h: 240 * m4/unistd_h.m4:
347 * lib/gettext.h, lib/unistd.in.h, m4/unistd_h.m4: 241 New file, copied from gnulib by gnulib-tool.
348 New files, copied from gnulib by gnulib-tool. 242 * aclocal.m4, configure, m4/getopt.m4:
349 * aclocal.m4, configure, lib/Makefile.in, m4/getopt.m4:
350 * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in: 243 * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in:
351 Regenerate. 244 Regenerate.
352 245
@@ -359,15 +252,14 @@
359 getopt now, in lib. 252 getopt now, in lib.
360 253
361 Regenerate. 254 Regenerate.
362 * arg-nonnull.h, c++defs.h, lib/mktime-internal.h, lib/mktime.c: 255 * arg-nonnull.h, c++defs.h:
363 * lib/stddef.in.h, lib/time.h, lib/time.in.h, lib/time_r.c:
364 * m4/extensions.m4, m4/include_next.m4, m4/mktime.m4: 256 * m4/extensions.m4, m4/include_next.m4, m4/mktime.m4:
365 * m4/multiarch.m4, m4/stddef_h.m4, m4/time_h.m4, m4/time_r.m4: 257 * m4/multiarch.m4, m4/stddef_h.m4, m4/time_h.m4, m4/time_r.m4:
366 * m4/extensions.m4, m4/include_next.m4, m4/mktime.m4, m4/multiarch.m4: 258 * m4/extensions.m4, m4/include_next.m4, m4/mktime.m4, m4/multiarch.m4:
367 * m4/stddef_h.m4, m4/time_h.m4, m4/time_r.m4, m4/warn-on-use.m4: 259 * m4/stddef_h.m4, m4/time_h.m4, m4/time_r.m4, m4/warn-on-use.m4:
368 * m4/wchar_t.m4, warn-on-use.h: 260 * m4/wchar_t.m4, warn-on-use.h:
369 New files, copied from gnulib by gnulib-tool. 261 New files, copied from gnulib by gnulib-tool.
370 * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk: 262 * aclocal.m4, configure:
371 * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in: 263 * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in:
372 Regenerate. 264 Regenerate.
373 265
@@ -384,11 +276,9 @@
384 and warn-on-use.h into the distribution. 276 and warn-on-use.h into the distribution.
385 277
386 Regenerate. 278 Regenerate.
387 * lib/dtoastr.c, lib/ftoastr.c, lib/ftoastr.h, lib/intprops.h: 279 * m4/c-strtod.m4:
388 * lib/ldtoastr.c, m4/c-strtod.m4:
389 New files, copied from gnulib by gnulib-tool. 280 New files, copied from gnulib by gnulib-tool.
390 * lib/dummy.c: Remove. 281 * aclocal.m4, configure:
391 * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk:
392 * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in: 282 * m4/gnulib-cache.m4, m4/gnulib-comp.m4, src/config.in:
393 Regenerate. 283 Regenerate.
394 284
@@ -396,8 +286,7 @@
396 * Makefile.in (GNULIB_MODULES): Add ftoastr. Remove dummy. 286 * Makefile.in (GNULIB_MODULES): Add ftoastr. Remove dummy.
397 287
398 Regenerate. 288 Regenerate.
399 * aclocal.m4, compile, depcomp, lib/Makefile.in, lib/dummy.c: 289 * aclocal.m4, compile, depcomp, m4/00gnulib.m4, m4/gnulib-cache.m4:
400 * lib/gnulib.mk, m4/00gnulib.m4, m4/gnulib-cache.m4:
401 * m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/gnulib-tool.m4, missing: 290 * m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/gnulib-tool.m4, missing:
402 New files, generated automatically, with 'make sync-from-gnulib' 291 New files, generated automatically, with 'make sync-from-gnulib'
403 followed by 'make'. 292 followed by 'make'.
@@ -426,7 +315,6 @@
426 AM_INIT_AUTOMAKE, AM_PROG_CC_C_O, gl_EARLY, and gl_INIT. Output 315 AM_INIT_AUTOMAKE, AM_PROG_CC_C_O, gl_EARLY, and gl_INIT. Output
427 lib/Makefile, too. Use automake to build gnulib, as gnulib works 316 lib/Makefile, too. Use automake to build gnulib, as gnulib works
428 more conveniently with automake. 317 more conveniently with automake.
429 * lib/Makefile.am: New file.
430 * make-dist: Also put into the distribution aclocal.m4, 318 * make-dist: Also put into the distribution aclocal.m4,
431 compile, depcomp, missing, and the files under lib/. 319 compile, depcomp, missing, and the files under lib/.
432 320
diff --git a/lib/ChangeLog b/lib/ChangeLog
new file mode 100644
index 00000000000..e1f2a1ccab2
--- /dev/null
+++ b/lib/ChangeLog
@@ -0,0 +1,186 @@
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.