Log

Author Commit Date CI Message
Paul Eggert b9bfe784 2015-01-01T01:38:23 version-etc: new year * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date. * all files: Run 'make update-copyright'.
Karl Berry bd86632b 2014-12-31T14:21:13 autoupdate
Karl Berry b8db7e88 2014-12-31T06:55:37 autoupdate
Pádraig Brady 55cda57a 2014-12-30T23:37:26 xstrtol: ensure errno is reset Since commit 3bf75404, on 26-09-1998, errno may not have been reset. Noticed with a spurious coreutils test failure on Darwin 14.0.0. * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
Paul Eggert 7177237e 2014-12-28T14:03:39 utimens: fix dependency typo * modules/utimens (Depends-on): Remove 'assure'. This bug was introduced in the recent 'assure' patch.
Karl Berry ffaeb0c8 2014-12-26T08:28:48 autoupdate
Eric Blake 16518d9e 2014-12-22T11:46:41 docs: mention why libgen.h is bad I just debugged a failure in sharutils-4.14.2-1 for using basename() without including <libgen.h>. In the process, I realized that we aren't doing a good job of explaining why we don't offer a libgen.h replacement (it is useless because the only two functions it provides are also useless). * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module. Signed-off-by: Eric Blake <eblake@redhat.com>
Karl Berry 8d55a7b7 2014-12-21T07:03:14 autoupdate
Paul Eggert 034a1804 2014-12-20T13:00:21 assure: new module This works better than 'assert' when compiling with -DNDEBUG, as it avoids some compiler diagnostics in that case. Reported by Norihiro Tanaka in: http://lists.gnu.org/archive/html/bug-gnulib/2014-12/msg00215.html * MODULES.html.sh (func_all_modules): Add 'assure'. * lib/assure.h, modules/assure: New files. * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c: * lib/poll.c, lib/savewd.c, lib/utimens.c, lib/xstrtol.c: Prefer 'assure' to 'assert'. * modules/chdir-long, modules/cycle-check, modules/fchdir: * modules/poll, modules/savewd, modules/utimens, modules/xstrtol: Depend on 'assure'.
Karl Berry ca6dede2 2014-12-19T06:56:42 autoupdate
Paul Eggert 95c5407b 2014-12-16T17:57:23 stdalign: port better to HP compilers * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
Paul Eggert a8c75ca7 2014-12-16T17:29:33 stdalign: work around Apple GCC 4.0 bug Reported by David Fang in: http://lists.gnu.org/archive/html/bug-gnulib/2014-12/msg00194.html * lib/stdalign.in.h (_Alignas): * m4/stdalign.m4 (gl_STDALIGN_H): Do not use aligned attribute with GCC 4.0 on Apple.
Karl Berry 7bf1097e 2014-12-17T14:46:25 gendocs.sh and templates now maintained in gnulib
Pádraig Brady 4f3dc0be 2014-12-16T02:35:19 getcwd: fix test failure on OS X 10.9 * m4/getcwd-path-max.m4: Avoid the replacement if it won't be effective due to the PATH_MAX limitation of lstat(). (gl_cv_func_getcwd_path_max): Adjust to indicate this case. * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER for this case for use in tests, and also exclude this case when setting REPLACE_GETCWD. * tests/test-getcwd.c (test_long_name): Restrict the tested path length so that lstat() will not be passed a path greater than PATH_MAX. Also key a test condition on HAVE_OPENAT_SUPPORT rather than AT_FDCWD, since the latter is set unconditionally since Sep 2009 in commit 52c658e9.
Tim Rühsen 1fafbb30 2014-12-14T20:32:54 parse-datetime: avoid a compiler warning with byacc * lib/parse-datetime.y (yylex): Use the same prototype in the function definition as the declaration, to avoid a -Wstrict-prototypes warning seen when using byacc.
Daiki Ueno e45661b4 2014-12-12T09:20:59 unicase/locale-language-tests: fix LOCALE_FR test * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for a French locale with traditional encoding. Reported by umerqayam in: http://lists.gnu.org/archive/html/bug-libunistring/2014-12/msg00000.html
Karl Berry 98c35a0e 2014-12-13T06:51:11 autoupdate
Karl Berry 3e51cf70 2014-12-12T15:24:21 update from texinfo
Paul Eggert 3ae2441d 2014-12-12T11:27:45 stddef: support C11's max_align_t * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t. * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]: Do not undef, as that might cause max_align_t to be defined twice. Instead, change use to check for _GL_STDDEF_WINT_T too. (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl. * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS): Check for max_align_t. * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T. * modules/stddef-tests (Depends-on): Add stdalign. * tests/test-stddef.c: Test max_align_t.
Daiki Ueno 73991ca4 2014-12-11T16:07:31 unistd: fix iOS check conditional On Mac OS X 10.8, the TARGET_* macros are unconditonally defined as 0 or 1 in <TargetConditionals.h>, and the previous check always yielded true on non-iOS environment. * lib/unistd.in.h (environ) [__APPLE__]: Check the values of TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether they are defined.
Paul Eggert 89db07c7 2014-12-09T18:11:46 posixtm: avoid compiler warning in a better way * lib/posixtm.c (IF_LINT): Remove. (year, posix_time_parse): Return true (not 0) if successful. All callers changed. (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
KO Myung-Hun cc000985 2014-12-09T10:40:48 relocatable: support UNIXROOT in relocate() on EMX UNIXROOT is used to specify a drive of a root of FHS. So if a path is started with '/', then it should be translated to "$UNIXROOT/". * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is started with '/' on EMX.
KO Myung-Hun 3c4e0833 2014-12-05T15:01:36 freopen: workaround freopen() on OS/2 kLIBC On OS/2 kLIBC, freopen() returns NULL even if it is successful if filename is NULL. * lib/freopen.c (rpl_freopen): Workaround. * m4/freopen.m4: Add os2* case.
KO Myung-Hun 023ca2dd 2014-12-03T15:46:17 get_shared_library_fullname: port to EMX * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp on EMX, respectively. (_DLL_InitTerm): New on EMX. (get_shared_library_fullname): Implement on EMX. Signed-off-by: Eric Blake <eblake@redhat.com>
KO Myung-Hun a457b0c8 2014-12-03T16:02:50 find_executable: port to EMX * lib/progreloc.c (find_executable): Implement on EMX. Signed-off-by: Eric Blake <eblake@redhat.com>
KO Myung-Hun 5945e4ee 2014-12-04T10:03:34 sched: check struct sched_param in spawn.h as well On OS/2 kLIBC, struct sched_param is in spawn.h. So without this a redefinition error occurs when sched.h is inclued by spawn.h. * lib/sched.in.h: Include spawn.h on kLIBC. * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
Pádraig Brady cf88e56a 2014-12-02T13:34:06 support GNU format printf and scanf on mingw Allow %lld and %Lf to work on mingw as per: http://sourceforge.net/p/mingw-w64/wiki2/gnu%20printf/
Martin Kletzander 3914f315 2014-12-08T13:19:12 bootstrap: Allow perl modules in $buildreq With this patch it is possible to put e.g. "perl::XML:XPath -" in $buildreq in bootstrap.conf which will cause a check for perl module XML::XPath using: perl -m"XML::XPath" -e 'exit 0' >/dev/null 2>&1 If this fails due to any other error than XML::XPath missing, it is left on the user to fix up his/her bootstrap.conf. One of the examples might be perl itself missing, which should be in $buildreq and precede any perl::Module specifications. Versioning of perl modules is not supported. Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
Pádraig Brady 3c411c43 2014-12-06T01:28:17 apply _GL_ATTRIBUTE_PURE to some inline functions clang 3.4.2 flagged these inline functions as pure * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE. * lib/sig-handler.h (get_handler): Likewise. * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise. * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
Pádraig Brady ec6a60bf 2014-12-08T09:46:38 vasnprintf: fix potential incorrect errno An adjustment of the previous commit c5c4f53b. * lib/vasnprintf.c (VASNPRINTF): free() generally doesn't set errno, but it can potentially in certain edge cases. Reported by Eric Blake.
Pádraig Brady c5c4f53b 2014-12-06T01:14:02 vasnprintf: fix potential use after free * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read, flagged by clang-analyzer 3.4.2.
Karl Berry 79002fdd 2014-12-05T05:56:18 autoupdate
Pádraig Brady 819cfe3c 2014-12-05T12:32:49 filevercmp, posixtm: avoid compiler warnings with -O3 * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE * lib/posixtm.c: (IF_LINT): Define. (posix_time_parse): Use it to void a "may be used uninitialized" warning, seen only with -O3.
Bruno Haible 1000eab5 2014-12-05T11:30:27 Fix LDBL80_WORDS macro on big endian platforms. * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in LDBL80_WORDS macro. * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise. * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise. * tests/test-isfinite.c (test_isfinitel): Likewise. * tests/test-isinf.c (test_isinfl): Likewise. * tests/test-isnan.c (test_long_double): Likewise. * tests/test-isnanl.h (main): Likewise. * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis. * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise. * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise. * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise. Reported by Pádraig Brady.
Karl Berry cab5b4a9 2014-12-03T07:04:40 autoupdate
KO Myung-Hun e5a15adc 2014-12-02T14:55:20 git-version-gen: do not print new line characters On platforms with CRLF endings (such as OS/2), use of 'echo' may leave behind an unwanted CR. * build-aux/git-version-gen: Use printf instead of echo and tr. Signed-off-by: Eric Blake <eblake@redhat.com>
KO Myung-Hun 9a98fdfe 2014-12-02T12:50:49 gnulib-tool: recognize x:* as an absolute path On OS/2, x:* is an absolute path, too. * gnulib-tool (func_gnulib_dir): Add ?:* case. (func_relconcat): Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
Andrei Borzenkov a545b5e4 2014-12-02T16:05:10 argp: avoid extraneous translation and mem leak with empty pre doc * lib/argp-help.c (argp_doc): Never translate the empty string, when "\v" is the first or last character of the string, as that has a reserved meaning to return the header info from a po file. This also fixes a small memory leak in the !post case. The issue can be seen with this command for example: LC_MESSAGES=en_US grub2-mknetdir --help
Karl Berry 1b6c775c 2014-11-29T06:00:25 autoupdate
Pádraig Brady 8b62c05c 2014-11-28T10:57:31 doc: mention that _BSD_SOURCE is deprecated for _DEFAULT_SOURCE * doc/posix-functions/setjmp.texi: Defining _BSD_SOURCE will induce warnings unless _DEFAULT_SOURCE is also defined.
Daiki Ueno 9ee6573b 2014-11-27T18:46:43 uniname/uniname-tests: skip if system's libunistring is used * modules/uniname/uniname-tests (Makefile.am): Skip test if uniname/uniname module is not compiled.
Pádraig Brady 4b4ef862 2014-11-27T11:17:07 printf: fix configure check on big endian systems * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
Daiki Ueno 624ea288 2014-11-18T21:11:09 pipe-filter-gi, pipe-filter-ii: port to AIX On AIX 7.1, 'select' is defined as static and cannot be referred to from inline function. * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand the definition... * lib/pipe-filter-gi.c (filter_loop): ...here, and... * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
Paul Eggert 6dd16adf 2014-11-20T09:29:35 gitlog-to-changelog: add --until * build-aux/gitlog-to-changelog: Support new --until option. Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
Karl Berry e9dd4906 2014-11-16T10:41:11 update from texinfo
Paul Eggert 92b60e61 2014-11-14T12:10:50 extern-inline: update commentary about GCC bugs * m4/extern-inline.m4: Add another GCC bug number to comments.
Daiki Ueno 46d015f9 2014-11-13T16:54:53 gen-uni-tables: untabify * lib/gen-uni-tables.c: Untabify.
Daiki Ueno 15b5d451 2014-10-10T22:59:46 gen-uni-tables: check out-of-range values added to 3-level tables * lib/gen-uni-tables.c (output_category, output_bidi_category) (output_joining_type, output_ident_category): Check out-of-range values added to 3-level tables.
Daiki Ueno 9464ea9d 2014-11-13T15:56:01 gen-uni-tables: utilize 'assert' * lib/gen-uni-tables.c: Include <assert.h>. (output_category, output_combclass, output_decimal_digit_test) (output_decimal_digit, output_digit_test, output_digit) (output_numeric, get_mirror_value, fill_properties) (fill_property30, is_property_alphabetic) (is_property_default_ignorable_code_point) (is_property_uppercase, is_property_lowercase) (is_property_cased, is_property_case_ignorable) (is_property_changes_when_lowercased, is_property_iso_control) (is_property_math, fill_arabicshaping, output_joining_group) (fill_scripts, fill_blocks, output_lbp, fill_org_wbp) (output_wbp, fill_org_gbp, get_decomposition) (output_decomposition, fill_composition_exclusions) (debug_output_composition_tables, output_composition_tables) (redistribute_casefolding_rules, output_casing_rules): Use 'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error reporting.
Daiki Ueno b6ffce65 2014-10-23T16:05:37 gen-uni-tables: cosmetic improvements * lib/gen-uni-tables.c: Escape newlines in the Emacs file local variables specification. (is_outdigit): Remove unused function.
Jeroen Roovers e470c5e3 2014-11-12T18:55:49 fcntl-h-tests: port to PA-RISC GNU/Linux * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
Paul Eggert 5cb10395 2014-11-10T15:43:22 fts: port to C89 Problem reported for MSVC 16 by Gisle Vanem in: http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00027.html * lib/fts.c (fts_build): Avoid declaration before statement.
Paul Eggert 08c22d94 2014-11-06T20:33:02 unistd: port to iOS Problem reported by André Klitzing in: http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00013.html * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
Paul Eggert ed253cd8 2014-11-05T11:41:57 obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun Problem reported by Alan Modra in: http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00007.html * lib/obstack.h (obstack_chunkfun, obstack_freefun): Always cast the function arg, reverting this part of the previous change.
Karl Berry 269a0fae 2014-11-05T06:01:18 autoupdate
Karl Berry e28a0f74 2014-11-04T10:01:31 update from texinfo
Paul Eggert 127ed6a3 2014-11-04T00:31:31 obstack: avoid potentially-nonportable function casts * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN): Remove, replacing with ... (call_chunkfun, call_freefun): New static functions. All uses changed. Avoid potentially-nonportable casts. (chunkfun_type, freefun_type): Remove typedefs; no longer used. (_obstack_begin_worker): Omit last two args, since they rely on potentially-nonportable casts. All callers changed. * lib/obstack.h (_OBSTACK_CAST): New macro. Use it everywhere the old API used a potentially-nonportable cast. The new API doesn't cast. (struct obstack): Use unions rather than requiring potentially-nonportable casts. (obstack_chunkfun, obstack_freefun): Return void.
Alan Modra d15b2da0 2014-11-03T17:32:27 obstack: fix macro return values * lib/obstack.h (obstack_next_free): Return void *. (obstack_1grow_fast, obstack_blank_fast): Return void. For __GNUC__ macros: (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0. For !__GNUC__ macros: (obstack_make_room, obstack_grow, obstack_grow0) (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
Paul Eggert 9a6b2eec 2014-11-03T16:36:27 obstack: do not assume system-supplied obstack is size_t safe * m4/obstack.m4: New file. * modules/obstack (Files): Add it.
Paul Eggert ec799b2d 2014-11-03T16:34:52 obstack: port to platforms that #define __alignof__ * lib/obstack.c: Include <alignof.h> if !defined __alignof__, not if !_LIBC. We don't know of any platforms that #define __alignof__, but it might be useful in tests. Conversely, glibc assumes GCC.
Pádraig Brady c564172a 2014-10-31T18:18:36 linkat: don't unconditionally replace on GNU/Linux * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW was redundant for a few reasons. It was present to support compiling on new systems but running on the old narrow window of Linux 2.6.1[67]. It setup and cleaned up test files which weren't actually used. On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is implicit in the following check.
Pádraig Brady c8e57ce5 2014-10-31T18:12:15 linkat: wrap to handle symlinks on OS X 10.10 * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite but not usable because it doesn't support creating hardlinks to symlinks. Therefore add a generic test for this capability and fallback to our emulation if linkat() fails with ENOTSUP.
Paul Eggert 08a713e0 2014-11-02T22:24:09 open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno * doc/posix-functions/open.texi (open): * doc/posix-functions/openat.texi (openat): Document that these functions do not set errno to ELOOP when a symlink is opened with O_NOFOLLOW.
Paul Eggert 04a4a930 2014-10-31T12:45:22 obstack: add NEWS entry for recent incompatible changes * NEWS: Describe recent changes.
Pádraig Brady 2768ceb7 2014-10-30T04:08:50 mountlist: don't use libmount to decide on dummy/remote * lib/mountlist.c (read_file_system_list): Don't use the libmount routines to determine whether a file system is dummy or remote, as they're not currently compatible. For example the remoteness is determined on file system type (for which the list seems incomplete), rather than simply checking for a ':' in the device name. Also libmount currently determines that 'tmpfs' is a dummy file system even though it has associated storage.
Paul Eggert ff138525 2014-10-29T18:03:53 maint: add missing ChangeLog entries for Modra's obstack changes See: http://lists.gnu.org/archive/html/bug-gnulib/2014-10/msg00072.html
Paul Eggert 37de51e2 2014-10-29T16:15:41 obstack: prefer __alignof__ to alignof This is for portability to pre-4.7 GCC when compiling glibc. See Joseph S. Myers in: http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]: New macro, defined by including and using <alignof.h>. (MAX): New macro. (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these. Do not use enums as they are not portable to some broken compilers. * modules/obstack (Depends-on): Depend on alignof, not stdalign.
Paul Eggert e8f86ce9 2014-10-29T00:22:08 obstack: prefer alignof to calculating alignments by hand * lib/obstack.c: Include <stdalign.h>. (struct fooalign): Remove. (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack. * modules/obstack (Depends-on): Add stdalign.
Paul Eggert 6c34297a 2014-10-28T23:58:42 obstack: use size_t alignments and check for overflow * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1): * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk): * lib/obstack.h (struct obstack.alignment_mask): Use _OBSTACK_SIZE_T, not int, for alignments. * lib/obstack.c (_obstack_newchunk): Fail if the size calculation overflows, e.g., when adding the alignment.
Alan Modra 82a38a0d 2014-10-29T14:03:00 obstack: 64-bit obstack support, part 3 This finally enables full 64-bit obstack support. The glibc shared library specific code is removed from obstack.c too, and the error handling code conditionally compiled under control of another macro, _OBSTACK_NO_ERROR_HANDLER. * lib/obstack.h: Include string.h earlier. (_OBSTACK_INTERFACE_VERSION): Define. (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2. * lib/obstack.c: Don't include shlib-compat.h. (OBSTACK_INTERFACE_VERSION): Delete. (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE. Define when version 1 glibc code is compatible with version 2. Don't include stdio.h for __GNU_LIBRARY. (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler): Omit when _OBSTACK_NO_ERROR_HANDLER defined. Include stdio.h here. (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete glibc shared library specific source.
Alan Modra bb2ab7ec 2014-10-29T14:02:40 obstack: 64-bit obstack support, part 2 This gets us 4G obstack support, without changing ABI compatibility, apart from possibly introducing some signed/unsigned comparison warnings in code that uses obstack.h. a) Replace "int" size parameters, return values, and macro local vars with _OBSTACK_SIZE_T, an "unsigned int" for now. b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now. c) Make all obstack macros checking available room use obstack_room. "next_free + desired > chunk_limit" may wrap the lhs for chunks allocated near the top of memory. d) Use unsigned comparisons, and macro locals to support >2G on 32-bit. * lib/obstack.h (_OBSTACK_SIZE_T): Define. Use throughout in place of "int" size parameters, return values and local vars. (_CHUNK_SIZE_T): Define. (struct obstack): Make chunk_size a _CHUNK_SIZE_T. Make temp union use an _OBSTACK_SIZE_T integer type. For __GNUC__ versions of the following macros... (obstack_room): Rename local var. (obstack_make_room): Use obstack_room. (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank): Likewise. (obstack_finish): Use unsigned comparison when comparing aligned next_free against chunk_limit. (obstack_free): Cast OBJ to remove possible const qualifier. For !__GNUC__ versions of the following macros... (obstack_make_room): Use obstack_room. (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank): Likewise. (obstack_finish): Use unsigned comparision when comparing aligned next_free against chunk_limit. (obstack_free): Use temp.p and same comparisons as __GNUC__ version. * lib/obstack.c (_obstack_begin_worker): Make "size" parameter _OBSTACK_SIZE_T. (_obstack_begin, _obstack_begin_1): Likewise. (_obstack_newchunk): Likewise for length parameter. Use size_t locals. (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
Alan Modra 266ac1b9 2014-10-29T14:02:31 obstack: 64-bit obstack support, part 1 a) Correct calls to alloc function, to use a size_t arg. "long" is just wrong on targets like x86_64-mingw64 where "long" is 32 bits and "size_t" 64 bits. b) Consolidate _obstack_begin and _obstack_begin1 code. * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to use "size_t" rather than "long". (_obstack_begin, _obstack_begin1): Likewise. (obstack_init, obstack_begin, obstack_specify_allocation_with_arg, obstack_chunkfun): Update alloc function casts. * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast. (chunkfun_type, freefun_type): New typdefs. (_obstack_begin_worker): Split out from .. (_obstack_begin, _obstack_begin_1): ..here.
Alan Modra 8216dffc 2014-10-29T14:02:22 obstack: tidy part 2 a) Don't be concerned about "not polluting the namespace with stddef.h symbols" in obstack.h, since gnulib string.h includes stddef.h anyway, and it seems unlikely that anyone would care. b) Don't roll our own slow memcpy in _obstack_newchunk. c) Rename obstack_free to _obstack_free. This makes the naming consistent with other obstack functions and obviates the need for __obstack_free. Ancient obstack.c defined both obstack_free and _obstack_free. We continue to do that for _LIBC via an alias. d) Miscellaneous macro fixes. The expression used to test for gcc-2.8 is clever, but nowadays gcc warns on undefined macros. You'll get an undefined macro warning if simulating an old gcc with -U__GNUC__ -U__GNUC_MINOR__ -D__GNUC__=1. * lib/obstack.h: Include stddef.h unconditionally. Formatting fixes. (PTR_INT_TYPE): Delete, replace with ptrdiff_t. (__obstack_free): Delete, update refs. (_obstack_free): Rename from obstack_free. (__extension__): Avoid undefined macro warning for __GNUC_MINOR__. (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions. * lib/obstack.c: Don't include stddef.h. (COPYING_UNIT): Delete. (_obstack_begin): Formatting fix. (_obstack_newchunk): Use memcpy to move existing object to new chunk. (_obstack_free): Rename from __obstack_free, update alias. Move undef of obstack_free to where it is needed.
Alan Modra ec1a9f7b 2014-10-29T14:02:13 obstack: tidy part 1 a) Rename temp fields. temp.tempint and temp.tempptr just looks ugly to me, and result in overlong lines after later patches. b) Move error handling code, to avoid a forward declaration and to simplify later patches in this series. * lib/obstack.h (struct obstack <temp>): Rename fields of union and update all uses. * lib/obstack.c: Include stdlib.h earlier. (obstack_exit_failure, obstack_alloc_failed_handler): Move later in file. (print_and_abort): Remove now redundant forward declaration.
Paul Eggert 8415b679 2014-10-24T10:47:44 socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf. Without this change, in bleeding-edge fileutils Autoconf complains that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked. * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB. * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS. * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
Daiki Ueno facebc6b 2014-10-21T18:07:00 iconv: avoid false detection of non-working iconv The INBUF arguments of iconv can be either 'const char **' or 'char **'. If CC is g++, the difference causes a compile error and thus leads to a false detection of non-working iconv. Reported by Eli Zaretskii and Werner LEMBERG in: <https://lists.gnu.org/archive/html/bug-gnulib/2014-10/msg00023.html>. * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of iconv. Bump serial number.
Pádraig Brady 1bbbc2c0 2014-10-23T13:59:08 bootstrap: print more diagnostics for missing programs * build-aux/bootstrap: only suppress stderr when checking for alternative program names. This supports programs issuing non standard error messages like: "Provide an AUTOMAKE_VERSION environment variable, please" Reported by Ingo Schwarze with OpenBSD
Pádraig Brady e94cfb19 2014-10-23T13:26:23 bootstrap: only update the gnulib submodule * build-aux/bootstrap: Restrict the "submodule update" command to the gnulib path. Reported by Reuben Thomas
Paul Eggert 032bd151 2014-10-18T23:22:36 symlinkat: port to AIX 7.1 * doc/posix-functions/symlinkat.texi (symlinkat): Mention AIX porting problem. * lib/symlinkat.c: Always include errno.h. (rpl_symlinkat) [HAVE_SYMLINKAT]: New function. * lib/unistd.in.h (symlinkat): Add replacement machinery. * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT. * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT. (configure.ac): Also compile replacement if REPLACE_SYMLINKAT. * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
Paul Eggert cb3a9b8b 2014-10-18T22:35:28 readlinkat: port to AIX 7.1 * doc/posix-functions/readlink.texi (readlink): * doc/posix-functions/readlinkat.texi (readlinkat): Mention AIX porting problem. * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]: New function. * lib/unistd.in.h (readlinkat): Add replacement machinery. * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT. * modules/readlinkat (configure.ac): Also compile replacement if REPLACE_READLINKAT. * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
Karl Berry b155b064 2014-10-12T09:03:23 remove spurious {
Eli Zaretskii 8a695b67 2014-10-07T20:59:11 modules/fcntl: fix error reporting by dupfd * lib/fcntl.c (dupfd) [_WIN32]: Don't overwrite the value of errno set by _open_osfhandle by EMFILE. Convert errors returned by DuplicateHandle to corresponding errno values.
Ben Pfaff 322e0b05 2014-09-28T09:52:08 basename, dirname: Improve documentation. * doc/posix-functions/basename.texi: Mention dirname module and base_name() function. * doc/posix-functions/dirname.texi: Mention dir_name() and mdir_name() functions. Suggested by Werner LEMBERG <wl@gnu.org>.
Jim Meyering 734ed7c8 2014-09-24T09:03:06 exclude: declare exclude_patopts static * lib/exclude.c (exclude_patopts): Declare static, to avoid triggering a -Wmissing-prototypes warning. The alternative (declaring it in the .h file) would require publicizing the private "struct patopts".
Karl Berry 5ab220cc 2014-09-26T09:07:05 autoupdate
Werner LEMBERG dc53bac1 2014-09-21T17:10:15 dirname: support compilation with C++ * lib/dirname.h: Add necessary C linkage declarations.
Paul Eggert aa0c2b9e 2014-09-16T12:26:48 qsort_r: include <config.h> Problem reported by Tom G. Christensen in: http://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00071.html * lib/qsort.c [!_LIBC]: Include <config.h> first.
Dylan Cali 5549ef8e 2014-09-16T16:42:36 avltree-list: avoid compiler warnings * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid -Werror=suggest-attribute=pure. * lib/gl_array_list.c: Likewise. * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern declaration to avoid -Werror=missing-prototypes. This is not added to a header as only exported for tests. Add (void) to the check_invariants() call to indicate we're discarding the result in this context which avoids -Werror=unused-value. Note we don't use ignore_value here to avoid a dependency as we know we'll not be adding __attribute__((warn_unused_result)) to check_invariants(). Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
Paul Eggert 41473cf9 2014-09-15T08:59:18 qsort_r: new module, for GNU-style qsort_r * m4/qsort_r.m4: New file. Forgot to add this earlier.
Werner LEMBERG ca194c03 2014-09-15T13:41:57 strerror_r-posix: support compilation with C++ * lib/strerror_r.c: Add necessary C linkage declarations.
Johannes Zarl b8e2c7fd 2014-09-11T14:38:53 fcntl-h: fix compilation with Intel C++ compiler * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
Karl Berry b4c8d133 2014-09-11T06:01:12 autoupdate
Fridolin Pokorny 3ea43e02 2014-08-27T15:25:30 mountlist: use /proc/self/mountinfo when available Use libmount to propagate device IDs provided by Linux in /proc/self/mountinfo. This will give more accurate output when using df in chroot'ed environments as the device IDs are not determined by stat() which may be inaccurate within the chroot. * lib/mountlist.c (read_file_system_list): Use the libmount routines from util-linux to parse "/proc/self/mountinfo" or fall back to standard getmntent() processing. * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument getmntent() is used, as is the case on GNU/Linux. * DEPENDENCIES: Mention the optional util-linux dependency.
Eric Wong 2bf7326e 2014-09-07T03:22:12 users.txt: add cmogstored cmogstored has used gnulib since the beginning in 2012 to support GNU/Linux, FreeBSD, and GNU/kFreeBSD. cmogstored is currently included in the FreeBSD ports collection, but developed primarily on GNU/Linux. Signed-off-by: Eric Wong <normalperson@yhbt.net>
Mathieu Anquetin 9565c3be 2014-09-04T08:54:49 gnulib-tool: Sync with build-aux/bootstrap options Options for downloading PO files were not in sync with their build-aux/bootstrap counterpart. This commit adopt the same behavior for these tools. Signed-off-by: Mathieu Anquetin <mathieu@anquetin.eu>
Mathieu Anquetin c83b8970 2014-09-04T08:54:48 gnulib-tool: Fallback to wget when rsync fails Current implementation only tries to rsync PO files when rsync is installed on the host. In case of error, no files are downloaded even if they are available. This leads to bootstrap problems for hosts that lie behind a restrictive firewall. This patch always tries to rsync by default, falling back to wget if an error occurs. Signed-off-by: Mathieu Anquetin <mathieu@anquetin.eu>
Eric Blake 5be8d47e 2014-09-04T13:11:04 maintainer-makefile: add syntax check for useless ';;' Most instances of ;; in C code are mistakes, where the second semicolon is a no-op. This rule tries to make it easy to flag the typos occuring at the end of a statement. It intentionally does not flag for(;;) loops, and misses grammar problems in comments if the problem occurs in the middle of the line. Shell files (including configure.ac and Makefile.am, which can contain shell snippets) are too likely to use case statements where ;; is legitimate, so those are not scanned. * top/maint.mk (sc_prohibit_double_semicolon): New rule. Signed-off-by: Eric Blake <eblake@redhat.com>
Paul Eggert c76f7ed9 2014-09-04T14:55:12 pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04 Problem reported by Assaf Gordon in: http://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00023.html Apparently Ubuntu is doing some fancy link-time optimization that doesn't work with -lpthread but does work with -pthread. Work around the bug by preferring -pthread to -lpthread. This change affects only LIBS, not CFLAGS, which is a little weird, but it works. * m4/pthread.m4 (gl_PTHREAD_CHECK): * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread. * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Treat -pthread like -lpthread.
Eric Blake 4738e5ac 2014-09-04T06:26:06 error: drop spurious semicolon * lib/error.c (__error_at_line): Fix ';;'. Signed-off-by: Eric Blake <eblake@redhat.com>
Paul Eggert 78f00bd0 2014-09-02T11:56:55 gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++ * m4/gnulib-common.m4 (AC_C_RESTRICT): Override AC_C_RESTRICT unconditionally. Update from autoconf, incorporating: 2014-09-02 autoconf: port 'restrict' to GCC 4.2.1 2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.