aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2021-03-18 09:01:10 -0600
committerTom Tromey <tromey@adacore.com>2021-03-18 12:08:41 -0600
commit15310fd4eb59093f0c394f7b3644a814b5422403 (patch)
tree70efc7e27dd648251836f302ce14ec40a1eab425
parent763b8efdcc0ab0f94f7af48792eb5c97b6eca41b (diff)
downloadgdb-15310fd4eb59093f0c394f7b3644a814b5422403.zip
gdb-15310fd4eb59093f0c394f7b3644a814b5422403.tar.gz
gdb-15310fd4eb59093f0c394f7b3644a814b5422403.tar.bz2
Reimplement dwarf_unit_type_name
I noticed that dwarf_unit_type_name is nearly identical to get_DW_UT_name from libiberty; but rather than simply replacing it, it seemed better to have it work like the other DWARF constant stringification functions -- return a string showing unrecognized numeric forms rather than nullptr. (The previous code did include numeric values for the recognized constants, but this seems to be not that useful to me.) 2021-03-18 Tom Tromey <tromey@adacore.com> * dwarf2/stringify.c (dwarf_unit_type_name): New function. Use get_DW_UT_name. * dwarf2/stringify.h (dwarf_unit_type_name): Declare. * dwarf2/comp-unit.c (dwarf_unit_type_name): Remove.
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/dwarf2/comp-unit.c29
-rw-r--r--gdb/dwarf2/stringify.c13
-rw-r--r--gdb/dwarf2/stringify.h3
4 files changed, 24 insertions, 28 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 09cfe0f..11e9ea9 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2021-03-18 Tom Tromey <tromey@adacore.com>
+
+ * dwarf2/stringify.c (dwarf_unit_type_name): New function. Use
+ get_DW_UT_name.
+ * dwarf2/stringify.h (dwarf_unit_type_name): Declare.
+ * dwarf2/comp-unit.c (dwarf_unit_type_name): Remove.
+
2021-03-18 Andrew Burgess <andrew.burgess@embecosm.com>
* python/py-param.c (get_set_value): Update header comment.
diff --git a/gdb/dwarf2/comp-unit.c b/gdb/dwarf2/comp-unit.c
index 72b4e80..ce3b557 100644
--- a/gdb/dwarf2/comp-unit.c
+++ b/gdb/dwarf2/comp-unit.c
@@ -29,34 +29,7 @@
#include "dwarf2/leb.h"
#include "dwarf2/read.h"
#include "dwarf2/section.h"
-
-/* Convert a unit type to corresponding DW_UT name. */
-
-static const char *
-dwarf_unit_type_name (int unit_type)
-{
- switch (unit_type)
- {
- case 0x01:
- return "DW_UT_compile (0x01)";
- case 0x02:
- return "DW_UT_type (0x02)";
- case 0x03:
- return "DW_UT_partial (0x03)";
- case 0x04:
- return "DW_UT_skeleton (0x04)";
- case 0x05:
- return "DW_UT_split_compile (0x05)";
- case 0x06:
- return "DW_UT_split_type (0x06)";
- case 0x80:
- return "DW_UT_lo_user (0x80)";
- case 0xff:
- return "DW_UT_hi_user (0xff)";
- default:
- return nullptr;
- }
-}
+#include "dwarf2/stringify.h"
/* See comp-unit.h. */
diff --git a/gdb/dwarf2/stringify.c b/gdb/dwarf2/stringify.c
index 43e88f9..b292f9f 100644
--- a/gdb/dwarf2/stringify.c
+++ b/gdb/dwarf2/stringify.c
@@ -112,3 +112,16 @@ dwarf_type_encoding_name (unsigned enc)
return name;
}
+
+/* See stringify.h. */
+
+const char *
+dwarf_unit_type_name (int unit_type)
+{
+ const char *name = get_DW_UT_name (unit_type);
+
+ if (name == nullptr)
+ return dwarf_unknown ("UT", unit_type);
+
+ return name;
+}
diff --git a/gdb/dwarf2/stringify.h b/gdb/dwarf2/stringify.h
index ada4c1e..d2139d9 100644
--- a/gdb/dwarf2/stringify.h
+++ b/gdb/dwarf2/stringify.h
@@ -35,4 +35,7 @@ extern const char *dwarf_bool_name (unsigned mybool);
/* Convert a DWARF type code into its string name. */
extern const char *dwarf_type_encoding_name (unsigned enc);
+/* Convert a DWARF unit type into is string name. */
+extern const char *dwarf_unit_type_name (int unit_type);
+
#endif /* GDB_DWARF2_STRINGIFY_H */