diff options
author | Tom Tromey <tromey@adacore.com> | 2021-03-18 09:01:10 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2021-03-18 12:08:41 -0600 |
commit | 15310fd4eb59093f0c394f7b3644a814b5422403 (patch) | |
tree | 70efc7e27dd648251836f302ce14ec40a1eab425 /gdb/dwarf2 | |
parent | 763b8efdcc0ab0f94f7af48792eb5c97b6eca41b (diff) | |
download | gdb-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.
Diffstat (limited to 'gdb/dwarf2')
-rw-r--r-- | gdb/dwarf2/comp-unit.c | 29 | ||||
-rw-r--r-- | gdb/dwarf2/stringify.c | 13 | ||||
-rw-r--r-- | gdb/dwarf2/stringify.h | 3 |
3 files changed, 17 insertions, 28 deletions
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 */ |