mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-28 23:39:35 +08:00
Add string representation of ELF e_flags for AVR.
binutils/ChangeLog: * readelf.c (decode_AVR_machine_flags): New function. (get_machine_flags): Add EM_AVR case.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2014-12-05 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||||
|
|
||||||
|
* readelf.c (decode_AVR_machine_flags): New function.
|
||||||
|
(get_machine_flags): Add EM_AVR case.
|
||||||
|
|
||||||
2014-12-03 Nick Clifton <nickc@redhat.com>
|
2014-12-03 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
PR binutils/17512
|
PR binutils/17512
|
||||||
|
@ -2437,6 +2437,77 @@ decode_ARM_machine_flags (unsigned e_flags, char buf[])
|
|||||||
strcat (buf,_(", <unknown>"));
|
strcat (buf,_(", <unknown>"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
decode_AVR_machine_flags (unsigned e_flags, char buf[], size_t size)
|
||||||
|
{
|
||||||
|
--size; /* Leave space for null terminator. */
|
||||||
|
|
||||||
|
switch (e_flags & EF_AVR_MACH)
|
||||||
|
{
|
||||||
|
case E_AVR_MACH_AVR1:
|
||||||
|
strncat (buf, ", avr:1", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_AVR2:
|
||||||
|
strncat (buf, ", avr:2", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_AVR25:
|
||||||
|
strncat (buf, ", avr:25", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_AVR3:
|
||||||
|
strncat (buf, ", avr:3", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_AVR31:
|
||||||
|
strncat (buf, ", avr:31", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_AVR35:
|
||||||
|
strncat (buf, ", avr:35", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_AVR4:
|
||||||
|
strncat (buf, ", avr:4", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_AVR5:
|
||||||
|
strncat (buf, ", avr:5", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_AVR51:
|
||||||
|
strncat (buf, ", avr:51", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_AVR6:
|
||||||
|
strncat (buf, ", avr:6", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_AVRTINY:
|
||||||
|
strncat (buf, ", avr:100", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_XMEGA1:
|
||||||
|
strncat (buf, ", avr:101", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_XMEGA2:
|
||||||
|
strncat (buf, ", avr:102", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_XMEGA3:
|
||||||
|
strncat (buf, ", avr:103", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_XMEGA4:
|
||||||
|
strncat (buf, ", avr:104", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_XMEGA5:
|
||||||
|
strncat (buf, ", avr:105", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_XMEGA6:
|
||||||
|
strncat (buf, ", avr:106", size);
|
||||||
|
break;
|
||||||
|
case E_AVR_MACH_XMEGA7:
|
||||||
|
strncat (buf, ", avr:107", size);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
strncat (buf, ", avr:<unknown>", size);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
size -= strlen (buf);
|
||||||
|
if (e_flags & EF_AVR_LINKRELAX_PREPARED)
|
||||||
|
strncat (buf, ", link-relax", size);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
decode_NDS32_machine_flags (unsigned e_flags, char buf[], size_t size)
|
decode_NDS32_machine_flags (unsigned e_flags, char buf[], size_t size)
|
||||||
{
|
{
|
||||||
@ -2658,6 +2729,10 @@ get_machine_flags (unsigned e_flags, unsigned e_machine)
|
|||||||
decode_ARM_machine_flags (e_flags, buf);
|
decode_ARM_machine_flags (e_flags, buf);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case EM_AVR:
|
||||||
|
decode_AVR_machine_flags (e_flags, buf, sizeof buf);
|
||||||
|
break;
|
||||||
|
|
||||||
case EM_BLACKFIN:
|
case EM_BLACKFIN:
|
||||||
if (e_flags & EF_BFIN_PIC)
|
if (e_flags & EF_BFIN_PIC)
|
||||||
strcat (buf, ", PIC");
|
strcat (buf, ", PIC");
|
||||||
|
Reference in New Issue
Block a user