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.
This commit is contained in:
parent
bf64a9511f
commit
3d875af575
4 changed files with 46 additions and 1 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
|
2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* elfedit.c (enum elfclass): New.
|
* elfedit.c (enum elfclass): New.
|
||||||
|
|
|
@ -5338,6 +5338,27 @@ static const char *const dwarf_regnames_i386[] =
|
||||||
"k0", "k1", "k2", "k3", "k4", "k5", "k6", "k7" /* 93 - 100 */
|
"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
|
void
|
||||||
init_dwarf_regnames_i386 (void)
|
init_dwarf_regnames_i386 (void)
|
||||||
{
|
{
|
||||||
|
@ -5345,6 +5366,13 @@ init_dwarf_regnames_i386 (void)
|
||||||
dwarf_regnames_count = ARRAY_SIZE (dwarf_regnames_i386);
|
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[] =
|
static const char *const dwarf_regnames_x86_64[] =
|
||||||
{
|
{
|
||||||
"rax", "rdx", "rcx", "rbx",
|
"rax", "rdx", "rcx", "rbx",
|
||||||
|
@ -5413,10 +5441,13 @@ init_dwarf_regnames (unsigned int e_machine)
|
||||||
switch (e_machine)
|
switch (e_machine)
|
||||||
{
|
{
|
||||||
case EM_386:
|
case EM_386:
|
||||||
case EM_IAMCU:
|
|
||||||
init_dwarf_regnames_i386 ();
|
init_dwarf_regnames_i386 ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case EM_IAMCU:
|
||||||
|
init_dwarf_regnames_iamcu ();
|
||||||
|
break;
|
||||||
|
|
||||||
case EM_X86_64:
|
case EM_X86_64:
|
||||||
case EM_L1OM:
|
case EM_L1OM:
|
||||||
case EM_K1OM:
|
case EM_K1OM:
|
||||||
|
|
|
@ -196,6 +196,7 @@ extern int dwarf_check;
|
||||||
|
|
||||||
extern void init_dwarf_regnames (unsigned int);
|
extern void init_dwarf_regnames (unsigned int);
|
||||||
extern void init_dwarf_regnames_i386 (void);
|
extern void init_dwarf_regnames_i386 (void);
|
||||||
|
extern void init_dwarf_regnames_iamcu (void);
|
||||||
extern void init_dwarf_regnames_x86_64 (void);
|
extern void init_dwarf_regnames_x86_64 (void);
|
||||||
extern void init_dwarf_regnames_aarch64 (void);
|
extern void init_dwarf_regnames_aarch64 (void);
|
||||||
|
|
||||||
|
|
|
@ -2449,6 +2449,10 @@ dump_dwarf (bfd *abfd)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case bfd_arch_iamcu:
|
||||||
|
init_dwarf_regnames_iamcu ();
|
||||||
|
break;
|
||||||
|
|
||||||
case bfd_arch_aarch64:
|
case bfd_arch_aarch64:
|
||||||
init_dwarf_regnames_aarch64();
|
init_dwarf_regnames_aarch64();
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue