aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorDoug Evans <xdje42@gmail.com>2015-09-18 21:43:38 -0700
committerDoug Evans <xdje42@gmail.com>2015-09-18 21:43:38 -0700
commit015d2e7e49056e0d5fea1c18bf8de9b1be7c096f (patch)
tree5e18796c5f9b2e007b0f0a5449f1fae6a1357625 /bfd
parentd96c806b9210f2a9dc07f9ebfc811b3fc0c0f870 (diff)
downloadgdb-015d2e7e49056e0d5fea1c18bf8de9b1be7c096f.zip
gdb-015d2e7e49056e0d5fea1c18bf8de9b1be7c096f.tar.gz
gdb-015d2e7e49056e0d5fea1c18bf8de9b1be7c096f.tar.bz2
default_read_var_value <LOC_UNRESOLVED>: Include minsym kind in error message.
bfd/ChangeLog: * targets.c (enum bfd_flavour): Add comment. (bfd_flavour_name): New function. * bfd-in2.h: Regenerate. gdb/ChangeLog: * findvar.c (default_read_var_value) <LOC_UNRESOLVED>: Include the kind of minimal symbol in the error message. * objfiles.c (objfile_flavour_name): New function. * objfiles.h (objfile_flavour_name): Declare. gdb/testsuite/ChangeLog: * gdb.dwarf2/dw2-bad-unresolved.c: New file. * gdb.dwarf2/dw2-bad-unresolved.exp: New file.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/bfd-in2.h3
-rw-r--r--bfd/targets.c48
3 files changed, 57 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 3e0c7b8..70d9952 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2015-09-18 Doug Evans <xdje42@gmail.com>
+
+ * targets.c (enum bfd_flavour): Add comment.
+ (bfd_flavour_name): New function.
+ * bfd-in2.h: Regenerate.
+
2015-09-18 Alan Modra <amodra@gmail.com>
* elf64-ppc.h (struct ppc64_elf_params <tls_get_addr_opt>): Rename
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 51fa54f..f06d76e 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -6980,6 +6980,7 @@ bfd_boolean generic_core_file_matches_executable_p
enum bfd_flavour
{
+ /* N.B. Update bfd_flavour_name if you change this. */
bfd_target_unknown_flavour,
bfd_target_aout_flavour,
bfd_target_coff_flavour,
@@ -7399,6 +7400,8 @@ const bfd_target *bfd_search_for_target
(int (*search_func) (const bfd_target *, void *),
void *);
+const char *bfd_flavour_name (enum bfd_flavour flavour);
+
/* Extracted from format.c. */
bfd_boolean bfd_check_format (bfd *abfd, bfd_format format);
diff --git a/bfd/targets.c b/bfd/targets.c
index 1ada260..cc9d083 100644
--- a/bfd/targets.c
+++ b/bfd/targets.c
@@ -144,6 +144,7 @@ DESCRIPTION
.enum bfd_flavour
.{
+. {* N.B. Update bfd_flavour_name if you change this. *}
. bfd_target_unknown_flavour,
. bfd_target_aout_flavour,
. bfd_target_coff_flavour,
@@ -1829,3 +1830,50 @@ bfd_search_for_target (int (*search_func) (const bfd_target *, void *),
return NULL;
}
+
+/*
+FUNCTION
+ bfd_flavour_name
+
+SYNOPSIS
+ const char *bfd_flavour_name (enum bfd_flavour flavour);
+
+DESCRIPTION
+ Return the string form of @var{flavour}.
+*/
+
+const char *
+bfd_flavour_name (enum bfd_flavour flavour)
+{
+ switch (flavour)
+ {
+ case bfd_target_unknown_flavour: return "unknown file format";
+ case bfd_target_aout_flavour: return "a.out";
+ case bfd_target_coff_flavour: return "COFF";
+ case bfd_target_ecoff_flavour: return "ECOFF";
+ case bfd_target_xcoff_flavour: return "XCOFF";
+ case bfd_target_elf_flavour: return "ELF";
+ case bfd_target_ieee_flavour: return "IEEE";
+ case bfd_target_nlm_flavour: return "NLM";
+ case bfd_target_oasys_flavour: return "Oasys";
+ case bfd_target_tekhex_flavour: return "Tekhex";
+ case bfd_target_srec_flavour: return "Srec";
+ case bfd_target_verilog_flavour: return "Verilog";
+ case bfd_target_ihex_flavour: return "Ihex";
+ case bfd_target_som_flavour: return "SOM";
+ case bfd_target_os9k_flavour: return "OS9K";
+ case bfd_target_versados_flavour: return "Versados";
+ case bfd_target_msdos_flavour: return "MSDOS";
+ case bfd_target_ovax_flavour: return "Ovax";
+ case bfd_target_evax_flavour: return "Evax";
+ case bfd_target_mmo_flavour: return "MMO";
+ case bfd_target_mach_o_flavour: return "MACH_O";
+ case bfd_target_pef_flavour: return "PEF";
+ case bfd_target_pef_xlib_flavour: return "PEF_XLIB";
+ case bfd_target_sym_flavour: return "SYM";
+ /* There is no "default" case here so that -Wswitch (part of -Wall)
+ catches missing entries. */
+ }
+
+ abort ();
+}