/* SH ELF support for BFD.
   Copyright 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2010
   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_SH_H
#define _ELF_SH_H

/* Processor specific flags for the ELF header e_flags field.  */

#define EF_SH_MACH_MASK	0x1f
#define EF_SH_UNKNOWN	   0 /* For backwards compatibility.  */
#define EF_SH1		   1
#define EF_SH2		   2
#define EF_SH3		   3
#define EF_SH_DSP	   4
#define EF_SH3_DSP	   5
#define EF_SH4AL_DSP	   6
#define EF_SH3E		   8
#define EF_SH4		   9
#define EF_SH2E            11
#define EF_SH4A		   12
#define EF_SH2A            13

#define EF_SH4_NOFPU	   16
#define EF_SH4A_NOFPU	   17
#define EF_SH4_NOMMU_NOFPU 18
#define EF_SH2A_NOFPU      19
#define EF_SH3_NOMMU       20

#define EF_SH2A_SH4_NOFPU  21
#define EF_SH2A_SH3_NOFPU  22
#define EF_SH2A_SH4        23
#define EF_SH2A_SH3E       24

/* This one can only mix in objects from other EF_SH5 objects.  */
#define EF_SH5		  10

/* Define the mapping from ELF to bfd mach numbers.
   bfd_mach_* are defined in bfd_in2.h (generated from
   archures.c).  */
#define EF_SH_BFD_TABLE \
/* EF_SH_UNKNOWN	*/ bfd_mach_sh		, \
/* EF_SH1		*/ bfd_mach_sh		, \
/* EF_SH2		*/ bfd_mach_sh2		, \
/* EF_SH3		*/ bfd_mach_sh3		, \
/* EF_SH_DSP		*/ bfd_mach_sh_dsp	, \
/* EF_SH3_DSP		*/ bfd_mach_sh3_dsp	, \
/* EF_SHAL_DSP		*/ bfd_mach_sh4al_dsp	, \
/* 7			*/ 0, \
/* EF_SH3E		*/ bfd_mach_sh3e	, \
/* EF_SH4		*/ bfd_mach_sh4		, \
/* EF_SH5		*/ 0, \
/* EF_SH2E		*/ bfd_mach_sh2e	, \
/* EF_SH4A		*/ bfd_mach_sh4a	, \
/* EF_SH2A		*/ bfd_mach_sh2a        , \
/* 14, 15		*/ 0, 0, \
/* EF_SH4_NOFPU		*/ bfd_mach_sh4_nofpu	, \
/* EF_SH4A_NOFPU	*/ bfd_mach_sh4a_nofpu	, \
/* EF_SH4_NOMMU_NOFPU	*/ bfd_mach_sh4_nommu_nofpu, \
/* EF_SH2A_NOFPU	*/ bfd_mach_sh2a_nofpu  , \
/* EF_SH3_NOMMU		*/ bfd_mach_sh3_nommu   , \
/* EF_SH2A_SH4_NOFPU    */ bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu, \
/* EF_SH2A_SH3_NOFPU    */ bfd_mach_sh2a_nofpu_or_sh3_nommu, \
/* EF_SH2A_SH4          */ bfd_mach_sh2a_or_sh4 , \
/* EF_SH2A_SH3E         */ bfd_mach_sh2a_or_sh3e

/* Convert arch_sh* into EF_SH*.  */
int sh_find_elf_flags (unsigned int arch_set);

/* Convert bfd_mach_* into EF_SH*.  */
int sh_elf_get_flags_from_mach (unsigned long mach);

/* Other e_flags bits.  */

#define EF_SH_PIC		0x100	/* Segments of an FDPIC binary may
					   be relocated independently.  */
#define EF_SH_FDPIC		0x8000	/* Uses the FDPIC ABI.  */

/* Flags for the st_other symbol field.
   Keep away from the STV_ visibility flags (bit 0..1).  */

/* A reference to this symbol should by default add 1.  */
#define STO_SH5_ISA32 (1 << 2)

/* Section contains only SHmedia code (no SHcompact code).  */
#define SHF_SH5_ISA32		0x40000000

/* Section contains both SHmedia and SHcompact code, and possibly also
   constants.  */
#define SHF_SH5_ISA32_MIXED	0x20000000

/* If applied to a .cranges section, marks that the section is sorted by
   increasing cr_addr values.  */
#define SHT_SH5_CR_SORTED 0x80000001

/* Symbol should be handled as DataLabel (attached to global SHN_UNDEF
   symbols).  */
#define STT_DATALABEL STT_LOPROC

#include "elf/reloc-macros.h"

/* Relocations.  */
/* Relocations 10-32 and 128-255 are GNU extensions.
   25..32 and 10 are used for relaxation.  */
START_RELOC_NUMBERS (elf_sh_reloc_type)
  RELOC_NUMBER (R_SH_NONE, 0)
  RELOC_NUMBER (R_SH_DIR32, 1)
  RELOC_NUMBER (R_SH_REL32, 2)
  RELOC_NUMBER (R_SH_DIR8WPN, 3)
  RELOC_NUMBER (R_SH_IND12W, 4)
  RELOC_NUMBER (R_SH_DIR8WPL, 5)
  RELOC_NUMBER (R_SH_DIR8WPZ, 6)
  RELOC_NUMBER (R_SH_DIR8BP, 7)
  RELOC_NUMBER (R_SH_DIR8W, 8)
  RELOC_NUMBER (R_SH_DIR8L, 9)

  RELOC_NUMBER (R_SH_LOOP_START, 10)
  RELOC_NUMBER (R_SH_LOOP_END, 11)

  FAKE_RELOC (R_SH_FIRST_INVALID_RELOC, 12)
  FAKE_RELOC (R_SH_LAST_INVALID_RELOC, 21)

  RELOC_NUMBER (R_SH_GNU_VTINHERIT, 22)
  RELOC_NUMBER (R_SH_GNU_VTENTRY, 23)
  RELOC_NUMBER (R_SH_SWITCH8, 24)
  RELOC_NUMBER (R_SH_SWITCH16, 25)
  RELOC_NUMBER (R_SH_SWITCH32, 26)
  RELOC_NUMBER (R_SH_USES, 27)
  RELOC_NUMBER (R_SH_COUNT, 28)
  RELOC_NUMBER (R_SH_ALIGN, 29)
  RELOC_NUMBER (R_SH_CODE, 30)
  RELOC_NUMBER (R_SH_DATA, 31)
  RELOC_NUMBER (R_SH_LABEL, 32)

  RELOC_NUMBER (R_SH_DIR16, 33)
  RELOC_NUMBER (R_SH_DIR8, 34)
  RELOC_NUMBER (R_SH_DIR8UL, 35)
  RELOC_NUMBER (R_SH_DIR8UW, 36)
  RELOC_NUMBER (R_SH_DIR8U, 37)
  RELOC_NUMBER (R_SH_DIR8SW, 38)
  RELOC_NUMBER (R_SH_DIR8S, 39)
  RELOC_NUMBER (R_SH_DIR4UL, 40)
  RELOC_NUMBER (R_SH_DIR4UW, 41)
  RELOC_NUMBER (R_SH_DIR4U, 42)
  RELOC_NUMBER (R_SH_PSHA, 43)
  RELOC_NUMBER (R_SH_PSHL, 44)
  RELOC_NUMBER (R_SH_DIR5U, 45)
  RELOC_NUMBER (R_SH_DIR6U, 46)
  RELOC_NUMBER (R_SH_DIR6S, 47)
  RELOC_NUMBER (R_SH_DIR10S, 48)
  RELOC_NUMBER (R_SH_DIR10SW, 49)
  RELOC_NUMBER (R_SH_DIR10SL, 50)
  RELOC_NUMBER (R_SH_DIR10SQ, 51)
  FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_2, 52)
  FAKE_RELOC (R_SH_LAST_INVALID_RELOC_2, 52)
  RELOC_NUMBER (R_SH_DIR16S, 53)
  FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_3, 54)
  FAKE_RELOC (R_SH_LAST_INVALID_RELOC_3, 143)
  RELOC_NUMBER (R_SH_TLS_GD_32, 144)
  RELOC_NUMBER (R_SH_TLS_LD_32, 145)
  RELOC_NUMBER (R_SH_TLS_LDO_32, 146)
  RELOC_NUMBER (R_SH_TLS_IE_32, 147)
  RELOC_NUMBER (R_SH_TLS_LE_32, 148)
  RELOC_NUMBER (R_SH_TLS_DTPMOD32, 149)
  RELOC_NUMBER (R_SH_TLS_DTPOFF32, 150)
  RELOC_NUMBER (R_SH_TLS_TPOFF32, 151)
  FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_4, 152)
  FAKE_RELOC (R_SH_LAST_INVALID_RELOC_4, 159)
  RELOC_NUMBER (R_SH_GOT32, 160)
  RELOC_NUMBER (R_SH_PLT32, 161)
  RELOC_NUMBER (R_SH_COPY, 162)
  RELOC_NUMBER (R_SH_GLOB_DAT, 163)
  RELOC_NUMBER (R_SH_JMP_SLOT, 164)
  RELOC_NUMBER (R_SH_RELATIVE, 165)
  RELOC_NUMBER (R_SH_GOTOFF, 166)
  RELOC_NUMBER (R_SH_GOTPC, 167)
  RELOC_NUMBER (R_SH_GOTPLT32, 168)
  RELOC_NUMBER (R_SH_GOT_LOW16, 169)
  RELOC_NUMBER (R_SH_GOT_MEDLOW16, 170)
  RELOC_NUMBER (R_SH_GOT_MEDHI16, 171)
  RELOC_NUMBER (R_SH_GOT_HI16, 172)
  RELOC_NUMBER (R_SH_GOTPLT_LOW16, 173)
  RELOC_NUMBER (R_SH_GOTPLT_MEDLOW16, 174)
  RELOC_NUMBER (R_SH_GOTPLT_MEDHI16, 175)
  RELOC_NUMBER (R_SH_GOTPLT_HI16, 176)
  RELOC_NUMBER (R_SH_PLT_LOW16, 177)
  RELOC_NUMBER (R_SH_PLT_MEDLOW16, 178)
  RELOC_NUMBER (R_SH_PLT_MEDHI16, 179)
  RELOC_NUMBER (R_SH_PLT_HI16, 180)
  RELOC_NUMBER (R_SH_GOTOFF_LOW16, 181)
  RELOC_NUMBER (R_SH_GOTOFF_MEDLOW16, 182)
  RELOC_NUMBER (R_SH_GOTOFF_MEDHI16, 183)
  RELOC_NUMBER (R_SH_GOTOFF_HI16, 184)
  RELOC_NUMBER (R_SH_GOTPC_LOW16, 185)
  RELOC_NUMBER (R_SH_GOTPC_MEDLOW16, 186)
  RELOC_NUMBER (R_SH_GOTPC_MEDHI16, 187)
  RELOC_NUMBER (R_SH_GOTPC_HI16, 188)
  RELOC_NUMBER (R_SH_GOT10BY4, 189)
  RELOC_NUMBER (R_SH_GOTPLT10BY4, 190)
  RELOC_NUMBER (R_SH_GOT10BY8, 191)
  RELOC_NUMBER (R_SH_GOTPLT10BY8, 192)
  RELOC_NUMBER (R_SH_COPY64, 193)
  RELOC_NUMBER (R_SH_GLOB_DAT64, 194)
  RELOC_NUMBER (R_SH_JMP_SLOT64, 195)
  RELOC_NUMBER (R_SH_RELATIVE64, 196)
  FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_5, 197)
  FAKE_RELOC (R_SH_LAST_INVALID_RELOC_5, 200)
  RELOC_NUMBER (R_SH_GOT20, 201)
  RELOC_NUMBER (R_SH_GOTOFF20, 202)
  RELOC_NUMBER (R_SH_GOTFUNCDESC, 203)
  RELOC_NUMBER (R_SH_GOTFUNCDESC20, 204)
  RELOC_NUMBER (R_SH_GOTOFFFUNCDESC, 205)
  RELOC_NUMBER (R_SH_GOTOFFFUNCDESC20, 206)
  RELOC_NUMBER (R_SH_FUNCDESC, 207)
  RELOC_NUMBER (R_SH_FUNCDESC_VALUE, 208)
  FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_6, 209)
  FAKE_RELOC (R_SH_LAST_INVALID_RELOC_6, 241)
  RELOC_NUMBER (R_SH_SHMEDIA_CODE, 242)
  RELOC_NUMBER (R_SH_PT_16, 243)
  RELOC_NUMBER (R_SH_IMMS16, 244)
  RELOC_NUMBER (R_SH_IMMU16, 245)
  RELOC_NUMBER (R_SH_IMM_LOW16, 246)
  RELOC_NUMBER (R_SH_IMM_LOW16_PCREL, 247)
  RELOC_NUMBER (R_SH_IMM_MEDLOW16, 248)
  RELOC_NUMBER (R_SH_IMM_MEDLOW16_PCREL, 249)
  RELOC_NUMBER (R_SH_IMM_MEDHI16, 250)
  RELOC_NUMBER (R_SH_IMM_MEDHI16_PCREL, 251)
  RELOC_NUMBER (R_SH_IMM_HI16, 252)
  RELOC_NUMBER (R_SH_IMM_HI16_PCREL, 253)
  RELOC_NUMBER (R_SH_64, 254)
  RELOC_NUMBER (R_SH_64_PCREL, 255)
END_RELOC_NUMBERS (R_SH_max)

#endif
