aboutsummaryrefslogtreecommitdiff
path: root/binutils/dwarf.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-05-11 10:41:00 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-05-11 10:41:44 -0700
commit3d875af5759b6ac3d0a722ce8b598426c26bf46c (patch)
treee6b4854b0b9096e36a71a5caa05aec83f84757a4 /binutils/dwarf.c
parentbf64a9511f73684c4880fd1818928fdfa1725c4f (diff)
downloadgdb-3d875af5759b6ac3d0a722ce8b598426c26bf46c.zip
gdb-3d875af5759b6ac3d0a722ce8b598426c26bf46c.tar.gz
gdb-3d875af5759b6ac3d0a722ce8b598426c26bf46c.tar.bz2
Add init_dwarf_regnames_iamcu
* dwarf.c (dwarf_regnames_iamcu): New. (init_dwarf_regnames_iamcu): Likewise. (init_dwarf_regnames): Call init_dwarf_regnames_iamcu for EM_IAMCU. * dwarf.h (init_dwarf_regnames_iamcu): New. * objdump.c (dump_dwarf): Call init_dwarf_regnames_iamcu for bfd_arch_iamcu.
Diffstat (limited to 'binutils/dwarf.c')
-rw-r--r--binutils/dwarf.c33
1 files changed, 32 insertions, 1 deletions
diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 5f773bb..96d959a 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -5338,6 +5338,27 @@ static const char *const dwarf_regnames_i386[] =
"k0", "k1", "k2", "k3", "k4", "k5", "k6", "k7" /* 93 - 100 */
};
+static const char *const dwarf_regnames_iamcu[] =
+{
+ "eax", "ecx", "edx", "ebx", /* 0 - 3 */
+ "esp", "ebp", "esi", "edi", /* 4 - 7 */
+ "eip", "eflags", NULL, /* 8 - 10 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 11 - 18 */
+ NULL, NULL, /* 19 - 20 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 21 - 28 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 29 - 36 */
+ NULL, NULL, NULL, /* 37 - 39 */
+ "es", "cs", "ss", "ds", "fs", "gs", NULL, NULL, /* 40 - 47 */
+ "tr", "ldtr", /* 48 - 49 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 50 - 57 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 58 - 65 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 66 - 73 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 74 - 81 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 82 - 89 */
+ NULL, NULL, NULL, /* 90 - 92 */
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL /* 93 - 100 */
+};
+
void
init_dwarf_regnames_i386 (void)
{
@@ -5345,6 +5366,13 @@ init_dwarf_regnames_i386 (void)
dwarf_regnames_count = ARRAY_SIZE (dwarf_regnames_i386);
}
+void
+init_dwarf_regnames_iamcu (void)
+{
+ dwarf_regnames = dwarf_regnames_iamcu;
+ dwarf_regnames_count = ARRAY_SIZE (dwarf_regnames_iamcu);
+}
+
static const char *const dwarf_regnames_x86_64[] =
{
"rax", "rdx", "rcx", "rbx",
@@ -5413,10 +5441,13 @@ init_dwarf_regnames (unsigned int e_machine)
switch (e_machine)
{
case EM_386:
- case EM_IAMCU:
init_dwarf_regnames_i386 ();
break;
+ case EM_IAMCU:
+ init_dwarf_regnames_iamcu ();
+ break;
+
case EM_X86_64:
case EM_L1OM:
case EM_K1OM: