Back to index

cell-binutils  2.17cvs20070401
mn10300.h
Go to the documentation of this file.
00001 /* MN10300 ELF support for BFD.
00002    Copyright 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
00003 
00004 This file is part of BFD, the Binary File Descriptor library.
00005 
00006 This program is free software; you can redistribute it and/or modify
00007 it under the terms of the GNU General Public License as published by
00008 the Free Software Foundation; either version 2 of the License, or
00009 (at your option) any later version.
00010 
00011 This program is distributed in the hope that it will be useful,
00012 but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 GNU General Public License for more details.
00015 
00016 You should have received a copy of the GNU General Public License
00017 along with this program; if not, write to the Free Software
00018 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
00019 
00020 /* This file holds definitions specific to the MN10300 ELF ABI. */
00021 
00022 #ifndef _ELF_MN10300_H
00023 #define _ELF_MN10300_H
00024 
00025 #include "elf/reloc-macros.h"
00026 
00027 /* Relocations.  */
00028 START_RELOC_NUMBERS (elf_mn10300_reloc_type)
00029   RELOC_NUMBER (R_MN10300_NONE, 0)
00030   RELOC_NUMBER (R_MN10300_32, 1)
00031   RELOC_NUMBER (R_MN10300_16, 2)
00032   RELOC_NUMBER (R_MN10300_8, 3)
00033   RELOC_NUMBER (R_MN10300_PCREL32, 4)
00034   RELOC_NUMBER (R_MN10300_PCREL16, 5)
00035   RELOC_NUMBER (R_MN10300_PCREL8, 6)
00036   RELOC_NUMBER (R_MN10300_GNU_VTINHERIT, 7)
00037   RELOC_NUMBER (R_MN10300_GNU_VTENTRY, 8)
00038   RELOC_NUMBER (R_MN10300_24, 9)
00039   RELOC_NUMBER (R_MN10300_GOTPC32, 10)
00040   RELOC_NUMBER (R_MN10300_GOTPC16, 11)
00041   RELOC_NUMBER (R_MN10300_GOTOFF32, 12)
00042   RELOC_NUMBER (R_MN10300_GOTOFF24, 13)
00043   RELOC_NUMBER (R_MN10300_GOTOFF16, 14)
00044   RELOC_NUMBER (R_MN10300_PLT32, 15)
00045   RELOC_NUMBER (R_MN10300_PLT16, 16)
00046   RELOC_NUMBER (R_MN10300_GOT32, 17)
00047   RELOC_NUMBER (R_MN10300_GOT24, 18)
00048   RELOC_NUMBER (R_MN10300_GOT16, 19)
00049   RELOC_NUMBER (R_MN10300_COPY, 20)
00050   RELOC_NUMBER (R_MN10300_GLOB_DAT, 21)
00051   RELOC_NUMBER (R_MN10300_JMP_SLOT, 22)
00052   RELOC_NUMBER (R_MN10300_RELATIVE, 23)
00053 END_RELOC_NUMBERS (R_MN10300_MAX)
00054 
00055 /* Machine variant if we know it.  This field was invented at Cygnus,
00056    but it is hoped that other vendors will adopt it.  If some standard
00057    is developed, this code should be changed to follow it. */
00058 
00059 #define EF_MN10300_MACH            0x00FF0000
00060 
00061 /* Cygnus is choosing values between 80 and 9F;
00062    00 - 7F should be left for a future standard;
00063    the rest are open. */
00064 
00065 #define E_MN10300_MACH_MN10300     0x00810000
00066 #define E_MN10300_MACH_AM33 0x00820000
00067 #define E_MN10300_MACH_AM33_2   0x00830000
00068 #endif /* _ELF_MN10300_H */