1cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* SH specific relocation handling. 2cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng Copyright (C) 2000, 2001, 2002, 2005 Red Hat, Inc. 3cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng This file is part of Red Hat elfutils. 4cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng Written by Ulrich Drepper <drepper@redhat.com>, 2000. 5cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 6cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng Red Hat elfutils is free software; you can redistribute it and/or modify 7cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng it under the terms of the GNU General Public License as published by the 8cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng Free Software Foundation; version 2 of the License. 9cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 10cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng Red Hat elfutils is distributed in the hope that it will be useful, but 11cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng WITHOUT ANY WARRANTY; without even the implied warranty of 12cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng General Public License for more details. 14cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 15cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng You should have received a copy of the GNU General Public License along 16cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng with Red Hat elfutils; if not, write to the Free Software Foundation, 17cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. 18cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 19cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng Red Hat elfutils is an included package of the Open Invention Network. 20cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng An included package of the Open Invention Network is a package for which 21cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng Open Invention Network licensees cross-license their patents. No patent 22cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng license is granted, either expressly or impliedly, by designation as an 23cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng included package. Should you wish to participate in the Open Invention 24cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng Network licensing program, please visit www.openinventionnetwork.com 25cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng <http://www.openinventionnetwork.com>. */ 26cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 27cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#ifdef HAVE_CONFIG_H 28cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng# include <config.h> 29cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#endif 30cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 31cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#include <elf.h> 32cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#include <stddef.h> 33cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 34cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#define BACKEND sh_ 35cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng#include "libebl_CPU.h" 36cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 37cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 38cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Return true if the symbol type is that referencing the GOT. */ 39cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengbool 40cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengsh_gotpc_reloc_check (Elf *elf __attribute__ ((unused)), int type) 41cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ 42cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng return type == R_SH_GOTPC; 43cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng} 44cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 45cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng/* Check for the simple reloc types. */ 46cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengElf_Type 47cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengsh_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type) 48cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng{ 49cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng switch (type) 50cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng { 51cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng case R_SH_DIR32: 52cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng return ELF_T_WORD; 53cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng default: 54cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng return ELF_T_NUM; 55cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng } 56cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng} 57