Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Sergio Durigan Junior <sergiodj@redhat.com>
To: GDB Patches <gdb-patches@sourceware.org>
Cc: Pedro Alves <palves@redhat.com>,
	Sergio Durigan Junior <sergiodj@redhat.com>
Subject: [PATCH v2 1/5] Import "glob" and "getcwd" modules from gnulib
Date: Tue, 19 Sep 2017 04:37:00 -0000	[thread overview]
Message-ID: <87y3pbwbgl.fsf@redhat.com> (raw)
In-Reply-To: <20170919042842.9210-1-sergiodj@redhat.com>

[ Resending as the original e-mail got bounced because it is too long to
  be posted here. ]

The full patch can be seen here:

  https://git.sergiodj.net/binutils-gdb.git/commit/?h=sergiodj/set-cwd-command&id=acf35a31bac3951f81d0446564b7f910a0fee21c

These two modules are necessary because of the rework that will be
done in the "change directory" logic on GDB/gdbserver in the next
commits.

First, we will get rid of the "gdb_dirbuf" global variable and instead
rely on the fact that "getcwd (NULL, 0)" returns a heap-allocated
string with the necessary bytes to hold the full path.  This is a good
practice not only because globals are not ideal but also because there
is no good way to know beforehand the size of the full pathname
allowed in the filesystem ("PATH_MAX" is not portable and does not
reflect all the possible filesystems out there).

We will also have a way to "cd" to a directory also on gdbserver, but
in order to do that uniformly, there must be a way to do tilde
expansion on directories provided by the user.  Currently, GDB uses
"tilde_expand" from readline to do that, but gdbserver doesn't link
against readline and therefore cannot use this function.  The solution
is to use "glob" instead, which can perform tilde expansion as a GNU
extension.  Therefore, we need gnulib's version of "glob".

As a side note, we no longer need to define "close" on gdb/ser-tcp.c,
so the patch removes that.

gdb/ChangeLog:
yyyy-mm-dd  Sergio Durigan Junior  <sergiodj@redhat.com>

	* gnulib/aclocal.m4: Regenerate.
	* gnulib/config.in: Likewise.
	* gnulib/configure: Likewise.
	* gnulib/import/Makefile.am: Likewise.
	* gnulib/import/Makefile.in: Likewise.
	* gnulib/import/assure.h: New file.
	* gnulib/import/at-func.c: Likewise
	* gnulib/import/chdir-long.c: Likewise.
	* gnulib/import/chdir-long.h: Likewise.
	* gnulib/import/cloexec.c: Likewise.
	* gnulib/import/cloexec.h: Likewise.
	* gnulib/import/close.c: Likewise.
	* gnulib/import/closedir.c: Likewise.
	* gnulib/import/dirent-private.h: Likewise.
	* gnulib/import/dup-safer.c: Likewise.
	* gnulib/import/dup.c: Likewise.
	* gnulib/import/dup2.c: Likewise.
	* gnulib/import/error.c: Likewise.
	* gnulib/import/error.h: Likewise.
	* gnulib/import/exitfail.c: Likewise.
	* gnulib/import/exitfail.h: Likewise.
	* gnulib/import/fchdir.c: Likewise.
	* gnulib/import/fcntl.c: Likewise.
	* gnulib/import/fcntl.in.h: Likewise.
	* gnulib/import/fd-hook.c: Likewise.
	* gnulib/import/fd-hook.h: Likewise.
	* gnulib/import/fd-safer.c: Likewise.
	* gnulib/import/fdopendir.c: Likewise.
	* gnulib/import/filename.h: Likewise.
	* gnulib/import/filenamecat-lgpl.c: Likewise.
	* gnulib/import/filenamecat.h: Likewise.
	* gnulib/import/fstat.c: Likewise.
	* gnulib/import/fstatat.c: Likewise.
	* gnulib/import/getcwd-lgpl.c: Likewise.
	* gnulib/import/getcwd.c: Likewise.
	* gnulib/import/getdtablesize.c: Likewise.
	* gnulib/import/getlogin_r.c: Likewise.
	* gnulib/import/getprogname.c: Likewise.
	* gnulib/import/getprogname.h: Likewise.
	* gnulib/import/gettext.h: Likewise.
	* gnulib/import/glob-libc.h: Likewise.
	* gnulib/import/glob.c: Likewise.
	* gnulib/import/glob.in.h: Likewise.
	* gnulib/import/intprops.h: Likewise.
	* gnulib/import/m4/chdir-long.m4: Likewise.
	* gnulib/import/m4/close.m4: Likewise.
	* gnulib/import/m4/closedir.m4: Likewise.
	* gnulib/import/m4/d-ino.m4: Likewise.
	* gnulib/import/m4/d-type.m4: Likewise.
	* gnulib/import/m4/dup.m4: Likewise.
	* gnulib/import/m4/dup2.m4: Likewise.
	* gnulib/import/m4/error.m4: Likewise.
	* gnulib/import/m4/fchdir.m4: Likewise.
	* gnulib/import/m4/fcntl.m4: Likewise.
	* gnulib/import/m4/fcntl_h.m4: Likewise.
	* gnulib/import/m4/fdopendir.m4: Likewise.
	* gnulib/import/m4/filenamecat.m4: Likewise.
	* gnulib/import/m4/fstat.m4: Likewise.
	* gnulib/import/m4/fstatat.m4: Likewise.
	* gnulib/import/m4/getcwd-abort-bug.m4: Likewise.
	* gnulib/import/m4/getcwd-path-max.m4: Likewise.
	* gnulib/import/m4/getcwd.m4: Likewise.
	* gnulib/import/m4/getdtablesize.m4: Likewise.
	* gnulib/import/m4/getlogin_r.m4: Likewise.
	* gnulib/import/m4/getprogname.m4: Likewise.
	* gnulib/import/m4/glob.m4: Likewise.
	* gnulib/import/m4/gnulib-cache.m4: Regenerate
	* gnulib/import/m4/gnulib-comp.m4: Likewise.
	* gnulib/import/m4/mempcpy.m4: New file.
	* gnulib/import/m4/memrchr.m4: Likewise.
	* gnulib/import/m4/mode_t.m4: Likewise.
	* gnulib/import/m4/msvc-inval.m4: Likewise.
	* gnulib/import/m4/msvc-nothrow.m4: Likewise.
	* gnulib/import/m4/open.m4: Likewise.
	* gnulib/import/m4/openat.m4: Likewise.
	* gnulib/import/m4/opendir.m4: Likewise.
	* gnulib/import/m4/readdir.m4: Likewise.
	* gnulib/import/m4/realloc.m4: Likewise.
	* gnulib/import/m4/rewinddir.m4: Likewise.
	* gnulib/import/m4/save-cwd.m4: Likewise.
	* gnulib/import/m4/strdup.m4: Likewise.
	* gnulib/import/m4/strerror.m4: Likewise.
	* gnulib/import/m4/unistd-safer.m4: Likewise.
	* gnulib/import/mempcpy.c: Likewise.
	* gnulib/import/memrchr.c: Likewise.
	* gnulib/import/msvc-inval.c: Likewise.
	* gnulib/import/msvc-inval.h: Likewise.
	* gnulib/import/msvc-nothrow.c: Likewise.
	* gnulib/import/msvc-nothrow.h: Likewise.
	* gnulib/import/open.c: Likewise.
	* gnulib/import/openat-die.c: Likewise.
	* gnulib/import/openat-priv.h: Likewise.
	* gnulib/import/openat-proc.c: Likewise.
	* gnulib/import/openat.c: Likewise.
	* gnulib/import/openat.h: Likewise.
	* gnulib/import/opendir.c: Likewise.
	* gnulib/import/pipe-safer.c: Likewise.
	* gnulib/import/readdir.c: Likewise.
	* gnulib/import/realloc.c: Likewise.
	* gnulib/import/rewinddir.c: Likewise.
	* gnulib/import/save-cwd.c: Likewise.
	* gnulib/import/save-cwd.h: Likewise.
	* gnulib/import/strdup.c: Likewise.
	* gnulib/import/strerror-override.c: Likewise.
	* gnulib/import/strerror-override.h: Likewise.
	* gnulib/import/strerror.c: Likewise.
	* gnulib/import/unistd--.h: Likewise.
	* gnulib/import/unistd-safer.h: Likewise.
	* gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add
	"getcwd" and "glob".
	* ser-tcp.c: Do not (re)define "close".


-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/


  parent reply	other threads:[~2017-09-19  4:37 UTC|newest]

Thread overview: 131+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-12  4:23 [PATCH 0/4] New "set cwd" command Sergio Durigan Junior
2017-09-12  4:23 ` [PATCH 2/4] Import "glob" module from gnulib Sergio Durigan Junior
2017-09-12  4:23 ` [PATCH 4/4] Implement "set cwd" command Sergio Durigan Junior
2017-09-12 14:50   ` Eli Zaretskii
2017-09-12  4:23 ` [PATCH 3/4] Introduce gdb_chdir Sergio Durigan Junior
2017-09-12 14:53   ` Eli Zaretskii
2017-09-13 23:00     ` Sergio Durigan Junior
2017-09-13 16:07   ` Pedro Alves
2017-09-14 15:14     ` Sergio Durigan Junior
2017-09-14 15:23       ` Pedro Alves
2017-09-14 15:33         ` Sergio Durigan Junior
2017-09-12  4:23 ` [PATCH 1/4] Make gdb_dirbuf local to functions Sergio Durigan Junior
2017-09-13 15:12   ` Pedro Alves
2017-09-13 22:03     ` Sergio Durigan Junior
2017-09-13 22:19       ` Pedro Alves
2017-09-13 22:46         ` Sergio Durigan Junior
2017-09-13 23:47           ` Pedro Alves
2017-09-12 14:55 ` [PATCH 0/4] New "set cwd" command Eli Zaretskii
2017-09-12 16:48   ` Sergio Durigan Junior
2017-09-12 16:57     ` Eli Zaretskii
2017-09-12 17:51       ` Sergio Durigan Junior
2017-09-13 15:00         ` Pedro Alves
2017-09-13 15:06           ` Eli Zaretskii
2017-09-13 21:56             ` Sergio Durigan Junior
2017-09-13 14:54 ` Pedro Alves
2017-09-13 21:54   ` Sergio Durigan Junior
2017-09-19  4:28 ` [PATCH v2 0/5] " Sergio Durigan Junior
2017-09-19  4:28   ` [PATCH v2 2/5] Get rid of "gdb_dirbuf" and use "getcwd (NULL, 0)" Sergio Durigan Junior
2017-09-20 12:24     ` Pedro Alves
2017-09-20 17:02       ` Sergio Durigan Junior
2017-09-19  4:28   ` [PATCH v2 3/5] Introduce gdb_chdir Sergio Durigan Junior
2017-09-20 13:14     ` Pedro Alves
2017-09-20 17:25       ` Sergio Durigan Junior
2017-09-19  4:28   ` [PATCH v2 4/5] Implement "set cwd" command Sergio Durigan Junior
2017-09-20 14:01     ` Pedro Alves
2017-09-20 23:08       ` Sergio Durigan Junior
2017-09-19  4:33   ` [PATCH v2 5/5] Extend "set cwd" to work on gdbserver Sergio Durigan Junior
2017-09-20 14:34     ` Pedro Alves
2017-09-20 23:49       ` Sergio Durigan Junior
2017-09-21  1:37         ` Sergio Durigan Junior
2017-09-22 10:47         ` Pedro Alves
2017-09-22 18:33           ` Sergio Durigan Junior
2017-09-27 13:28             ` Pedro Alves
2017-09-19  4:37   ` Sergio Durigan Junior [this message]
2017-09-20 12:17     ` [PATCH v2 1/5] Import "glob" and "getcwd" modules from gnulib Pedro Alves
2017-09-20 17:17       ` Sergio Durigan Junior
2017-09-20 17:33         ` Pedro Alves
2017-09-20 18:31           ` Sergio Durigan Junior
2017-09-20 20:30             ` Sergio Durigan Junior
2017-09-20 22:44               ` Pedro Alves
2017-09-20 23:12                 ` Sergio Durigan Junior
2017-09-20 23:25                   ` Pedro Alves
2017-09-21 22:59 ` New "set cwd" command Sergio Durigan Junior
2017-09-21 22:59   ` [PATCH v3 2/5] Get rid of "gdb_dirbuf" and use "getcwd (NULL, 0)" Sergio Durigan Junior
2017-09-22 11:19     ` Pedro Alves
2017-09-22 17:30       ` Sergio Durigan Junior
2017-09-21 22:59   ` [PATCH v3 3/5] Introduce gdb_tilde_expand Sergio Durigan Junior
2017-09-22 11:57     ` Pedro Alves
2017-09-22 17:37       ` Sergio Durigan Junior
2017-09-22 17:41         ` Pedro Alves
2017-09-22 18:07           ` Sergio Durigan Junior
2017-09-22 18:20             ` Pedro Alves
2017-09-22 18:22               ` Sergio Durigan Junior
2017-09-21 22:59   ` [PATCH v3 4/5] Implement "set cwd" command on GDB Sergio Durigan Junior
2017-09-22  8:03     ` Eli Zaretskii
2017-09-22 12:31       ` Pedro Alves
2017-09-22 18:15         ` Sergio Durigan Junior
2017-09-22 18:00       ` Sergio Durigan Junior
2017-09-22 18:56         ` Eli Zaretskii
2017-09-22 19:24           ` Pedro Alves
2017-09-22 19:41             ` Eli Zaretskii
2017-09-22 20:27               ` Sergio Durigan Junior
2017-09-22 20:37                 ` Pedro Alves
2017-09-23  5:55                   ` Eli Zaretskii
2017-09-27 14:02                     ` Pedro Alves
2017-09-29 15:31                       ` Eli Zaretskii
2017-09-29 15:46                         ` Pedro Alves
2017-09-29 17:51                           ` Eli Zaretskii
2017-09-23  5:52                 ` Eli Zaretskii
2017-09-22 20:24           ` Sergio Durigan Junior
2017-09-23  5:51             ` Eli Zaretskii
2017-09-22 20:55           ` Sergio Durigan Junior
2017-09-23  6:05             ` Eli Zaretskii
2017-09-23 17:01               ` Sergio Durigan Junior
2017-09-21 22:59   ` [PATCH v3 1/5] Import "glob" and "getcwd" modules from gnulib Sergio Durigan Junior
2017-09-22 11:01     ` Pedro Alves
2017-09-22 17:29       ` Sergio Durigan Junior
2017-09-21 23:06   ` [PATCH v3 5/5] Extend "set cwd" to work on gdbserver Sergio Durigan Junior
2017-09-22  8:12     ` Eli Zaretskii
2017-09-22 18:46       ` Sergio Durigan Junior
2017-09-22 19:09         ` Eli Zaretskii
2017-09-22 20:47           ` Sergio Durigan Junior
2017-09-23  6:00             ` Eli Zaretskii
2017-09-27 14:42     ` Pedro Alves
2017-09-27 21:48       ` Sergio Durigan Junior
2017-09-29 14:03         ` Pedro Alves
2017-09-29 18:33           ` Sergio Durigan Junior
2017-09-28  4:10 ` [PATCH v4 0/3] New "set cwd" command Sergio Durigan Junior
2017-09-28  4:10   ` [PATCH v4 1/3] Introduce gdb_tilde_expand Sergio Durigan Junior
2017-09-29 14:08     ` Pedro Alves
2017-09-29 17:48       ` Sergio Durigan Junior
2017-09-28  4:11   ` [PATCH v4 3/3] Extend "set cwd" to work on gdbserver Sergio Durigan Junior
2017-09-29 15:21     ` Pedro Alves
2017-09-29 18:48       ` Sergio Durigan Junior
2017-10-03 15:13         ` Pedro Alves
2017-09-28  4:11   ` [PATCH v4 2/3] Implement "set cwd" command on GDB Sergio Durigan Junior
2017-09-29 15:20     ` Pedro Alves
2017-09-29 18:31       ` Sergio Durigan Junior
2017-09-29 22:58 ` [PATCH v5 0/3] New "set cwd" command Sergio Durigan Junior
2017-09-29 22:59   ` [PATCH v5 3/3] Extend "set cwd" to work on gdbserver Sergio Durigan Junior
2017-10-03 15:15     ` Pedro Alves
2017-10-03 16:45       ` Sergio Durigan Junior
2017-10-04  6:09         ` Sergio Durigan Junior
2017-09-29 22:59   ` [PATCH v5 2/3] Implement "set cwd" command on GDB Sergio Durigan Junior
2017-10-03 15:15     ` Pedro Alves
2017-10-03 16:39       ` Sergio Durigan Junior
2017-10-03 16:44         ` Pedro Alves
2017-10-03 16:47           ` Sergio Durigan Junior
2017-10-03 16:58             ` Sergio Durigan Junior
2017-10-03 20:09               ` Sergio Durigan Junior
2017-10-03 21:29                 ` Pedro Alves
2017-10-04  5:40                   ` Eli Zaretskii
2017-10-04  6:10                     ` Sergio Durigan Junior
2017-10-06  2:37                       ` asmwarrior
2017-10-06 10:54                         ` [pushed] Fix GDB build under msys+mingw gcc 32bit (Re: [PATCH v5 2/3] Implement "set cwd" command on GDB) Pedro Alves
2017-10-06 11:06                           ` [pushed] Fix more GDB build breakage on mingw32 " Pedro Alves
2017-10-06 11:15                             ` asmwarrior
2017-10-09 21:58                               ` Sergio Durigan Junior
2017-09-29 22:59   ` [PATCH v5 1/3] Introduce gdb_tilde_expand Sergio Durigan Junior
2017-10-03 15:15     ` Pedro Alves
2017-10-04  6:09       ` Sergio Durigan Junior

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y3pbwbgl.fsf@redhat.com \
    --to=sergiodj@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=palves@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox