* Makefile.am (ALL_MACHINES): Add cpu-epiphany.lo .
	(ALL_MACHINES_CFILES): Add cpu-epiphany.c .
	(BFD32_BACKENDS): Add elf32-epiphany.lo .
	(BFD32_BACKENDS_CFILES): Add elf32-epiphany.c .
	* Makefile.in, bfd-in2.h, configure, libbfd.h: Regenerate.
	* archures.c (bfd_arch_epiphany): Add.
	(bfd_mach_epiphany16, bfd_mach_epiphany32): Define.
	(bfd_epiphany_arch): Declare.
	(bfd_archures_list): Add &bfd_epiphany_arch.
	* config.bfd (epiphany-*-elf): New target case.
	* configure.in (bfd_elf32_epiphany_vec): New target vector case.
	* reloc.c (BFD_RELOC_EPIPHANY_SIMM8): New relocation.
	(BFD_RELOC_EPIPHANY_SIMM24, BFD_RELOC_EPIPHANY_HIGH): Likewise.
	(BFD_RELOC_EPIPHANY_LOW, BFD_RELOC_EPIPHANY_SIMM11): Likewise.
	(BFD_RELOC_EPIPHANY_IMM11, BFD_RELOC_EPIPHANY_IMM8): Likewise.
	* targets.c (bfd_elf32_epiphany_vec): Declare.
	(_bfd_target_vector): Add bfd_elf32_epiphany_vec.
	* po/SRC-POTFILES.in, po/bfd.pot: Regenerate.
	* cpu-epiphany.c, elf32-epiphany.c: New files.
binutils:
	* readelf.c (include "elf/epiphany.h")
	(guess_is_rela, dump_relocation): Handle EM_ADAPTEVA_EPIPHANY.
	(get_machine_name, is_32bit_abs_reloc, is_32bit_pcrel_reloc): Likewise.
	(is_16bit_abs_reloc, is_none_reloc): Likewise.
	* po/binutils.pot: Regenerate.
cpu:
	* cpu/epiphany.cpu, cpu/epiphany.opc: New files.
gas:
	* NEWS: Mention addition of Adapteva Epiphany support.
	* config/tc-epiphany.c, config/tc-epiphany.h: New files.
	* Makefile.am (TARGET_CPU_CFILES): Add config/tc-epiphany.c .
	(TARGET_CPU_HFILES): Add config/tc-epiphany.h .
	* Makefile.in, configure, doc/Makefile.in, po/POTFILES.in: Regenerate.
	* configure.in: Also set using_cgen for epiphany.
	* configure.tgt: Handle epiphany.
	* doc/Makefile.am (CPU_DOCS): Add c-epiphany.texi .
	* doc/all.texi: Set EPIPHANY.
	* doc/as.texinfo: Add EPIPHANY-specific text.
	* doc/c-epiphany.texi: New file.
	* po/gas.pot: Regenerate.
gas/testsuite:
	* gas/epiphany: New directory.
include:
	* dis-asm.h (print_insn_epiphany): Declare.
	* elf/epiphany.h: New file.
	* elf/common.h (EM_ADAPTEVA_EPIPHANY): Define.
ld:
	* NEWS: Mention addition of Adapteva Epiphany support.
	* Makefile.am (ALL_EMULATION_SOURCES): Add eelf32epiphany.c .
	(eelf32epiphany.c): New rule.
	* Makefile.in: Regenerate.
	* configure.tgt: Handle epiphany-*-elf.
	* po/ld.pot: Regenerate.
	* testsuite/ld-srec/srec.exp: xfail epiphany.
	* emulparams/elf32epiphany.sh: New file.
opcodes:
	* Makefile.am (HFILES): Add epiphany-desc.h and epiphany-opc.h .
	(TARGET_LIBOPCODES_CFILES): Add  epiphany-asm.c, epiphany-desc.c,
	epiphany-dis.c, epiphany-ibld.c and epiphany-opc.c .
	(CLEANFILES): Add stamp-epiphany.
	(EPIPHANY_DEPS): Set.  Make CGEN-generated Epiphany files depend on it.
	(stamp-epiphany): New rule.
	* Makefile.in, configure, po/POTFILES.in, po/opcodes.pot: Regenerate.
	* configure.in: Handle bfd_epiphany_arch.
	* disassemble.c (ARCH_epiphany): Define.
	(disassembler): Handle bfd_arch_epiphany.
	* epiphany-asm.c, epiphany-desc.c, epiphany-desc.h: New files.
	* epiphany-dis.c, epiphany-ibld.c, epiphany-opc.c: Likewise.
	* epiphany-opc.h: Likewise.
This commit is contained in:
Nick Clifton 2011-10-25 11:18:10 +00:00
parent fbb04f9910
commit 4c28f4392a
5 changed files with 71 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2011-10-25 Joern Rennecke <joern.rennecke@embecosm.com>
* dis-asm.h (print_insn_epiphany): Declare.
2011-10-21 Ulrich Drepper <drepper@gmail.com>
* obstack.h [!GNUC] (obstack_free): Avoid cast to int.

View File

@ -233,6 +233,7 @@ extern int print_insn_crx (bfd_vma, disassemble_info *);
extern int print_insn_d10v (bfd_vma, disassemble_info *);
extern int print_insn_d30v (bfd_vma, disassemble_info *);
extern int print_insn_dlx (bfd_vma, disassemble_info *);
extern int print_insn_epiphany (bfd_vma, disassemble_info *);
extern int print_insn_fr30 (bfd_vma, disassemble_info *);
extern int print_insn_frv (bfd_vma, disassemble_info *);
extern int print_insn_h8300 (bfd_vma, disassemble_info *);

View File

@ -1,3 +1,8 @@
2011-10-25 Joern Rennecke <joern.rennecke@embecosm.com>
* epiphany.h: New file.
* common.h (EM_ADAPTEVA_EPIPHANY): Define.
2011-10-10 Alan Modra <amodra@gmail.com>
* ppc64.h (R_PPC64_TOCSAVE): Add.

View File

@ -401,6 +401,8 @@
#define EM_MICROBLAZE_OLD 0xbaab /* Old MicroBlaze */
#define EM_ADAPTEVA_EPIPHANY 0x1223 /* Adapteva's Epiphany architecture. */
/* See the above comment before you add a new EM_* value here. */
/* Values for e_version. */

59
include/elf/epiphany.h Executable file
View File

@ -0,0 +1,59 @@
/* Adapteva EPIPHANY ELF support for BFD.
Copyright (C) 2011 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef _ELF_EPIPHANY_H
#define _ELF_EPIPHANY_H
#include "elf/reloc-macros.h"
/* Relocations. */
START_RELOC_NUMBERS (elf_epiphany_reloc_type)
RELOC_NUMBER (R_EPIPHANY_NONE, 0)
/* Absolute address relocations. */
RELOC_NUMBER (R_EPIPHANY_8, 1)
RELOC_NUMBER (R_EPIPHANY_16, 2)
RELOC_NUMBER (R_EPIPHANY_32, 3)
/* PC-relative relocations. */
RELOC_NUMBER (R_EPIPHANY_8_PCREL, 4)
RELOC_NUMBER (R_EPIPHANY_16_PCREL,5)
RELOC_NUMBER (R_EPIPHANY_32_PCREL,6)
/* special forms for 8/24 bit branch displacements. */
RELOC_NUMBER (R_EPIPHANY_SIMM8, 7)
RELOC_NUMBER (R_EPIPHANY_SIMM24, 8)
/* HIGH and LOW relocations taking part of a 32 bit address and
depositing it into the IMM16 field of a destination. */
RELOC_NUMBER (R_EPIPHANY_HIGH, 9)
RELOC_NUMBER (R_EPIPHANY_LOW,10)
/* 11 bit signed immediate value. */
RELOC_NUMBER (R_EPIPHANY_SIMM11, 11)
/* 11 bit magnitude addressing displacement. */
RELOC_NUMBER (R_EPIPHANY_IMM11, 12)
/* 8 bit immediate for MOV.S R,IMM8. */
RELOC_NUMBER (R_EPIPHANY_IMM8, 13)
END_RELOC_NUMBERS(R_EPIPHANY_max)
#endif /* _ELF_EPIPHANY_H */