This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Support Xilinx MicroBlaze processor - patch 1


Hi --

Attached is the first half of a patch which adds support for the
Xilinx MicroBlaze processor.

There is a change to struct section which adds a relax table
(and count of entries).  This is filled/used during the relaxation
phase.  I will submit a patch later which uses this table to fixup
the .debug_loc section and some other tables which need to be corrected
when the relaxation phase moves instructions.

--
Michael Eager	 eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077

2009-07-30  Michael Eager <eager@eagercon.com>

        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.

Attachment: bin-microblaze-1.patch.bz2
Description: BZip2 compressed data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]