From: =?utf-8?b?SMOpY3RvciBPcsOzbiBNYXJ0w61uZXo=?= Date: Wed, 20 Feb 2019 13:25:36 +0100 Subject: Patch out a PATH_MAX usage, for Hurd's benefit MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Author: Svante Signell Bug-Debian: http://bugs.debian.org/709508 Forwarded: http://sourceware.org/ml/gdb-patches/2013-05/msg00878.html Reviewed-By: Héctor Orón Martínez Last-Update: 2013-06-08 --- gdb/nto-tdep.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gdb/nto-tdep.c b/gdb/nto-tdep.c index 82a4fcb..12923fc 100644 --- a/gdb/nto-tdep.c +++ b/gdb/nto-tdep.c @@ -155,10 +155,12 @@ nto_find_and_open_solib (const char *solib, unsigned o_flags, void nto_init_solib_absolute_prefix (void) { - char buf[PATH_MAX * 2], arch_path[PATH_MAX]; + char *buf, *arch_path; char *nto_root; const char *endian; const char *arch; + int arch_len, len; +#define FMT "set solib-absolute-prefix %s" nto_root = nto_target (); if (strcmp (gdbarch_bfd_arch_info (target_gdbarch ())->arch_name, "i386") == 0) @@ -181,9 +183,13 @@ nto_init_solib_absolute_prefix (void) == BFD_ENDIAN_BIG ? "be" : "le"; } - xsnprintf (arch_path, sizeof (arch_path), "%s/%s%s", nto_root, arch, endian); + arch_len = strlen (nto_root) + 1 + strlen (arch) + strlen (endian) + 1; + arch_path = alloca (arch_len); + xsnprintf (arch_path, arch_len, "%s/%s%s", nto_root, arch, endian); - xsnprintf (buf, sizeof (buf), "set solib-absolute-prefix %s", arch_path); + len = strlen (FMT) - 2 + strlen (arch_path) + 1; + buf = alloca (len); + xsnprintf (buf, len, FMT, arch_path); execute_command (buf, 0); }