Move gdb_bfd_errmsg to gdb_bfd.c

gdb_bfd.c contains most of gdb's BFD-related utility functions.
However, gdb_bfd_errmsg is in utils.c.  It seemed better to me to move
this out of util.[ch] and into the BFD-related file instead.

Tested by rebuilding.
This commit is contained in:
Tom Tromey
2021-12-21 16:24:16 -07:00
parent b6a08665ff
commit 34b965f7c0
4 changed files with 37 additions and 35 deletions

View File

@@ -1059,6 +1059,36 @@ gdb_bfd_get_full_section_contents (bfd *abfd, asection *section,
section_size);
}
#define AMBIGUOUS_MESS1 ".\nMatching formats:"
#define AMBIGUOUS_MESS2 \
".\nUse \"set gnutarget format-name\" to specify the format."
/* See gdb_bfd.h. */
std::string
gdb_bfd_errmsg (bfd_error_type error_tag, char **matching)
{
char **p;
/* Check if errmsg just need simple return. */
if (error_tag != bfd_error_file_ambiguously_recognized || matching == NULL)
return bfd_errmsg (error_tag);
std::string ret (bfd_errmsg (error_tag));
ret += AMBIGUOUS_MESS1;
for (p = matching; *p; p++)
{
ret += " ";
ret += *p;
}
ret += AMBIGUOUS_MESS2;
xfree (matching);
return ret;
}
/* A callback for htab_traverse that prints a single BFD. */
static int