aboutsummaryrefslogtreecommitdiff
path: root/include/elf
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@gcc.gnu.org>2014-12-06 16:35:18 +0100
committerEric Botcazou <ebotcazou@gcc.gnu.org>2014-12-06 16:35:18 +0100
commitd924db559be94e668253a272f70870c85aecc60e (patch)
treeedba5d6308cf015a64370790ef99ed31fe20cfbe /include/elf
parent1945cfa59de0a6093011891e1974ac2b6d25658f (diff)
downloadgdb-d924db559be94e668253a272f70870c85aecc60e.zip
gdb-d924db559be94e668253a272f70870c85aecc60e.tar.gz
gdb-d924db559be94e668253a272f70870c85aecc60e.tar.bz2
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.
Diffstat (limited to 'include/elf')
-rw-r--r--include/elf/ChangeLog5
-rw-r--r--include/elf/common.h1
-rw-r--r--include/elf/visium.h51
3 files changed, 57 insertions, 0 deletions
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 <ebotcazou@adacore.com>
+
+ * common.h (EM_VISIUM): Define.
+ * visium.h: New file.
+
2014-11-13 H.J. Lu <hongjiu.lu@intel.com>
* 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 */