| From a7447215cdc492a077732420a3f0db6d48b34d51 Mon Sep 17 00:00:00 2001 |
| From: Sergio Durigan Junior <sergiodj@redhat.com> |
| Date: Mon, 10 Sep 2018 12:52:04 -0400 |
| Subject: [PATCH] Fix PR gdb/23558: Use system's 'getcwd' when cross-compiling |
| GDB |
| |
| This is a backport of a gnulib fix for the following bug: |
| |
| https://sourceware.org/bugzilla/show_bug.cgi?id=23558 |
| |
| The problem reported there is about the replacement of 'getcwd' when |
| cross-compiling GDB. With our current gnulib copy, the mechanism for |
| deciding whether to use the system's 'getcwd' or gnulib's version is |
| too simplistic and pessimistic, so when cross-compiling we always end |
| up using gnulib's version, which has a limitation: it cannot handle |
| the situation when the parent directory doesn't have read permissions. |
| |
| The solution is to backport the following gnulib commit: |
| |
| commit a96d2e67052c879b1bcc5bc461722beac75fc372 |
| Author: Bruno Haible <bruno@clisp.org> |
| Date: Thu Aug 23 21:13:19 2018 +0200 |
| |
| getcwd: Add cross-compilation guesses. |
| |
| gdb/ChangeLog: |
| 2018-09-10 Sergio Durigan Junior <sergiodj@redhat.com> |
| |
| PR gdb/23555 |
| PR gdb/23558 |
| * gnulib/import/m4/getcwd-path-max.m4: Add cross-compilation |
| guesses. |
| --- |
| gdb/gnulib/import/m4/getcwd-path-max.m4 | 20 ++++++++++++++++---- |
| 1 file changed, 16 insertions(+), 4 deletions(-) |
| |
| diff --git a/gdb/gnulib/import/m4/getcwd-path-max.m4 b/gdb/gnulib/import/m4/getcwd-path-max.m4 |
| index 2531ccff65c..90bbc77dea1 100644 |
| --- a/gdb/gnulib/import/m4/getcwd-path-max.m4 |
| +++ b/gdb/gnulib/import/m4/getcwd-path-max.m4 |
| @@ -209,9 +209,21 @@ main () |
| 32) gl_cv_func_getcwd_path_max='yes, but with shorter paths';; |
| *) gl_cv_func_getcwd_path_max=no;; |
| esac], |
| - [case "$host_os" in |
| - aix*) gl_cv_func_getcwd_path_max='no, it has the AIX bug';; |
| - *) gl_cv_func_getcwd_path_max=no;; |
| - esac]) |
| + [# Cross-compilation guesses: |
| + case "$host_os" in |
| + aix*) # On AIX, it has the AIX bug. |
| + gl_cv_func_getcwd_path_max='no, it has the AIX bug' ;; |
| + gnu*) # On Hurd, it is 'yes'. |
| + gl_cv_func_getcwd_path_max=yes ;; |
| + linux* | kfreebsd*) |
| + # On older Linux+glibc it's 'no, but it is partly working', |
| + # on newer Linux+glibc it's 'yes'. |
| + # On Linux+musl libc, it's 'no, but it is partly working'. |
| + # On kFreeBSD+glibc, it's 'no, but it is partly working'. |
| + gl_cv_func_getcwd_path_max='no, but it is partly working' ;; |
| + *) # If we don't know, assume the worst. |
| + gl_cv_func_getcwd_path_max=no ;; |
| + esac |
| + ]) |
| ]) |
| ]) |
| -- |
| 2.19.0 |
| |