diff options
author | Pedro Alves <palves@redhat.com> | 2013-07-01 11:15:39 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2013-07-01 11:15:39 +0000 |
commit | 8c0da261b51cc528ab7a0b4fb68f20a5e95eb170 (patch) | |
tree | 76474d52376bb16259f24b7ad1b5404b5d59dd1e | |
parent | 3574124b5f33fb080dfe11d4a98475a991e6fb25 (diff) | |
download | gdb-8c0da261b51cc528ab7a0b4fb68f20a5e95eb170.zip gdb-8c0da261b51cc528ab7a0b4fb68f20a5e95eb170.tar.gz gdb-8c0da261b51cc528ab7a0b4fb68f20a5e95eb170.tar.bz2 |
utils.c: pathconf call, check for _PC_PATH_MAX instead of HAVE_UNISTD_H.
This check in utils.c for HAVE_UNISTD_H is being used as proxy for
"HAVE_PATHCONF", as pathconf is supposed to be declared in unistd.h.
It's possible that there are systems out there that have realpath,
unistd.h and alloca, but not pathconf+_PC_PATH_MAX. I don't know of
any by heart, but if we import gnulib's unistd module (which a
following patch will do), then unistd.h ends up always available, so
the check ends up incorrect. As pathconf is being called with
_PC_PATH_MAX, check for that instead.
gdb/
2013-07-01 Pedro Alves <palves@redhat.com>
* utils.c <pathconf/_PC_PATH_MAX use>: Check if _PC_PATH_MAX is
defined instead of checking HAVE_UNISTD_H.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/utils.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a19367f..94c8464 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2013-07-01 Pedro Alves <palves@redhat.com> + * utils.c <pathconf/_PC_PATH_MAX use>: Check if _PC_PATH_MAX is + defined instead of checking HAVE_UNISTD_H. + +2013-07-01 Pedro Alves <palves@redhat.com> + Reimport gnulib from scratch. * gnulib/Makefile.in (aclocal_m4_deps): Remove reference to import/m4/onceonly.m4. diff --git a/gdb/utils.c b/gdb/utils.c index f5c1339..a2015a8 100644 --- a/gdb/utils.c +++ b/gdb/utils.c @@ -3179,7 +3179,7 @@ gdb_realpath (const char *filename) pathconf()) making it impossible to pass a correctly sized buffer to realpath() (it could always overflow). On those systems, we skip this. */ -#if defined (HAVE_REALPATH) && defined (HAVE_UNISTD_H) && defined(HAVE_ALLOCA) +#if defined (HAVE_REALPATH) && defined (_PC_PATH_MAX) && defined(HAVE_ALLOCA) { /* Find out the max path size. */ long path_max = pathconf ("/", _PC_PATH_MAX); |