From d924db559be94e668253a272f70870c85aecc60e Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Sat, 6 Dec 2014 16:35:18 +0100 Subject: Add Visium support to bfd bfd/ * config.bfd: Add Visium support. * configure.ac: Likewise. * configure: Regenerate. * Makefile.am (ALL_MACHINES): Add cpu-visium.lo. (ALL_MACHINES_CFILES): Add cpu-visium.c. (BFD32_BACKENDS): Add elf32-visium.lo. (BFD32_BACKENDS_CFILES): Add elf32-visium.c. * Makefile.in: Regenerate. * archures.c (DESCRIPTION): Add Visium support. (bfd_visium_arch): Declare. (bfd_archures_list): Add bfd_visium_arch. * reloc.c: Add Visium relocations. * targets.c (visium_elf32_vec): Declare. (_bfd_target_vector): Add visium_elf32_vec. * bfd-in2.h: Regenerate. * libbfd.h: Likewise. * cpu-visium.c: New file. * elf32-visium.c: Likewise. * po/SRC-POTFILES.in: Regenerate. include/elf/ * common.h (EM_VISIUM): Define. * visium.h: New file. --- include/elf/ChangeLog | 5 +++++ include/elf/common.h | 1 + include/elf/visium.h | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 include/elf/visium.h (limited to 'include/elf') diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index aaee35d..f4f7107 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,8 @@ +2014-12-06 Eric Botcazou + + * common.h (EM_VISIUM): Define. + * visium.h: New file. + 2014-11-13 H.J. Lu * x86-64.h (R_X86_64_GOTPLT64): Mark it obsolete. diff --git a/include/elf/common.h b/include/elf/common.h index e8ae3ac..1d68f80 100644 --- a/include/elf/common.h +++ b/include/elf/common.h @@ -301,6 +301,7 @@ #define EM_INTEL207 207 /* Reserved by Intel */ #define EM_INTEL208 208 /* Reserved by Intel */ #define EM_INTEL209 209 /* Reserved by Intel */ +#define EM_VISIUM 221 /* Controls and Data Services VISIUMcore processor */ /* If it is necessary to assign new unofficial EM_* values, please pick large random numbers (0x8523, 0xa7f2, etc.) to minimize the chances of collision diff --git a/include/elf/visium.h b/include/elf/visium.h new file mode 100644 index 0000000..8de57a6 --- /dev/null +++ b/include/elf/visium.h @@ -0,0 +1,51 @@ +/* Visium ELF support for BFD. + + Copyright (C) 2002-2014 Free Software Foundation, 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_VISIUM_H +#define _ELF_VISIUM_H + +#include "elf/reloc-macros.h" + +/* Processor specific flags for the ELF header e_flags field. */ +#define EF_VISIUM_ARCH_MCM 0x01 +#define EF_VISIUM_ARCH_MCM24 0x02 +#define EF_VISIUM_ARCH_GR6 0x04 + +/* Relocations. */ +START_RELOC_NUMBERS (elf_visium_reloc_type) + RELOC_NUMBER (R_VISIUM_NONE, 0) + RELOC_NUMBER (R_VISIUM_8, 1) + RELOC_NUMBER (R_VISIUM_16, 2) + RELOC_NUMBER (R_VISIUM_32, 3) + RELOC_NUMBER (R_VISIUM_8_PCREL, 4) + RELOC_NUMBER (R_VISIUM_16_PCREL, 5) + RELOC_NUMBER (R_VISIUM_32_PCREL, 6) + RELOC_NUMBER (R_VISIUM_PC16, 7) + RELOC_NUMBER (R_VISIUM_HI16, 8) + RELOC_NUMBER (R_VISIUM_LO16, 9) + RELOC_NUMBER (R_VISIUM_IM16, 10) + RELOC_NUMBER (R_VISIUM_HI16_PCREL, 11) + RELOC_NUMBER (R_VISIUM_LO16_PCREL, 12) + RELOC_NUMBER (R_VISIUM_IM16_PCREL, 13) + RELOC_NUMBER (R_VISIUM_GNU_VTINHERIT, 200) + RELOC_NUMBER (R_VISIUM_GNU_VTENTRY, 201) +END_RELOC_NUMBERS(R_VISIUM_max) + +#endif /* _ELF_VISIUM_H */ -- cgit v1.1