diff options
author | Nick Clifton <nickc@redhat.com> | 2013-01-10 09:49:22 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2013-01-10 09:49:22 +0000 |
commit | a3c629886c2cdaa6ee89513b64c7f989ba30eba3 (patch) | |
tree | 6076704fbfa023a83d161ff5d236d1cb0b7aefa3 /include/elf | |
parent | 9e9143bc874ab4742433b7498413313fb1723e8b (diff) | |
download | fsf-binutils-gdb-a3c629886c2cdaa6ee89513b64c7f989ba30eba3.zip fsf-binutils-gdb-a3c629886c2cdaa6ee89513b64c7f989ba30eba3.tar.gz fsf-binutils-gdb-a3c629886c2cdaa6ee89513b64c7f989ba30eba3.tar.bz2 |
* common.h: Fix case of "Meta".
* metag.h: New file.
* dis-asm.h (print_insn_metag): New declaration.
* metag.h: New file.
* Makefile.am: Add Meta.
* Makefile.in: Regenerate.
* configure: Regenerate.
* configure.in: Add Meta.
* disassemble.c: Add Meta support.
* metag-dis.c: New file.
* Makefile.am: Add Meta.
* Makefile.in: Regenerate.
* archures.c (bfd_mach_metag): New.
* bfd-in2.h: Regenerate.
* config.bfd: Add Meta.
* configure: Regenerate.
* configure.in: Add Meta.
* cpu-metag.c: New file.
* elf-bfd.h: Add Meta.
* elf32-metag.c: New file.
* elf32-metag.h: New file.
* libbfd.h: Regenerate.
* reloc.c: Add Meta relocations.
* targets.c: Add Meta.
* Makefile.am: Add Meta.
* Makefile.in: Regenerate.
* config/tc-metag.c: New file.
* config/tc-metag.h: New file.
* configure.tgt: Add Meta.
* doc/Makefile.am: Add Meta.
* doc/Makefile.in: Regenerate.
* doc/all.texi: Add Meta.
* doc/as.texiinfo: Document Meta options.
* doc/c-metag.texi: New file.
* gas/metag/labelarithmetic.d: New file.
* gas/metag/labelarithmetic.s: New file.
* gas/metag/metacore12.d: New file.
* gas/metag/metacore12.s: New file.
* gas/metag/metacore21-invalid.l: New file.
* gas/metag/metacore21-invalid.s: New file.
* gas/metag/metacore21.d: New file.
* gas/metag/metacore21.s: New file.
* gas/metag/metacore21ext.d: New file.
* gas/metag/metacore21ext.s: New file.
* gas/metag/metadsp21-invalid.l: New file.
* gas/metag/metadsp21-invalid.s: New file.
* gas/metag/metadsp21.d: New file.
* gas/metag/metadsp21.s: New file.
* gas/metag/metadsp21ext.d: New file.
* gas/metag/metadsp21ext.s: New file.
* gas/metag/metafpu21.d: New file.
* gas/metag/metafpu21.s: New file.
* gas/metag/metafpu21ext.d: New file.
* gas/metag/metafpu21ext.s: New file.
* gas/metag/metag.exp: New file.
* gas/metag/tls.d: New file.
* gas/metag/tls.s: New file.
* Makefile.am: Add Meta.
* Makefile.in: Regenerate.
* configure.tgt: Add Meta.
* emulparams/elf32metag.sh: New file.
* emultempl/metagelf.em: New file.
* ld-elf/merge.d: Mark Meta as xfail.
* ld-gc/start.d: Skip this test on Meta.
* ld-gc/personality.d: Skip this test on Meta.
* ld-metag/external.s: New file.
* ld-metag/metag.exp: New file.
* ld-metag/pcrel.d: New file.
* ld-metag/pcrel.s: New file.
* ld-metag/shared.d: New file.
* ld-metag/shared.r: New file.
* ld-metag/shared.s: New file.
* ld-metag/stub.d: New file.
* ld-metag/stub.s: New file.
* ld-metag/stub_pic_app.d: New file.
* ld-metag/stub_pic_app.r: New file.
* ld-metag/stub_pic_app.s: New file.
* ld-metag/stub_pic_shared.d: New file.
* ld-metag/stub_pic_shared.s: New file.
* ld-metag/stub_shared.d: New file.
* ld-metag/stub_shared.r: New file.
* ld-metag/stub_shared.s: New file.
* binutils/readelf.c: (guess_is_rela): Add EM_METAG.
(dump_relocations): Add EM_METAG.
(get_machine_name): Correct case for Meta.
(is_32bit_abs_reloc): Add support for Meta ADDR32 reloc.
(is_none_reloc): Add support for Meta NONE reloc.
Diffstat (limited to 'include/elf')
-rw-r--r-- | include/elf/ChangeLog | 5 | ||||
-rw-r--r-- | include/elf/common.h | 2 | ||||
-rw-r--r-- | include/elf/metag.h | 91 |
3 files changed, 97 insertions, 1 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index 8cb1cb8..c86fbf7 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,8 @@ +2013-01-10 Will Newton <will.newton@imgtec.com> + + * common.h: Fix case of "Meta". + * metag.h: New file. + 2013-01-08 Yufeng Zhang <yufeng.zhang@arm.com> * common.h (NT_ARM_TLS, NT_ARM_HW_BREAK, NT_ARM_HW_WATCH): New macro diff --git a/include/elf/common.h b/include/elf/common.h index ca36935..2bae603 100644 --- a/include/elf/common.h +++ b/include/elf/common.h @@ -279,7 +279,7 @@ #define EM_MANIK 171 /* M2000 Reconfigurable RISC Microprocessor */ #define EM_CRAYNV2 172 /* Cray Inc. NV2 vector architecture */ #define EM_RX 173 /* Renesas RX family */ -#define EM_METAG 174 /* Imagination Technologies META processor architecture */ +#define EM_METAG 174 /* Imagination Technologies Meta processor architecture */ #define EM_MCST_ELBRUS 175 /* MCST Elbrus general purpose hardware architecture */ #define EM_ECOG16 176 /* Cyan Technology eCOG16 family */ #define EM_CR16 177 /* National Semiconductor CompactRISC 16-bit processor */ diff --git a/include/elf/metag.h b/include/elf/metag.h new file mode 100644 index 0000000..7ea699d --- /dev/null +++ b/include/elf/metag.h @@ -0,0 +1,91 @@ +/* Meta ELF support for BFD. + Copyright (C) 2013 Free Software Foundation, Inc. + Contributed by Imagination Technologies Ltd. + + 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_METAG_H +#define _ELF_METAG_H + +#include "elf/reloc-macros.h" + +/* Relocation types. */ + +START_RELOC_NUMBERS (elf_metag_reloc_type) + RELOC_NUMBER (R_METAG_HIADDR16, 0) + RELOC_NUMBER (R_METAG_LOADDR16, 1) + RELOC_NUMBER (R_METAG_ADDR32, 2) + RELOC_NUMBER (R_METAG_NONE, 3) + RELOC_NUMBER (R_METAG_RELBRANCH, 4) + RELOC_NUMBER (R_METAG_GETSETOFF, 5) + + /* Backward compatability */ + RELOC_NUMBER (R_METAG_REG32OP1, 6) + RELOC_NUMBER (R_METAG_REG32OP2, 7) + RELOC_NUMBER (R_METAG_REG32OP3, 8) + RELOC_NUMBER (R_METAG_REG16OP1, 9) + RELOC_NUMBER (R_METAG_REG16OP2, 10) + RELOC_NUMBER (R_METAG_REG16OP3, 11) + RELOC_NUMBER (R_METAG_REG32OP4, 12) + + RELOC_NUMBER (R_METAG_HIOG, 13) + RELOC_NUMBER (R_METAG_LOOG, 14) + + RELOC_NUMBER (R_METAG_REL8, 15) + RELOC_NUMBER (R_METAG_REL16, 16) + + /* GNU */ + RELOC_NUMBER (R_METAG_GNU_VTINHERIT,30) + RELOC_NUMBER (R_METAG_GNU_VTENTRY, 31) + + /* PIC relocations */ + RELOC_NUMBER (R_METAG_HI16_GOTOFF, 32) + RELOC_NUMBER (R_METAG_LO16_GOTOFF, 33) + RELOC_NUMBER (R_METAG_GETSET_GOTOFF,34) + RELOC_NUMBER (R_METAG_GETSET_GOT, 35) + RELOC_NUMBER (R_METAG_HI16_GOTPC, 36) + RELOC_NUMBER (R_METAG_LO16_GOTPC, 37) + RELOC_NUMBER (R_METAG_HI16_PLT, 38) + RELOC_NUMBER (R_METAG_LO16_PLT, 39) + RELOC_NUMBER (R_METAG_RELBRANCH_PLT,40) + RELOC_NUMBER (R_METAG_GOTOFF, 41) + RELOC_NUMBER (R_METAG_PLT, 42) + RELOC_NUMBER (R_METAG_COPY, 43) + RELOC_NUMBER (R_METAG_JMP_SLOT, 44) + RELOC_NUMBER (R_METAG_RELATIVE, 45) + RELOC_NUMBER (R_METAG_GLOB_DAT, 46) + + /* TLS relocations */ + RELOC_NUMBER (R_METAG_TLS_GD, 47) + RELOC_NUMBER (R_METAG_TLS_LDM, 48) + RELOC_NUMBER (R_METAG_TLS_LDO_HI16, 49) + RELOC_NUMBER (R_METAG_TLS_LDO_LO16, 50) + RELOC_NUMBER (R_METAG_TLS_LDO, 51) + RELOC_NUMBER (R_METAG_TLS_IE, 52) + RELOC_NUMBER (R_METAG_TLS_IENONPIC, 53) + RELOC_NUMBER (R_METAG_TLS_IENONPIC_HI16,54) + RELOC_NUMBER (R_METAG_TLS_IENONPIC_LO16,55) + RELOC_NUMBER (R_METAG_TLS_TPOFF, 56) + RELOC_NUMBER (R_METAG_TLS_DTPMOD, 57) + RELOC_NUMBER (R_METAG_TLS_DTPOFF, 58) + RELOC_NUMBER (R_METAG_TLS_LE, 59) + RELOC_NUMBER (R_METAG_TLS_LE_HI16, 60) + RELOC_NUMBER (R_METAG_TLS_LE_LO16, 61) + +END_RELOC_NUMBERS (R_METAG_MAX) + +#endif /* _ELF_METAG_H */ |