diff --git a/gdb/nto-tdep.c b/gdb/nto-tdep.c index 748869f..cf4fd60 100644 --- a/gdb/nto-tdep.c +++ b/gdb/nto-tdep.c @@ -147,9 +147,10 @@ nto_find_and_open_solib (char *solib, unsigned o_flags, char **temp_pathname) void nto_init_solib_absolute_prefix (void) { - char buf[PATH_MAX * 2], arch_path[PATH_MAX]; + char buf; char *nto_root, *endian; const char *arch; + struct cleanup *old_chain; nto_root = nto_target (); if (strcmp (gdbarch_bfd_arch_info (target_gdbarch ())->arch_name, "i386") == 0) @@ -172,10 +173,11 @@ nto_init_solib_absolute_prefix (void) == BFD_ENDIAN_BIG ? "be" : "le"; } - xsnprintf (arch_path, sizeof (arch_path), "%s/%s%s", nto_root, arch, endian); - - xsnprintf (buf, sizeof (buf), "set solib-absolute-prefix %s", arch_path); + buf = xstrprintf ("set solib-absolute-prefix \"%s/%s%s\"", + nto_root, arch, endian); + old_chain = make_cleanup (xfree, buf); execute_command (buf, 0); + make_cleanup (old_chain); } char **