+2009-11-20 Nick Clifton <nickc@redhat.com>
+
+ * readelf.c: Include xc16x.h.
+ (dump_relocations): Handle relocations for the xc16x target.
+ (get_machine_name): Accept EM_C166 for xc16x targets.
+ (is_32bit_abs_reloc): Add support for xc16c 32-bit absolute reloc.
+ (is_16bit_abs_reloc): Add support for xc16c 16-bit absolute reloc.
+ (is_none_reloc): Add support for xc16c null reloc.
+
2009-11-20 Ben Elliston <bje@au.ibm.com>
* Makefile.am (syslex.o): Use $(NO_WERROR) not -Wno-error.
#include "elf/v850.h"
#include "elf/vax.h"
#include "elf/x86-64.h"
+#include "elf/xc16x.h"
#include "elf/xstormy16.h"
#include "elf/xtensa.h"
case EM_RX:
rtype = elf_rx_reloc_type (type);
break;
+
+ case EM_XC16X:
+ case EM_C166:
+ rtype = elf_xc16x_reloc_type (type);
+ break;
}
if (rtype == NULL)
case EM_BLACKFIN: return "Analog Devices Blackfin";
case EM_NIOS32: return "Altera Nios";
case EM_ALTERA_NIOS2: return "Altera Nios II";
+ case EM_C166:
case EM_XC16X: return "Infineon Technologies xc16x";
case EM_CYGNUS_MEP: return "Toshiba MeP Media Engine";
case EM_CR16:
case EM_X86_64:
case EM_L1OM:
return reloc_type == 10; /* R_X86_64_32. */
+ case EM_XC16X:
+ case EM_C166:
+ return reloc_type == 3; /* R_XC16C_ABS_32. */
case EM_XSTORMY16:
return reloc_type == 1; /* R_XSTROMY16_32. */
case EM_XTENSA_OLD:
case EM_XTENSA:
return reloc_type == 1; /* R_XTENSA_32. */
-
default:
error (_("Missing knowledge of 32-bit reloc types used in DWARF sections of machine number %d\n"),
elf_header.e_machine);
case EM_ALTERA_NIOS2:
case EM_NIOS32:
return reloc_type == 9; /* R_NIOS_16. */
+ case EM_XC16X:
+ case EM_C166:
+ return reloc_type == 2; /* R_XC16C_ABS_16. */
default:
return FALSE;
}
case EM_L1OM: /* R_X86_64_NONE. */
case EM_MN10300: /* R_MN10300_NONE. */
case EM_M32R: /* R_M32R_NONE. */
+ case EM_XC16X:
+ case EM_C166: /* R_XC16X_NONE. */
return reloc_type == 0;
case EM_XTENSA_OLD:
case EM_XTENSA: