aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2009-08-06 17:38:04 +0000
committerNick Clifton <nickc@redhat.com>2009-08-06 17:38:04 +0000
commit7ba29e2a41ab1802c0e56ce97b290d5f0aece80e (patch)
treef9554da8575bf66344ef7b43514540eb2a9b6b14 /binutils
parent9961db38d440a4e4d7a4fff624b3d2fe499192a7 (diff)
downloadfsf-binutils-gdb-7ba29e2a41ab1802c0e56ce97b290d5f0aece80e.zip
fsf-binutils-gdb-7ba29e2a41ab1802c0e56ce97b290d5f0aece80e.tar.gz
fsf-binutils-gdb-7ba29e2a41ab1802c0e56ce97b290d5f0aece80e.tar.bz2
Add support for Xilinx MicroBlaze processor.
* bfd/Makefile.am: Add cpu-microblaze.{lo,c}, elf32-microblaze.{lo,c}. * bfd/Makefile.in: Same. * bfd/archures.c: Add bfd_arch_microblaze. * bfd/bfd-in2.h: Regenerate. * bfd/config.bfd: Add microblaze target. * bfd/configure: Add bfd_elf32_microblaze_vec target. * bfd/configure.in: Same. * bfd/cpu-microblaze.c: New. * bfd/elf32-microblaze.c: New. * bfd/libbfd-in.h: Add prototype _bfd_dwarf2_fixup_section_debug_loc(). * bfd/libbfd.h: Regenerate. * bfd/reloc.c: Add MICROBLAZE relocations. * bfd/section.c: Add struct relax_table and relax_count to section. * bfd/targets.c: Add bfd_elf32_microblaze_vec. * binutils/MAINTAINERS: Add self as maintainer. * binutils/readelf.c: Include elf/microblaze.h, add EM_MICROBLAZE & EM_MICROBLAZE_OLD to guess_is_rela(), dump_relocations(), get_machine_name(). * config.sub: Add microblaze target. * configure: Same. * configure.ac: Same. * gas/Makefile.am: add microblaze to CPU_TYPES, config/tc-microblaze.c to TARGET_CPU_CFILES, config/tc-microblaze.h to TARGET_CPU_HFILES, add DEP_microblaze_elf target. * gas/Makefile.in: Same. * gas/config/tc-microblaze.c: Add MicroBlaze assembler. * gas/config/tc-microblaze.h: Add header for tc-microblaze.c. * gas/configure: Add microblaze target. * gas/configure.in: Same. * gas/configure.tgt: Same. * gas/doc/Makefile.am: Add c-microblaze.texi to CPU_DOCS. * gas/doc/Makefile.in: Same. * gas/doc/all.texi: Set MICROBLAZE. * gas/doc/as.texinfo: Add MicroBlaze doc links. * gas/doc/c-microblaze.texi: New MicroBlaze docs. * include/dis-asm.h: Decl print_insn_microblaze(). * include/elf/common.h: Define EM_MICROBLAZE & EM_MICROBLAZE_OLD. * include/elf/microblaze.h: New reloc definitions. * ld/Makefile.am: Add eelf32mb_linux.o, eelf32microblaze.o to ALL_EMULATIONS, targets. * ld/Makefile.in: Same. * ld/configure.tgt: Add microblaze*-linux*, microblaze* targets. * ld/emulparams/elf32mb_linux.sh: New. * ld/emulparams/elf32microblaze.sh. New. * ld/scripttempl/elfmicroblaze.sc: New. * opcodes/Makefile.am: Add microblaze-opc.h to HFILES, microblaze-dis.c to CFILES, microblaze-dis.lo to ALL_MACHINES, targets. * opcodes/Makefile.in: Same. * opcodes/configure: Add bfd_microblaze_arch target. * opcodes/configure.in: Same. * opcodes/disassemble.c: Define ARCH_microblaze, return print_insn_microblaze(). * opcodes/microblaze-dis.c: New MicroBlaze disassembler. * opcodes/microblaze-opc.h: New MicroBlaze opcode definitions. * opcodes/microblaze-opcm.h: New MicroBlaze opcode types.
Diffstat (limited to 'binutils')
-rw-r--r--binutils/MAINTAINERS1
-rw-r--r--binutils/readelf.c10
2 files changed, 11 insertions, 0 deletions
diff --git a/binutils/MAINTAINERS b/binutils/MAINTAINERS
index c2b7b70..6d31632 100644
--- a/binutils/MAINTAINERS
+++ b/binutils/MAINTAINERS
@@ -93,6 +93,7 @@ responsibility among the other maintainers.
MACH-O Tristan Gingold <gingold@adacore.com>
MAXQ Inderpreet Singh <inderpreetb@noida.hcltech.com>
MEP Dave Brolley <brolley@redhat.com>
+ MICROBLAZE Michael Eager <eager@eagercon.com>
MIPS Eric Christopher <echristo@apple.com>
MMIX Hans-Peter Nilsson <hp@bitrange.com>
MN10300 Eric Christopher <echristo@apple.com>
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 8097121..9e8f48f 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -119,6 +119,7 @@
#include "elf/m68hc11.h"
#include "elf/mcore.h"
#include "elf/mep.h"
+#include "elf/microblaze.h"
#include "elf/mips.h"
#include "elf/mmix.h"
#include "elf/mn10200.h"
@@ -614,6 +615,8 @@ guess_is_rela (unsigned int e_machine)
case EM_XSTORMY16:
case EM_XTENSA:
case EM_XTENSA_OLD:
+ case EM_MICROBLAZE:
+ case EM_MICROBLAZE_OLD:
return TRUE;
case EM_68HC05:
@@ -1197,6 +1200,11 @@ dump_relocations (FILE * file,
case EM_CR16_OLD:
rtype = elf_cr16_reloc_type (type);
break;
+
+ case EM_MICROBLAZE:
+ case EM_MICROBLAZE_OLD:
+ rtype = elf_microblaze_reloc_type (type);
+ break;
}
if (rtype == NULL)
@@ -1865,6 +1873,8 @@ get_machine_name (unsigned e_machine)
case EM_CYGNUS_MEP: return "Toshiba MeP Media Engine";
case EM_CR16:
case EM_CR16_OLD: return "National Semiconductor's CR16";
+ case EM_MICROBLAZE: return "Xilinx MicroBlaze";
+ case EM_MICROBLAZE_OLD: return "Xilinx MicroBlaze";
default:
snprintf (buff, sizeof (buff), _("<unknown>: 0x%x"), e_machine);
return buff;