Paul Eggert [Wed, 4 May 2016 16:57:48 +0000 (09:57 -0700)]
glob: merge glibc changes into lib/glob.c
* lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
dated 2016-05-04 12:09:35 2016 +0200. Here are the changes:
2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
struct dirent [BZ #19779]
2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
callback gl_readdir
2015-10-20 Convert miscellaneous function definitions to prototype style
2015-10-20 Convert 113 more function definitions to prototype style
(files with assertions)
2015-06-12 Fix getlogin_r namespace (bug 18527).
2014-02-10 Use glibc_likely instead __builtin_expect.
2013-10-20 When glob pattern contains a trailing slash match only
directories. Fixes bug 10278.
2013-09-04 glob: silence -Wattribute warnings
2013-06-07 Avoid use of "register" as optimization hint.
2012-09-25 Use size_t instead of int for internal variables in glob
(bug 14621)
2011-07-20 Check for overflows in expressions
2011-05-28 Remove unused variable
2011-05-22 Add a few more alloca size checks
2010-03-27 Whitespace fixes
2010-03-27 Fix one more issue with the glob patch
2010-03-24 Fix glob with empty pattern
2008-05-27 Remove useless more "if" tests before "free"
* modules/glob (Depends-on): Add stdint.
Paul Eggert [Mon, 2 May 2016 00:25:16 +0000 (17:25 -0700)]
mktime: port to stricter signed overflow checking
* lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
(long_int): Require width for INT_MAX * 3 * (seconds per year),
instead of merely for INT_MAX * 2. In practice platforms that
do the latter also do the former.
(TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
(shr): New static function, replacing SHR. All uses changed.
(mktime_min, mktime_max): New constants, replacing TIME_T_MIN
and TIME_T_MAX. All uses changed.
(ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
Use long_int, not time_t.
(long_int_avg): New static function, replacing time_t_avg.
All uses changed. Round toward positive infinity, as that
generates slightly better code.
(time_t_add_ok, time_t_int_add_ok): Remove. All uses replaced
by INT_ADD_WRAPV.
(guess_time_tm): Accept time, not a pointer to it. All uses changed.
(convert_time): New static function.
(ranged_convert): Use it
(ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
Use simpler test for loop exit.
(__mktime_internal): Store negative of guessed offset, to simplify
overflow checking. Remove no-longer-needed test for small time_t
overflows.
Paul Eggert [Sun, 1 May 2016 19:49:21 +0000 (12:49 -0700)]
mktime: speed up DEBUG_MKTIME benchmarks
Call tzset just once, at the start, rather than for every test
case. This lets us measure the CPU cost of mktime as opposed to
that of tzset. This is relevant when TZ is not set and glibc is
being used. This speeds up tests by a factor of 40 on my Fedora
23 x86-64 platform.
* lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
to call tzset and as a sanity check. Later on, use localtime_r
instead of localtime.
Paul Eggert [Sun, 1 May 2016 18:44:51 +0000 (11:44 -0700)]
Port mktime_internal offset to unsigned time_t
This avoids some assumptions about wraparound arithmetic on
signed integer overflow.
* lib/mktime-internal.h (mktime_offset_t): New type.
(mktime_internal): Use it in decl.
* lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
* lib/mktime.c (__mktime_internal, localtime_offset):
* lib/timegm.c (timegm): Use it.
* m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
(gl_FUNC_MKTIME): Require it.
Paul Eggert [Wed, 27 Apr 2016 19:10:54 +0000 (12:10 -0700)]
xstrtol: prohibit monstrosities like "1bB"
Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
* lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
"B" only if the first suffix needs a base.
* tests/test-xstrtol.sh: Test this.
Paul Eggert [Wed, 13 Apr 2016 17:53:56 +0000 (10:53 -0700)]
mktime: improve integer overflow checking
* lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
(WRAPV): Remove; no longer needed.
(verify): Remove. Replace all uses with call to verify.h 'verify'.
(TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
Remove. Use intprops.h defns instead.
(leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
Use bool for Boolean, for clarity.
(time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
detect integer overflow.
* modules/mktime (Depends-on): Add intprops, stdbool, verify.
Paul Eggert [Wed, 13 Apr 2016 17:49:08 +0000 (10:49 -0700)]
intprops: check two's complement assumption
Suggested by Eric Blake in:
http://lists.gnu.org/archive/html/bug-gnulib/2016-04/msg00016.html
* lib/intprops.h: Include <verify.h>. Verify that signed char,
short, int, long, and (if available) long long are two's complement.
* modules/intprops (Depends-on): Add 'verify'.
Paul Eggert [Wed, 13 Apr 2016 07:06:36 +0000 (00:06 -0700)]
intprops, mktime, strtol: assume two's complement
These macros were not portable to every conforming C11 ones'
complement platform. It's not worth the hassle of porting to some
platforms that use ones' complement or signed magnitude, as such
platforms are almost purely theoretical nowadays and porting even
to some of them makes the code harder to review for little
practical benefit. Problem reported by Florian Weimer in:
https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
* lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
(TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
* lib/mktime.c (TYPE_TWOS_COMPLEMENT):
* lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
(TYPE_SIGNED_MAGNITUDE):
Remove. All uses rewritten to assume two's complement, which is
all we can reasonably test nowadays anyway.
* top/maint.mk (_intprops_names): Remove the removed macros.
Paul Eggert [Mon, 11 Apr 2016 15:42:02 +0000 (08:42 -0700)]
stdint: port to strict C11 left shift
* lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
Pacify clang -Wshift-negative-value, which should be an issue only
on clang setups where stdint.h does not conform to C11 or to C++11.
Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
Paul Eggert [Sat, 9 Apr 2016 08:28:36 +0000 (01:28 -0700)]
mbrtowc: work around glibc bug#19932
Fix mbrtowc so that it never returns -1 in the C locale,
as this conflicts with a future version of POSIX
http://austingroupbugs.net/view.php?id=663#c2738
and causes problems with GNU grep: http://bugs.gnu.org/23234
See glibc bug 19932:
https://sourceware.org/bugzilla/show_bug.cgi?id=19932
* doc/posix-functions/mbrlen.texi (mbrlen):
* doc/posix-functions/mbrtowc.texi (mbrtowc):
Document the glibc bug.
* lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
Include hard-locale.h, locale.h.
(rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
if the bug is possible.
* m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
(gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
* modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
* modules/mbrtowc (Depends-on): Add hard-locale.
* modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
* tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
* tests/test-mbrtowc5.sh: New file.
Pedro Alves [Mon, 4 Apr 2016 05:48:22 +0000 (22:48 -0700)]
stdint: detect good enough pre-C++11 stdint.h in C++ mode
When gnulib is configured in C++ mode for a system with a working C99
implementation of stdint.h that predates C++11, gnulib ends up
substituting stdint.h anyway. This works on most targets, but on e.g.,
64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
MinGW is LLP64. Instead of trying to detect the right types, detect
good-enough-pre-C++11 stdint.h and in such case define
__STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
* m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
/ __STDC_LIMIT_MACROS while checking whether the system stdint.h
conforms to C99. If it does, check whether it hides symbols
behind the __STDC_{CONSTANT|LIMIT}_MACROS macros. Then if it
does, define those macros in config.h.
Paul Eggert [Sun, 3 Apr 2016 23:37:13 +0000 (16:37 -0700)]
argp: merge changes from glibc
Among other things, this should fix problems found by a Coverity
scan and reported by Andrei Borzenkov:
http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00015.html
http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00016.html
* lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
* lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
* lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
* lib/argp.h:
Merge changes from glibc.
* tests/test-argp-2.sh: Adjust to match new behavior.
Paul Eggert [Sat, 2 Apr 2016 04:01:17 +0000 (21:01 -0700)]
stddef: support configuring with g++
Problem reported by Ángel González in:
http://lists.gnu.org/archive/html/bug-gnulib/2016-04/msg00003.html
* lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
Do not define if _GCC_MAX_ALIGN_T is defined.
Paul Eggert [Fri, 25 Mar 2016 19:25:37 +0000 (12:25 -0700)]
test-framework-sh: minor cleanups
* tests/init.sh (testdir_prefix_): Output a trailing newline,
since strictly speaking POSIX requires this.
(setup_): Do not use the variable 'fail', as that makes the
trace output harder to read ('fail' is typically used by
tests to mean the test failed). Treat // portably.
Check that new directory is not merely a sibling of the tmp dir.
Avoid unnecessary invocation of tr.
Paul Eggert [Fri, 25 Mar 2016 19:00:35 +0000 (12:00 -0700)]
test-framework-sh: revert port to NetBSD 7.0
It was a false alarm; I misinterpreted Assaf Gordon's report.
* tests/init.sh (testdir_prefix_, pfx_, template_length_):
Restore.
(test_dir_): Adjust to mktempd_ change.
(mktempd_): Restore 2nd arg. Use -t again.
(base_template_, template_, nx_): Resurrect old code.
Paul Eggert [Fri, 25 Mar 2016 07:04:02 +0000 (00:04 -0700)]
Port better to Alpine Linux
Its diff implementation does not support -c, but does support -U3.
Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
* tests/init.sh (diff_opt_): New var.
(compare_): Prefer diff -U3 to diff -c to plain diff.
Paul Eggert [Fri, 25 Mar 2016 07:00:14 +0000 (00:00 -0700)]
test-framework-sh: port to NetBSD 7.0
Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
* tests/init.sh (testdir_prefix_, pfx_, template_length_):
Remove. All uses removed.
(test_dir_): Adjust to mktempd_ change.
(mktempd_): Omit 2nd arg. Stop using -t, as it is not portable.
(base_template_, template_, nx_): Simplify by hardcoding.
Paul Eggert [Mon, 21 Mar 2016 07:49:17 +0000 (00:49 -0700)]
sys_select: port to new Cygwin
Problem reported by Ken Brown in:
https://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00054.html
* lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
diagnostics.
Jim Meyering [Thu, 17 Mar 2016 17:35:08 +0000 (10:35 -0700)]
test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
* tests/test-userspec.c (main): Remove unnecessary braces and fix
misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
test-userspec.c:176:9: error: statement is indented as if it were \
guarded by... [-Werror=misleading-indentation]
{
^
test-userspec.c:173:7: note: ...this 'if' clause, but it is not
if (!diag && !T[i].result)
^~
Paul Eggert [Tue, 15 Mar 2016 14:48:05 +0000 (07:48 -0700)]
select: port more to Intel 2016.1.150 compiler
Problem reported by Balázs Hajgató in:
http://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00036.html
* m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
Paul Eggert [Mon, 14 Mar 2016 20:17:06 +0000 (13:17 -0700)]
select: try to port to 2016.1.150 compiler
Problem reported by Balázs Hajgató in:
http://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00026.html
* lib/sys_select.in.h (select): Use 'restrict' on arguments where
POSIX specifies 'restrict'.
Paul Eggert [Mon, 14 Mar 2016 05:44:58 +0000 (22:44 -0700)]
localename-tests: memory allocation fixes
* tests/test-localename.c (test_locale_name)
(test_locale_name_thread): Don't call freelocale on a locale
that was the base of a successful newlocale, as that
results in a double free. Problem reported by Assaf Gordon.
(test_locale_name_thread): Free saved names after use, to pacify
gcc -fsanitize=address.
Paul Eggert [Wed, 9 Mar 2016 00:35:58 +0000 (16:35 -0800)]
intprops: make .h file license match module
* lib/intprops.h: Change the license wording to match glibc format.
This is what is in modules/intprops anyway. See:
https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
Eric Blake [Tue, 8 Mar 2016 22:35:30 +0000 (15:35 -0700)]
acl: fix missing return on Cygwin
Compilation on Cygwin 2.4.1 resulted in an 'install' that behaved
differently depending on compile-time flags; I traced it to this
warning, where the difference was based on what was left in the
return register:
lib/set-permissions.c: In function 'set_acls_from_mode':
lib/set-permissions.c:273:1: warning: control reaches end of non-void
function [-Wreturn-type]
* lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
fall off end of function. Fixes http://bugs.gnu.org/22949
Bruno Haible [Sat, 5 Mar 2016 00:38:45 +0000 (01:38 +0100)]
extern-inline: port to PGI CC
* m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
keyword 'inline'.
Reported by Adam James Stewart in:
http://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00006.html
Paul Eggert [Sat, 20 Feb 2016 15:52:53 +0000 (07:52 -0800)]
signbit: port back to pre-C++11 GCC
* lib/math.in.h (signbit): Do previous change only if
__cplusplus < 201103. See Jonathan Wakely in:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
Kamil Dudka [Fri, 19 Feb 2016 09:41:49 +0000 (10:41 +0100)]
mountlist: recognize autofs-mounted remote file systems, too
Originally reported at: https://bugzilla.redhat.com/1309247
* lib/mountlist.c (ME_REMOTE): Return true if a file system is named
"-hosts" because it is used by autofs to mount remote file systems.
Paul Eggert [Sat, 20 Feb 2016 01:07:48 +0000 (17:07 -0800)]
signbit: port to C++ with GCC 6
* lib/math.in.h (signbit) [__cplusplus]:
Do not replace with GCC builtin. Reported by Orion Poplawski in:
http://lists.gnu.org/archive/html/bug-gnulib/2016-02/msg00005.html
Paul Eggert [Fri, 19 Feb 2016 17:27:41 +0000 (09:27 -0800)]
regex: make it closer to libc
Make Idx a signed type, rather than possibly unsigned.
The unsignedness was not really buying us anything, since the code
overflows for other reasons before getting to PTRDIFF_MAX. Making
it signed allows us to use -1 and -2 with abandon, like libc does,
thus lessening the number of differences between gnulib and libc.
Also, it should help avoid gratuitous warnings like the one
reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
* lib/regex.h (__re_idx_t): Remove. All uses changed to regoff_t.
* lib/regex_internal.h (SSIZE_MAX): Define if <limits.h> doesn't.
(IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
(REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
Remove. Revert all uses to their libc versions.
Paul Eggert [Wed, 10 Feb 2016 22:56:32 +0000 (14:56 -0800)]
stdalign: port to older HP and IBM cc
* lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
C compilers, by checking their version numbers. These version
numbers appear in MariaDB and in Qt code that dates way back and
that conditiionally uses the 'aligned' attribute.
Paul Eggert [Tue, 9 Feb 2016 16:54:11 +0000 (08:54 -0800)]
stdalign: port to clang 3.7.0
Problem reported by Herbert J. Skuhra in:
http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00476.html
* lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
from being defined on clang 3.7.0, which has a buggy stdalign.h. See:
https://llvm.org/bugs/show_bug.cgi?id=26547
Jim Meyering [Wed, 3 Feb 2016 05:39:44 +0000 (21:39 -0800)]
verify-tests: also remove stray test-verify.Tpo
* modules/verify-tests (Makefile.am): Arrange for "make clean"
to remove the test-verify.Tpo file that is left behind by
the automake-generated rule upon compilation failure.
Otherwise, that .Tpo file would cause a failed "make distcheck"
at least for grep.
Paul Eggert [Tue, 2 Feb 2016 22:29:53 +0000 (14:29 -0800)]
std-gnu11: new module
This makes it easier for applications to prefer C11 and C++11
to older variants, when compiling C and C++ code.
Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
a nontrivial chunk of GPLed Autoconf source code.
* COPYING: Mention the m4/*.m4 copyright situation.
* MODULES.html.sh (std-gnu11): New module.
* m4/std-gnu11.m4, modules/std-gnu11: New files.
Daiki Ueno [Mon, 25 Jan 2016 02:07:33 +0000 (11:07 +0900)]
gettext: mark as obsolete
Suggested by Paul Eggert in:
https://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00101.html
* modules/gettext (Status): Mark as obsolete.
(Notice): Suggest to use 'gettext-h' instead.
* modules/gettext-h (Description): Suggest GNU gettext, instead of
the 'gettext' module.
Paul Eggert [Sun, 24 Jan 2016 22:24:35 +0000 (14:24 -0800)]
gnulib-tool: don't give up on ln -s so easily
* gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
because an earlier one failed. The targets could be on different
file systems. Problem reported by KO Myung-Hun in:
http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00081.html
Paul Eggert [Sun, 24 Jan 2016 22:13:41 +0000 (14:13 -0800)]
closedir: fix OS/2-related typos
Problem reported by KO Myung-Hun in:
http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00107.html
* m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
in the last couple of changes.
Paul Eggert [Sun, 24 Jan 2016 08:55:44 +0000 (00:55 -0800)]
regex: treat [x] as x if x is a unibyte encoding error
Problem reported by Aharon Robbins in:
http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00091.html
* lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
(build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
Paul Eggert [Sun, 24 Jan 2016 08:28:19 +0000 (00:28 -0800)]
closedir, dirfd, opendir: port to OpenSolaris 5.10
* m4/closedir.m4 (gl_FUNC_CLOSEDIR):
* m4/dirfd.m4 (gl_FUNC_DIRFD):
* m4/opendir.m4 (gl_FUNC_OPENDIR):
Don't use ${word##pat} substitution, as it doesn't work in
OpenSolaris 5.10 /bin/sh. Problem reported by Assaf Gordon in:
http://bugs.gnu.org/22443#11
Daiki Ueno [Tue, 19 Jan 2016 01:15:36 +0000 (10:15 +0900)]
utimens-tests: avoid pulling gettext .m4 files
Although this is not the right fix to the original problem:
http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html
it makes it possible again for consumer projects to use arbitrary
version of gettext, through the steps described at:
http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
See here for details:
https://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00079.html
* modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
'gettext'.
* modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
'gettext'.
Paul Eggert [Mon, 18 Jan 2016 18:32:26 +0000 (10:32 -0800)]
regex: fix [ diagnostic
Problem and fix reported by Aharon Robbins in:
http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00082.html
* lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
Pádraig Brady [Mon, 18 Jan 2016 17:29:28 +0000 (17:29 +0000)]
fts: don't unconditionally use leaf optimization for NFS
NFS st_nlink are not accurate on all implementations,
leading to aborts() if that assumption is made.
See <https://bugzilla.redhat.com/1299169>
* lib/fts.c (leaf_optimization_applies): Remove NFS from
the white list, and document the issue.
KO Myung-Hun [Fri, 28 Nov 2014 07:43:14 +0000 (16:43 +0900)]
utimes: detect utimes() correctly on OS/2 kLIBC
utimes() of OS/2 kLIBC has some limitations.
1. OS/2 itself supports a file date since 1980 year in local time.
2. OS/2 itself supports only even seconds for a file time.
3. utimes() of OS/2 kLIBC does not work on an opened file.
* m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
* doc/posix-functions/utimes.texi: Document the above limitations of
utimes() on OS/2 kLIBC.
Paul Eggert [Sat, 17 Jan 2015 09:54:05 +0000 (18:54 +0900)]
openat_proc_name: port to OS/2 kLIBC
OS/2 kLIBC provides a function to retrive a path from a fd. Use it
instead of /proc/self/fd.
* lib/openat-proc.c (openat_proc_name):
Don't assume file name length is less than INT_MAX.
Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
KO Myung-Hun [Fri, 15 Jan 2016 18:06:57 +0000 (10:06 -0800)]
stdint: check _INTPTR_T_DECLARED for intptr_t etc.
OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
definitions of intptr_t and uintptr_t (which use int and unsigned)
to avoid clashes with declarations of system functions like sbrk.
* lib/stdint.in.h (intptr_t, uintptr_t): Check
_INTPTR_T_DECLARED before defining them.