|
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'.
|
|
bd86632b
|
2014-12-31T14:21:13
|
|
autoupdate
|
|
b8db7e88
|
2014-12-31T06:55:37
|
|
autoupdate
|
|
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.
|
|
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.
|
|
ffaeb0c8
|
2014-12-26T08:28:48
|
|
autoupdate
|
|
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>
|
|
8d55a7b7
|
2014-12-21T07:03:14
|
|
autoupdate
|
|
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'.
|
|
ca6dede2
|
2014-12-19T06:56:42
|
|
autoupdate
|
|
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.
|
|
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.
|
|
7bf1097e
|
2014-12-17T14:46:25
|
|
gendocs.sh and templates now maintained in gnulib
|
|
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.
|
|
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.
|
|
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
|
|
98c35a0e
|
2014-12-13T06:51:11
|
|
autoupdate
|
|
3e51cf70
|
2014-12-12T15:24:21
|
|
update from texinfo
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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>
|
|
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>
|
|
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.
|
|
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/
|
|
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>
|
|
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.
|
|
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.
|
|
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.
|
|
79002fdd
|
2014-12-05T05:56:18
|
|
autoupdate
|
|
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.
|
|
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.
|
|
cab5b4a9
|
2014-12-03T07:04:40
|
|
autoupdate
|
|
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>
|
|
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>
|
|
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
|
|
1b6c775c
|
2014-11-29T06:00:25
|
|
autoupdate
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
e9dd4906
|
2014-11-16T10:41:11
|
|
update from texinfo
|
|
92b60e61
|
2014-11-14T12:10:50
|
|
extern-inline: update commentary about GCC bugs
* m4/extern-inline.m4: Add another GCC bug number to comments.
|
|
46d015f9
|
2014-11-13T16:54:53
|
|
gen-uni-tables: untabify
* lib/gen-uni-tables.c: Untabify.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
269a0fae
|
2014-11-05T06:01:18
|
|
autoupdate
|
|
e28a0f74
|
2014-11-04T10:01:31
|
|
update from texinfo
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
04a4a930
|
2014-10-31T12:45:22
|
|
obstack: add NEWS entry for recent incompatible changes
* NEWS: Describe recent changes.
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
b155b064
|
2014-10-12T09:03:23
|
|
remove spurious {
|
|
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.
|
|
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>.
|
|
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".
|
|
5ab220cc
|
2014-09-26T09:07:05
|
|
autoupdate
|
|
dc53bac1
|
2014-09-21T17:10:15
|
|
dirname: support compilation with C++
* lib/dirname.h: Add necessary C linkage declarations.
|
|
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.
|
|
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.
|
|
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.
|
|
ca194c03
|
2014-09-15T13:41:57
|
|
strerror_r-posix: support compilation with C++
* lib/strerror_r.c: Add necessary C linkage declarations.
|
|
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.
|
|
b4c8d133
|
2014-09-11T06:01:12
|
|
autoupdate
|
|
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.
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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.
|
|
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>
|
|
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++.
|