aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2017-02-17 16:45:01 +0000
committerThomas Schwinge <thomas@codesourcery.com>2019-02-14 17:40:19 +0100
commitb671c7fb21306ce125717a44c30a71686bd24db1 (patch)
tree82be0213d6a8af860e98512111b7b0b06190d078 /gdb
parent8071c5ce78245eff43f9977a7c3ff8328f7486da (diff)
downloadgdb-b671c7fb21306ce125717a44c30a71686bd24db1.zip
gdb-b671c7fb21306ce125717a44c30a71686bd24db1.tar.gz
gdb-b671c7fb21306ce125717a44c30a71686bd24db1.tar.bz2
[gdb, hurd] Avoid using 'PATH_MAX' in 'gdb/remote.c'
..., which is not defined in GNU/Hurd systems, and so commit 94585166dfea8232c248044f9f4b1c217dc4ac2e "Extended-remote follow-exec" caused: [...]/gdb/remote.c: In member function 'void remote_target::remote_parse_stop_reply(const char*, stop_reply*)': [...]/gdb/remote.c:7343:22: error: 'PATH_MAX' was not declared in this scope char pathname[PATH_MAX]; ^~~~~~~~ gdb/ * remote.c (remote_target::remote_parse_stop_reply): Avoid using 'PATH_MAX'.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/remote.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f2bbd77..bb27f74 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2019-02-14 Thomas Schwinge <thomas@codesourcery.com>
+ Pedro Alves <palves@redhat.com>
+
+ * remote.c (remote_target::remote_parse_stop_reply): Avoid using
+ 'PATH_MAX'.
+
2019-02-14 David Michael <fedora.dm0@gmail.com>
Samuel Thibault <samuel.thibault@gnu.org>
Thomas Schwinge <thomas@codesourcery.com>
diff --git a/gdb/remote.c b/gdb/remote.c
index 18e678d..85af01e 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -7340,7 +7340,6 @@ Packet: '%s'\n"),
else if (strprefix (p, p1, "exec"))
{
ULONGEST ignored;
- char pathname[PATH_MAX];
int pathlen;
/* Determine the length of the execd pathname. */
@@ -7349,11 +7348,14 @@ Packet: '%s'\n"),
/* Save the pathname for event reporting and for
the next run command. */
+ char *pathname = (char *) xmalloc (pathlen + 1);
+ struct cleanup *old_chain = make_cleanup (xfree, pathname);
hex2bin (p1, (gdb_byte *) pathname, pathlen);
pathname[pathlen] = '\0';
+ discard_cleanups (old_chain);
/* This is freed during event handling. */
- event->ws.value.execd_pathname = xstrdup (pathname);
+ event->ws.value.execd_pathname = pathname;
event->ws.kind = TARGET_WAITKIND_EXECD;
/* Skip the registers included in this packet, since