Home | History | Annotate | Line # | Download | only in bfd
elf32-sh-relocs.h revision 1.1.1.1
      1  1.1  christos /* Copyright 2006, 2007, 2010 Free Software Foundation, Inc.
      2  1.1  christos 
      3  1.1  christos    This file is part of BFD, the Binary File Descriptor library.
      4  1.1  christos 
      5  1.1  christos    This program is free software; you can redistribute it and/or modify
      6  1.1  christos    it under the terms of the GNU General Public License as published by
      7  1.1  christos    the Free Software Foundation; either version 3 of the License, or
      8  1.1  christos    (at your option) any later version.
      9  1.1  christos 
     10  1.1  christos    This program is distributed in the hope that it will be useful,
     11  1.1  christos    but WITHOUT ANY WARRANTY; without even the implied warranty of
     12  1.1  christos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13  1.1  christos    GNU General Public License for more details.
     14  1.1  christos 
     15  1.1  christos    You should have received a copy of the GNU General Public License
     16  1.1  christos    along with this program; if not, write to the Free Software
     17  1.1  christos    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
     18  1.1  christos    MA 02110-1301, USA.  */
     19  1.1  christos 
     20  1.1  christos /* No relocation.  */
     21  1.1  christos   HOWTO (R_SH_NONE,		/* type */
     22  1.1  christos 	 0,			/* rightshift */
     23  1.1  christos 	 0,			/* size (0 = byte, 1 = short, 2 = long) */
     24  1.1  christos 	 0,			/* bitsize */
     25  1.1  christos 	 FALSE,			/* pc_relative */
     26  1.1  christos 	 0,			/* bitpos */
     27  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
     28  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
     29  1.1  christos 	 "R_SH_NONE",		/* name */
     30  1.1  christos 	 FALSE,			/* partial_inplace */
     31  1.1  christos 	 0,			/* src_mask */
     32  1.1  christos 	 0,			/* dst_mask */
     33  1.1  christos 	 FALSE),		/* pcrel_offset */
     34  1.1  christos 
     35  1.1  christos   /* 32 bit absolute relocation.  Setting partial_inplace to TRUE and
     36  1.1  christos      src_mask to a non-zero value is similar to the COFF toolchain.  */
     37  1.1  christos   HOWTO (R_SH_DIR32,		/* type */
     38  1.1  christos 	 0,			/* rightshift */
     39  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
     40  1.1  christos 	 32,			/* bitsize */
     41  1.1  christos 	 FALSE,			/* pc_relative */
     42  1.1  christos 	 0,			/* bitpos */
     43  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
     44  1.1  christos 	 SH_ELF_RELOC,		/* special_function */
     45  1.1  christos 	 "R_SH_DIR32",		/* name */
     46  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
     47  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
     48  1.1  christos 	 0xffffffff,		/* dst_mask */
     49  1.1  christos 	 FALSE),		/* pcrel_offset */
     50  1.1  christos 
     51  1.1  christos   /* 32 bit PC relative relocation.  */
     52  1.1  christos   HOWTO (R_SH_REL32,		/* type */
     53  1.1  christos 	 0,			/* rightshift */
     54  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
     55  1.1  christos 	 32,			/* bitsize */
     56  1.1  christos 	 TRUE,			/* pc_relative */
     57  1.1  christos 	 0,			/* bitpos */
     58  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
     59  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
     60  1.1  christos 	 "R_SH_REL32",		/* name */
     61  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
     62  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
     63  1.1  christos 	 0xffffffff,		/* dst_mask */
     64  1.1  christos 	 TRUE),			/* pcrel_offset */
     65  1.1  christos 
     66  1.1  christos   /* 8 bit PC relative branch divided by 2.  */
     67  1.1  christos   HOWTO (R_SH_DIR8WPN,		/* type */
     68  1.1  christos 	 1,			/* rightshift */
     69  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
     70  1.1  christos 	 8,			/* bitsize */
     71  1.1  christos 	 TRUE,			/* pc_relative */
     72  1.1  christos 	 0,			/* bitpos */
     73  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
     74  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
     75  1.1  christos 	 "R_SH_DIR8WPN",	/* name */
     76  1.1  christos 	 TRUE,			/* partial_inplace */
     77  1.1  christos 	 0xff,			/* src_mask */
     78  1.1  christos 	 0xff,			/* dst_mask */
     79  1.1  christos 	 TRUE),			/* pcrel_offset */
     80  1.1  christos 
     81  1.1  christos   /* 12 bit PC relative branch divided by 2.  */
     82  1.1  christos   /* This cannot be partial_inplace because relaxation can't know the
     83  1.1  christos      eventual value of a symbol.  */
     84  1.1  christos   HOWTO (R_SH_IND12W,		/* type */
     85  1.1  christos 	 1,			/* rightshift */
     86  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
     87  1.1  christos 	 12,			/* bitsize */
     88  1.1  christos 	 TRUE,			/* pc_relative */
     89  1.1  christos 	 0,			/* bitpos */
     90  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
     91  1.1  christos 	 NULL,			/* special_function */
     92  1.1  christos 	 "R_SH_IND12W",		/* name */
     93  1.1  christos 	 FALSE,			/* partial_inplace */
     94  1.1  christos 	 0x0,			/* src_mask */
     95  1.1  christos 	 0xfff,			/* dst_mask */
     96  1.1  christos 	 TRUE),			/* pcrel_offset */
     97  1.1  christos 
     98  1.1  christos   /* 8 bit unsigned PC relative divided by 4.  */
     99  1.1  christos   HOWTO (R_SH_DIR8WPL,		/* type */
    100  1.1  christos 	 2,			/* rightshift */
    101  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    102  1.1  christos 	 8,			/* bitsize */
    103  1.1  christos 	 TRUE,			/* pc_relative */
    104  1.1  christos 	 0,			/* bitpos */
    105  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    106  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
    107  1.1  christos 	 "R_SH_DIR8WPL",	/* name */
    108  1.1  christos 	 TRUE,			/* partial_inplace */
    109  1.1  christos 	 0xff,			/* src_mask */
    110  1.1  christos 	 0xff,			/* dst_mask */
    111  1.1  christos 	 TRUE),			/* pcrel_offset */
    112  1.1  christos 
    113  1.1  christos   /* 8 bit unsigned PC relative divided by 2.  */
    114  1.1  christos   HOWTO (R_SH_DIR8WPZ,		/* type */
    115  1.1  christos 	 1,			/* rightshift */
    116  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    117  1.1  christos 	 8,			/* bitsize */
    118  1.1  christos 	 TRUE,			/* pc_relative */
    119  1.1  christos 	 0,			/* bitpos */
    120  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    121  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
    122  1.1  christos 	 "R_SH_DIR8WPZ",	/* name */
    123  1.1  christos 	 TRUE,			/* partial_inplace */
    124  1.1  christos 	 0xff,			/* src_mask */
    125  1.1  christos 	 0xff,			/* dst_mask */
    126  1.1  christos 	 TRUE),			/* pcrel_offset */
    127  1.1  christos 
    128  1.1  christos   /* 8 bit GBR relative.  FIXME: This only makes sense if we have some
    129  1.1  christos      special symbol for the GBR relative area, and that is not
    130  1.1  christos      implemented.  */
    131  1.1  christos   HOWTO (R_SH_DIR8BP,		/* type */
    132  1.1  christos 	 0,			/* rightshift */
    133  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    134  1.1  christos 	 8,			/* bitsize */
    135  1.1  christos 	 FALSE,			/* pc_relative */
    136  1.1  christos 	 0,			/* bitpos */
    137  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    138  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
    139  1.1  christos 	 "R_SH_DIR8BP",		/* name */
    140  1.1  christos 	 FALSE,			/* partial_inplace */
    141  1.1  christos 	 0,			/* src_mask */
    142  1.1  christos 	 0xff,			/* dst_mask */
    143  1.1  christos 	 TRUE),			/* pcrel_offset */
    144  1.1  christos 
    145  1.1  christos   /* 8 bit GBR relative divided by 2.  FIXME: This only makes sense if
    146  1.1  christos      we have some special symbol for the GBR relative area, and that
    147  1.1  christos      is not implemented.  */
    148  1.1  christos   HOWTO (R_SH_DIR8W,		/* type */
    149  1.1  christos 	 1,			/* rightshift */
    150  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    151  1.1  christos 	 8,			/* bitsize */
    152  1.1  christos 	 FALSE,			/* pc_relative */
    153  1.1  christos 	 0,			/* bitpos */
    154  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    155  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
    156  1.1  christos 	 "R_SH_DIR8W",		/* name */
    157  1.1  christos 	 FALSE,			/* partial_inplace */
    158  1.1  christos 	 0,			/* src_mask */
    159  1.1  christos 	 0xff,			/* dst_mask */
    160  1.1  christos 	 TRUE),			/* pcrel_offset */
    161  1.1  christos 
    162  1.1  christos   /* 8 bit GBR relative divided by 4.  FIXME: This only makes sense if
    163  1.1  christos      we have some special symbol for the GBR relative area, and that
    164  1.1  christos      is not implemented.  */
    165  1.1  christos   HOWTO (R_SH_DIR8L,		/* type */
    166  1.1  christos 	 2,			/* rightshift */
    167  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    168  1.1  christos 	 8,			/* bitsize */
    169  1.1  christos 	 FALSE,			/* pc_relative */
    170  1.1  christos 	 0,			/* bitpos */
    171  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    172  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
    173  1.1  christos 	 "R_SH_DIR8L",		/* name */
    174  1.1  christos 	 FALSE,			/* partial_inplace */
    175  1.1  christos 	 0,			/* src_mask */
    176  1.1  christos 	 0xff,			/* dst_mask */
    177  1.1  christos 	 TRUE),			/* pcrel_offset */
    178  1.1  christos 
    179  1.1  christos   /* 8 bit PC relative divided by 2 - but specified in a very odd way.  */
    180  1.1  christos   HOWTO (R_SH_LOOP_START,	/* type */
    181  1.1  christos 	 1,			/* rightshift */
    182  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    183  1.1  christos 	 8,			/* bitsize */
    184  1.1  christos 	 FALSE,			/* pc_relative */
    185  1.1  christos 	 0,			/* bitpos */
    186  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
    187  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
    188  1.1  christos 	 "R_SH_LOOP_START",	/* name */
    189  1.1  christos 	 TRUE,			/* partial_inplace */
    190  1.1  christos 	 0xff,			/* src_mask */
    191  1.1  christos 	 0xff,			/* dst_mask */
    192  1.1  christos 	 TRUE),			/* pcrel_offset */
    193  1.1  christos 
    194  1.1  christos   /* 8 bit PC relative divided by 2 - but specified in a very odd way.  */
    195  1.1  christos   HOWTO (R_SH_LOOP_END,		/* type */
    196  1.1  christos 	 1,			/* rightshift */
    197  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    198  1.1  christos 	 8,			/* bitsize */
    199  1.1  christos 	 FALSE,			/* pc_relative */
    200  1.1  christos 	 0,			/* bitpos */
    201  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
    202  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
    203  1.1  christos 	 "R_SH_LOOP_END",	/* name */
    204  1.1  christos 	 TRUE,			/* partial_inplace */
    205  1.1  christos 	 0xff,			/* src_mask */
    206  1.1  christos 	 0xff,			/* dst_mask */
    207  1.1  christos 	 TRUE),			/* pcrel_offset */
    208  1.1  christos 
    209  1.1  christos   EMPTY_HOWTO (12),
    210  1.1  christos   EMPTY_HOWTO (13),
    211  1.1  christos   EMPTY_HOWTO (14),
    212  1.1  christos   EMPTY_HOWTO (15),
    213  1.1  christos   EMPTY_HOWTO (16),
    214  1.1  christos   EMPTY_HOWTO (17),
    215  1.1  christos   EMPTY_HOWTO (18),
    216  1.1  christos   EMPTY_HOWTO (19),
    217  1.1  christos   EMPTY_HOWTO (20),
    218  1.1  christos   EMPTY_HOWTO (21),
    219  1.1  christos 
    220  1.1  christos   /* The remaining relocs are a GNU extension used for relaxing.  The
    221  1.1  christos      final pass of the linker never needs to do anything with any of
    222  1.1  christos      these relocs.  Any required operations are handled by the
    223  1.1  christos      relaxation code.  */
    224  1.1  christos 
    225  1.1  christos   /* GNU extension to record C++ vtable hierarchy */
    226  1.1  christos   HOWTO (R_SH_GNU_VTINHERIT, /* type */
    227  1.1  christos 	 0,			/* rightshift */
    228  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    229  1.1  christos 	 0,			/* bitsize */
    230  1.1  christos 	 FALSE,			/* pc_relative */
    231  1.1  christos 	 0,			/* bitpos */
    232  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
    233  1.1  christos 	 NULL,			/* special_function */
    234  1.1  christos 	 "R_SH_GNU_VTINHERIT", /* name */
    235  1.1  christos 	 FALSE,			/* partial_inplace */
    236  1.1  christos 	 0,			/* src_mask */
    237  1.1  christos 	 0,			/* dst_mask */
    238  1.1  christos 	 FALSE),		/* pcrel_offset */
    239  1.1  christos 
    240  1.1  christos   /* GNU extension to record C++ vtable member usage */
    241  1.1  christos   HOWTO (R_SH_GNU_VTENTRY,     /* type */
    242  1.1  christos 	 0,			/* rightshift */
    243  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    244  1.1  christos 	 0,			/* bitsize */
    245  1.1  christos 	 FALSE,			/* pc_relative */
    246  1.1  christos 	 0,			/* bitpos */
    247  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
    248  1.1  christos 	 _bfd_elf_rel_vtable_reloc_fn,	/* special_function */
    249  1.1  christos 	 "R_SH_GNU_VTENTRY",   /* name */
    250  1.1  christos 	 FALSE,			/* partial_inplace */
    251  1.1  christos 	 0,			/* src_mask */
    252  1.1  christos 	 0,			/* dst_mask */
    253  1.1  christos 	 FALSE),		/* pcrel_offset */
    254  1.1  christos 
    255  1.1  christos   /* An 8 bit switch table entry.  This is generated for an expression
    256  1.1  christos      such as ``.word L1 - L2''.  The offset holds the difference
    257  1.1  christos      between the reloc address and L2.  */
    258  1.1  christos   HOWTO (R_SH_SWITCH8,		/* type */
    259  1.1  christos 	 0,			/* rightshift */
    260  1.1  christos 	 0,			/* size (0 = byte, 1 = short, 2 = long) */
    261  1.1  christos 	 8,			/* bitsize */
    262  1.1  christos 	 FALSE,			/* pc_relative */
    263  1.1  christos 	 0,			/* bitpos */
    264  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    265  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
    266  1.1  christos 	 "R_SH_SWITCH8",	/* name */
    267  1.1  christos 	 FALSE,			/* partial_inplace */
    268  1.1  christos 	 0,			/* src_mask */
    269  1.1  christos 	 0,			/* dst_mask */
    270  1.1  christos 	 TRUE),			/* pcrel_offset */
    271  1.1  christos 
    272  1.1  christos   /* A 16 bit switch table entry.  This is generated for an expression
    273  1.1  christos      such as ``.word L1 - L2''.  The offset holds the difference
    274  1.1  christos      between the reloc address and L2.  */
    275  1.1  christos   HOWTO (R_SH_SWITCH16,		/* type */
    276  1.1  christos 	 0,			/* rightshift */
    277  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    278  1.1  christos 	 16,			/* bitsize */
    279  1.1  christos 	 FALSE,			/* pc_relative */
    280  1.1  christos 	 0,			/* bitpos */
    281  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    282  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
    283  1.1  christos 	 "R_SH_SWITCH16",	/* name */
    284  1.1  christos 	 FALSE,			/* partial_inplace */
    285  1.1  christos 	 0,			/* src_mask */
    286  1.1  christos 	 0,			/* dst_mask */
    287  1.1  christos 	 TRUE),			/* pcrel_offset */
    288  1.1  christos 
    289  1.1  christos   /* A 32 bit switch table entry.  This is generated for an expression
    290  1.1  christos      such as ``.long L1 - L2''.  The offset holds the difference
    291  1.1  christos      between the reloc address and L2.  */
    292  1.1  christos   HOWTO (R_SH_SWITCH32,		/* type */
    293  1.1  christos 	 0,			/* rightshift */
    294  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    295  1.1  christos 	 32,			/* bitsize */
    296  1.1  christos 	 FALSE,			/* pc_relative */
    297  1.1  christos 	 0,			/* bitpos */
    298  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    299  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
    300  1.1  christos 	 "R_SH_SWITCH32",	/* name */
    301  1.1  christos 	 FALSE,			/* partial_inplace */
    302  1.1  christos 	 0,			/* src_mask */
    303  1.1  christos 	 0,			/* dst_mask */
    304  1.1  christos 	 TRUE),			/* pcrel_offset */
    305  1.1  christos 
    306  1.1  christos   /* Indicates a .uses pseudo-op.  The compiler will generate .uses
    307  1.1  christos      pseudo-ops when it finds a function call which can be relaxed.
    308  1.1  christos      The offset field holds the PC relative offset to the instruction
    309  1.1  christos      which loads the register used in the function call.  */
    310  1.1  christos   HOWTO (R_SH_USES,		/* type */
    311  1.1  christos 	 0,			/* rightshift */
    312  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    313  1.1  christos 	 0,			/* bitsize */
    314  1.1  christos 	 FALSE,			/* pc_relative */
    315  1.1  christos 	 0,			/* bitpos */
    316  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    317  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
    318  1.1  christos 	 "R_SH_USES",		/* name */
    319  1.1  christos 	 FALSE,			/* partial_inplace */
    320  1.1  christos 	 0,			/* src_mask */
    321  1.1  christos 	 0,			/* dst_mask */
    322  1.1  christos 	 TRUE),			/* pcrel_offset */
    323  1.1  christos 
    324  1.1  christos   /* The assembler will generate this reloc for addresses referred to
    325  1.1  christos      by the register loads associated with USES relocs.  The offset
    326  1.1  christos      field holds the number of times the address is referenced in the
    327  1.1  christos      object file.  */
    328  1.1  christos   HOWTO (R_SH_COUNT,		/* type */
    329  1.1  christos 	 0,			/* rightshift */
    330  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    331  1.1  christos 	 0,			/* bitsize */
    332  1.1  christos 	 FALSE,			/* pc_relative */
    333  1.1  christos 	 0,			/* bitpos */
    334  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    335  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
    336  1.1  christos 	 "R_SH_COUNT",		/* name */
    337  1.1  christos 	 FALSE,			/* partial_inplace */
    338  1.1  christos 	 0,			/* src_mask */
    339  1.1  christos 	 0,			/* dst_mask */
    340  1.1  christos 	 TRUE),			/* pcrel_offset */
    341  1.1  christos 
    342  1.1  christos   /* Indicates an alignment statement.  The offset field is the power
    343  1.1  christos      of 2 to which subsequent portions of the object file must be
    344  1.1  christos      aligned.  */
    345  1.1  christos   HOWTO (R_SH_ALIGN,		/* type */
    346  1.1  christos 	 0,			/* rightshift */
    347  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    348  1.1  christos 	 0,			/* bitsize */
    349  1.1  christos 	 FALSE,			/* pc_relative */
    350  1.1  christos 	 0,			/* bitpos */
    351  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    352  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
    353  1.1  christos 	 "R_SH_ALIGN",	/* name */
    354  1.1  christos 	 FALSE,			/* partial_inplace */
    355  1.1  christos 	 0,			/* src_mask */
    356  1.1  christos 	 0,			/* dst_mask */
    357  1.1  christos 	 TRUE),			/* pcrel_offset */
    358  1.1  christos 
    359  1.1  christos   /* The assembler will generate this reloc before a block of
    360  1.1  christos      instructions.  A section should be processed as assuming it
    361  1.1  christos      contains data, unless this reloc is seen.  */
    362  1.1  christos   HOWTO (R_SH_CODE,		/* type */
    363  1.1  christos 	 0,			/* rightshift */
    364  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    365  1.1  christos 	 0,			/* bitsize */
    366  1.1  christos 	 FALSE,			/* pc_relative */
    367  1.1  christos 	 0,			/* bitpos */
    368  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    369  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
    370  1.1  christos 	 "R_SH_CODE",		/* name */
    371  1.1  christos 	 FALSE,			/* partial_inplace */
    372  1.1  christos 	 0,			/* src_mask */
    373  1.1  christos 	 0,			/* dst_mask */
    374  1.1  christos 	 TRUE),			/* pcrel_offset */
    375  1.1  christos 
    376  1.1  christos   /* The assembler will generate this reloc after a block of
    377  1.1  christos      instructions when it sees data that is not instructions.  */
    378  1.1  christos   HOWTO (R_SH_DATA,		/* type */
    379  1.1  christos 	 0,			/* rightshift */
    380  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    381  1.1  christos 	 0,			/* bitsize */
    382  1.1  christos 	 FALSE,			/* pc_relative */
    383  1.1  christos 	 0,			/* bitpos */
    384  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    385  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
    386  1.1  christos 	 "R_SH_DATA",		/* name */
    387  1.1  christos 	 FALSE,			/* partial_inplace */
    388  1.1  christos 	 0,			/* src_mask */
    389  1.1  christos 	 0,			/* dst_mask */
    390  1.1  christos 	 TRUE),			/* pcrel_offset */
    391  1.1  christos 
    392  1.1  christos   /* The assembler generates this reloc for each label within a block
    393  1.1  christos      of instructions.  This permits the linker to avoid swapping
    394  1.1  christos      instructions which are the targets of branches.  */
    395  1.1  christos   HOWTO (R_SH_LABEL,		/* type */
    396  1.1  christos 	 0,			/* rightshift */
    397  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    398  1.1  christos 	 0,			/* bitsize */
    399  1.1  christos 	 FALSE,			/* pc_relative */
    400  1.1  christos 	 0,			/* bitpos */
    401  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    402  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
    403  1.1  christos 	 "R_SH_LABEL",		/* name */
    404  1.1  christos 	 FALSE,			/* partial_inplace */
    405  1.1  christos 	 0,			/* src_mask */
    406  1.1  christos 	 0,			/* dst_mask */
    407  1.1  christos 	 TRUE),			/* pcrel_offset */
    408  1.1  christos 
    409  1.1  christos   /* The next 12 are only supported via linking in SHC-generated objects.  */
    410  1.1  christos   HOWTO (R_SH_DIR16,		/* type */
    411  1.1  christos 	 0,			/* rightshift */
    412  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    413  1.1  christos 	 16,			/* bitsize */
    414  1.1  christos 	 FALSE,			/* pc_relative */
    415  1.1  christos 	 0,			/* bitpos */
    416  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
    417  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    418  1.1  christos 	 "R_SH_DIR16",		/* name */
    419  1.1  christos 	 FALSE,			/* partial_inplace */
    420  1.1  christos 	 0,			/* src_mask */
    421  1.1  christos 	 0xffff,		/* dst_mask */
    422  1.1  christos 	 FALSE),		/* pcrel_offset */
    423  1.1  christos 
    424  1.1  christos   HOWTO (R_SH_DIR8,		/* type */
    425  1.1  christos 	 0,			/* rightshift */
    426  1.1  christos 	 0,			/* size (0 = byte, 1 = short, 2 = long) */
    427  1.1  christos 	 8,			/* bitsize */
    428  1.1  christos 	 FALSE,			/* pc_relative */
    429  1.1  christos 	 0,			/* bitpos */
    430  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
    431  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    432  1.1  christos 	 "R_SH_DIR8",		/* name */
    433  1.1  christos 	 FALSE,			/* partial_inplace */
    434  1.1  christos 	 0,			/* src_mask */
    435  1.1  christos 	 0xff,			/* dst_mask */
    436  1.1  christos 	 FALSE),		/* pcrel_offset */
    437  1.1  christos 
    438  1.1  christos   HOWTO (R_SH_DIR8UL,		/* type */
    439  1.1  christos 	 2,			/* rightshift */
    440  1.1  christos 	 0,			/* size (0 = byte, 1 = short, 2 = long) */
    441  1.1  christos 	 8,			/* bitsize */
    442  1.1  christos 	 FALSE,			/* pc_relative */
    443  1.1  christos 	 0,			/* bitpos */
    444  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    445  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    446  1.1  christos 	 "R_SH_DIR8UL",		/* name */
    447  1.1  christos 	 FALSE,			/* partial_inplace */
    448  1.1  christos 	 0,			/* src_mask */
    449  1.1  christos 	 0xff,			/* dst_mask */
    450  1.1  christos 	 FALSE),		/* pcrel_offset */
    451  1.1  christos 
    452  1.1  christos   HOWTO (R_SH_DIR8UW,		/* type */
    453  1.1  christos 	 1,			/* rightshift */
    454  1.1  christos 	 0,			/* size (0 = byte, 1 = short, 2 = long) */
    455  1.1  christos 	 8,			/* bitsize */
    456  1.1  christos 	 FALSE,			/* pc_relative */
    457  1.1  christos 	 0,			/* bitpos */
    458  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    459  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    460  1.1  christos 	 "R_SH_DIR8UW",		/* name */
    461  1.1  christos 	 FALSE,			/* partial_inplace */
    462  1.1  christos 	 0,			/* src_mask */
    463  1.1  christos 	 0xff,			/* dst_mask */
    464  1.1  christos 	 FALSE),		/* pcrel_offset */
    465  1.1  christos 
    466  1.1  christos   HOWTO (R_SH_DIR8U,		/* type */
    467  1.1  christos 	 0,			/* rightshift */
    468  1.1  christos 	 0,			/* size (0 = byte, 1 = short, 2 = long) */
    469  1.1  christos 	 8,			/* bitsize */
    470  1.1  christos 	 FALSE,			/* pc_relative */
    471  1.1  christos 	 0,			/* bitpos */
    472  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    473  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    474  1.1  christos 	 "R_SH_DIR8U",		/* name */
    475  1.1  christos 	 FALSE,			/* partial_inplace */
    476  1.1  christos 	 0,			/* src_mask */
    477  1.1  christos 	 0xff,			/* dst_mask */
    478  1.1  christos 	 FALSE),		/* pcrel_offset */
    479  1.1  christos 
    480  1.1  christos   HOWTO (R_SH_DIR8SW,		/* type */
    481  1.1  christos 	 1,			/* rightshift */
    482  1.1  christos 	 0,			/* size (0 = byte, 1 = short, 2 = long) */
    483  1.1  christos 	 8,			/* bitsize */
    484  1.1  christos 	 FALSE,			/* pc_relative */
    485  1.1  christos 	 0,			/* bitpos */
    486  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
    487  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    488  1.1  christos 	 "R_SH_DIR8SW",		/* name */
    489  1.1  christos 	 FALSE,			/* partial_inplace */
    490  1.1  christos 	 0,			/* src_mask */
    491  1.1  christos 	 0xff,			/* dst_mask */
    492  1.1  christos 	 FALSE),		/* pcrel_offset */
    493  1.1  christos 
    494  1.1  christos   HOWTO (R_SH_DIR8S,		/* type */
    495  1.1  christos 	 0,			/* rightshift */
    496  1.1  christos 	 0,			/* size (0 = byte, 1 = short, 2 = long) */
    497  1.1  christos 	 8,			/* bitsize */
    498  1.1  christos 	 FALSE,			/* pc_relative */
    499  1.1  christos 	 0,			/* bitpos */
    500  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
    501  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    502  1.1  christos 	 "R_SH_DIR8S",		/* name */
    503  1.1  christos 	 FALSE,			/* partial_inplace */
    504  1.1  christos 	 0,			/* src_mask */
    505  1.1  christos 	 0xff,			/* dst_mask */
    506  1.1  christos 	 FALSE),		/* pcrel_offset */
    507  1.1  christos 
    508  1.1  christos   HOWTO (R_SH_DIR4UL,		/* type */
    509  1.1  christos 	 2,			/* rightshift */
    510  1.1  christos 	 0,			/* size (0 = byte, 1 = short, 2 = long) */
    511  1.1  christos 	 4,			/* bitsize */
    512  1.1  christos 	 FALSE,			/* pc_relative */
    513  1.1  christos 	 0,			/* bitpos */
    514  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    515  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    516  1.1  christos 	 "R_SH_DIR4UL",		/* name */
    517  1.1  christos 	 FALSE,			/* partial_inplace */
    518  1.1  christos 	 0,			/* src_mask */
    519  1.1  christos 	 0x0f,			/* dst_mask */
    520  1.1  christos 	 FALSE),		/* pcrel_offset */
    521  1.1  christos 
    522  1.1  christos   HOWTO (R_SH_DIR4UW,		/* type */
    523  1.1  christos 	 1,			/* rightshift */
    524  1.1  christos 	 0,			/* size (0 = byte, 1 = short, 2 = long) */
    525  1.1  christos 	 4,			/* bitsize */
    526  1.1  christos 	 FALSE,			/* pc_relative */
    527  1.1  christos 	 0,			/* bitpos */
    528  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    529  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    530  1.1  christos 	 "R_SH_DIR4UW",		/* name */
    531  1.1  christos 	 FALSE,			/* partial_inplace */
    532  1.1  christos 	 0,			/* src_mask */
    533  1.1  christos 	 0x0f,			/* dst_mask */
    534  1.1  christos 	 FALSE),		/* pcrel_offset */
    535  1.1  christos 
    536  1.1  christos   HOWTO (R_SH_DIR4U,		/* type */
    537  1.1  christos 	 0,			/* rightshift */
    538  1.1  christos 	 0,			/* size (0 = byte, 1 = short, 2 = long) */
    539  1.1  christos 	 4,			/* bitsize */
    540  1.1  christos 	 FALSE,			/* pc_relative */
    541  1.1  christos 	 0,			/* bitpos */
    542  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    543  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    544  1.1  christos 	 "R_SH_DIR4U",		/* name */
    545  1.1  christos 	 FALSE,			/* partial_inplace */
    546  1.1  christos 	 0,			/* src_mask */
    547  1.1  christos 	 0x0f,			/* dst_mask */
    548  1.1  christos 	 FALSE),		/* pcrel_offset */
    549  1.1  christos 
    550  1.1  christos   HOWTO (R_SH_PSHA,		/* type */
    551  1.1  christos 	 0,			/* rightshift */
    552  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    553  1.1  christos 	 7,			/* bitsize */
    554  1.1  christos 	 FALSE,			/* pc_relative */
    555  1.1  christos 	 4,			/* bitpos */
    556  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
    557  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    558  1.1  christos 	 "R_SH_PSHA",		/* name */
    559  1.1  christos 	 FALSE,			/* partial_inplace */
    560  1.1  christos 	 0,			/* src_mask */
    561  1.1  christos 	 0x0f,			/* dst_mask */
    562  1.1  christos 	 FALSE),		/* pcrel_offset */
    563  1.1  christos 
    564  1.1  christos   HOWTO (R_SH_PSHL,		/* type */
    565  1.1  christos 	 0,			/* rightshift */
    566  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    567  1.1  christos 	 7,			/* bitsize */
    568  1.1  christos 	 FALSE,			/* pc_relative */
    569  1.1  christos 	 4,			/* bitpos */
    570  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
    571  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    572  1.1  christos 	 "R_SH_PSHL",		/* name */
    573  1.1  christos 	 FALSE,			/* partial_inplace */
    574  1.1  christos 	 0,			/* src_mask */
    575  1.1  christos 	 0x0f,			/* dst_mask */
    576  1.1  christos 	 FALSE),		/* pcrel_offset */
    577  1.1  christos 
    578  1.1  christos #ifdef INCLUDE_SHMEDIA
    579  1.1  christos   /* Used in SHLLI.L and SHLRI.L.  */
    580  1.1  christos   HOWTO (R_SH_DIR5U,		/* type */
    581  1.1  christos 	 0,			/* rightshift */
    582  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    583  1.1  christos 	 5,			/* bitsize */
    584  1.1  christos 	 FALSE,			/* pc_relative */
    585  1.1  christos 	 10,			/* bitpos */
    586  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    587  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    588  1.1  christos 	 "R_SH_DIR5U",		/* name */
    589  1.1  christos 	 FALSE,			/* partial_inplace */
    590  1.1  christos 	 0,			/* src_mask */
    591  1.1  christos 	 0xfc00,		/* dst_mask */
    592  1.1  christos 	 FALSE),		/* pcrel_offset */
    593  1.1  christos 
    594  1.1  christos   /* Used in SHARI, SHLLI et al.  */
    595  1.1  christos   HOWTO (R_SH_DIR6U,		/* type */
    596  1.1  christos 	 0,			/* rightshift */
    597  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    598  1.1  christos 	 6,			/* bitsize */
    599  1.1  christos 	 FALSE,			/* pc_relative */
    600  1.1  christos 	 10,			/* bitpos */
    601  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
    602  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    603  1.1  christos 	 "R_SH_DIR6U",		/* name */
    604  1.1  christos 	 FALSE,			/* partial_inplace */
    605  1.1  christos 	 0,			/* src_mask */
    606  1.1  christos 	 0xfc00,		/* dst_mask */
    607  1.1  christos 	 FALSE),		/* pcrel_offset */
    608  1.1  christos 
    609  1.1  christos   /* Used in BxxI, LDHI.L et al.  */
    610  1.1  christos   HOWTO (R_SH_DIR6S,		/* type */
    611  1.1  christos 	 0,			/* rightshift */
    612  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    613  1.1  christos 	 6,			/* bitsize */
    614  1.1  christos 	 FALSE,			/* pc_relative */
    615  1.1  christos 	 10,			/* bitpos */
    616  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
    617  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    618  1.1  christos 	 "R_SH_DIR6S",		/* name */
    619  1.1  christos 	 FALSE,			/* partial_inplace */
    620  1.1  christos 	 0,			/* src_mask */
    621  1.1  christos 	 0xfc00,		/* dst_mask */
    622  1.1  christos 	 FALSE),		/* pcrel_offset */
    623  1.1  christos 
    624  1.1  christos   /* Used in ADDI, ANDI et al.  */
    625  1.1  christos   HOWTO (R_SH_DIR10S,		/* type */
    626  1.1  christos 	 0,			/* rightshift */
    627  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    628  1.1  christos 	 10,			/* bitsize */
    629  1.1  christos 	 FALSE,			/* pc_relative */
    630  1.1  christos 	 10,			/* bitpos */
    631  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
    632  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    633  1.1  christos 	 "R_SH_DIR10S",		/* name */
    634  1.1  christos 	 FALSE,			/* partial_inplace */
    635  1.1  christos 	 0,			/* src_mask */
    636  1.1  christos 	 0xffc00,		/* dst_mask */
    637  1.1  christos 	 FALSE),		/* pcrel_offset */
    638  1.1  christos 
    639  1.1  christos   /* Used in LD.UW, ST.W et al.	 */
    640  1.1  christos   HOWTO (R_SH_DIR10SW,	/* type */
    641  1.1  christos 	 1,			/* rightshift */
    642  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    643  1.1  christos 	 11,			/* bitsize */
    644  1.1  christos 	 FALSE,			/* pc_relative */
    645  1.1  christos 	 10,			/* bitpos */
    646  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
    647  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    648  1.1  christos 	 "R_SH_DIR10SW",	/* name */
    649  1.1  christos 	 FALSE,			/* partial_inplace */
    650  1.1  christos 	 0,			/* src_mask */
    651  1.1  christos 	 0xffc00,		/* dst_mask */
    652  1.1  christos 	 FALSE),		/* pcrel_offset */
    653  1.1  christos 
    654  1.1  christos   /* Used in LD.L, FLD.S et al.	 */
    655  1.1  christos   HOWTO (R_SH_DIR10SL,	/* type */
    656  1.1  christos 	 2,			/* rightshift */
    657  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    658  1.1  christos 	 12,			/* bitsize */
    659  1.1  christos 	 FALSE,			/* pc_relative */
    660  1.1  christos 	 10,			/* bitpos */
    661  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
    662  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    663  1.1  christos 	 "R_SH_DIR10SL",	/* name */
    664  1.1  christos 	 FALSE,			/* partial_inplace */
    665  1.1  christos 	 0,			/* src_mask */
    666  1.1  christos 	 0xffc00,		/* dst_mask */
    667  1.1  christos 	 FALSE),		/* pcrel_offset */
    668  1.1  christos 
    669  1.1  christos   /* Used in FLD.D, FST.P et al.  */
    670  1.1  christos   HOWTO (R_SH_DIR10SQ,	/* type */
    671  1.1  christos 	 3,			/* rightshift */
    672  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    673  1.1  christos 	 13,			/* bitsize */
    674  1.1  christos 	 FALSE,			/* pc_relative */
    675  1.1  christos 	 10,			/* bitpos */
    676  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
    677  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    678  1.1  christos 	 "R_SH_DIR10SQ",	/* name */
    679  1.1  christos 	 FALSE,			/* partial_inplace */
    680  1.1  christos 	 0,			/* src_mask */
    681  1.1  christos 	 0xffc00,		/* dst_mask */
    682  1.1  christos 	 FALSE),		/* pcrel_offset */
    683  1.1  christos 
    684  1.1  christos #else
    685  1.1  christos   EMPTY_HOWTO (45),
    686  1.1  christos   EMPTY_HOWTO (46),
    687  1.1  christos   EMPTY_HOWTO (47),
    688  1.1  christos   EMPTY_HOWTO (48),
    689  1.1  christos   EMPTY_HOWTO (49),
    690  1.1  christos   EMPTY_HOWTO (50),
    691  1.1  christos   EMPTY_HOWTO (51),
    692  1.1  christos #endif
    693  1.1  christos 
    694  1.1  christos   EMPTY_HOWTO (52),
    695  1.1  christos 
    696  1.1  christos   HOWTO (R_SH_DIR16S,		/* type */
    697  1.1  christos 	 0,			/* rightshift */
    698  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
    699  1.1  christos 	 16,			/* bitsize */
    700  1.1  christos 	 FALSE,			/* pc_relative */
    701  1.1  christos 	 0,			/* bitpos */
    702  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
    703  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
    704  1.1  christos 	 "R_SH_DIR16S",		/* name */
    705  1.1  christos 	 FALSE,			/* partial_inplace */
    706  1.1  christos 	 0,			/* src_mask */
    707  1.1  christos 	 0xffff,		/* dst_mask */
    708  1.1  christos 	 FALSE),		/* pcrel_offset */
    709  1.1  christos 
    710  1.1  christos   EMPTY_HOWTO (54),
    711  1.1  christos   EMPTY_HOWTO (55),
    712  1.1  christos   EMPTY_HOWTO (56),
    713  1.1  christos   EMPTY_HOWTO (57),
    714  1.1  christos   EMPTY_HOWTO (58),
    715  1.1  christos   EMPTY_HOWTO (59),
    716  1.1  christos   EMPTY_HOWTO (60),
    717  1.1  christos   EMPTY_HOWTO (61),
    718  1.1  christos   EMPTY_HOWTO (62),
    719  1.1  christos   EMPTY_HOWTO (63),
    720  1.1  christos   EMPTY_HOWTO (64),
    721  1.1  christos   EMPTY_HOWTO (65),
    722  1.1  christos   EMPTY_HOWTO (66),
    723  1.1  christos   EMPTY_HOWTO (67),
    724  1.1  christos   EMPTY_HOWTO (68),
    725  1.1  christos   EMPTY_HOWTO (69),
    726  1.1  christos   EMPTY_HOWTO (70),
    727  1.1  christos   EMPTY_HOWTO (71),
    728  1.1  christos   EMPTY_HOWTO (72),
    729  1.1  christos   EMPTY_HOWTO (73),
    730  1.1  christos   EMPTY_HOWTO (74),
    731  1.1  christos   EMPTY_HOWTO (75),
    732  1.1  christos   EMPTY_HOWTO (76),
    733  1.1  christos   EMPTY_HOWTO (77),
    734  1.1  christos   EMPTY_HOWTO (78),
    735  1.1  christos   EMPTY_HOWTO (79),
    736  1.1  christos   EMPTY_HOWTO (80),
    737  1.1  christos   EMPTY_HOWTO (81),
    738  1.1  christos   EMPTY_HOWTO (82),
    739  1.1  christos   EMPTY_HOWTO (83),
    740  1.1  christos   EMPTY_HOWTO (84),
    741  1.1  christos   EMPTY_HOWTO (85),
    742  1.1  christos   EMPTY_HOWTO (86),
    743  1.1  christos   EMPTY_HOWTO (87),
    744  1.1  christos   EMPTY_HOWTO (88),
    745  1.1  christos   EMPTY_HOWTO (89),
    746  1.1  christos   EMPTY_HOWTO (90),
    747  1.1  christos   EMPTY_HOWTO (91),
    748  1.1  christos   EMPTY_HOWTO (92),
    749  1.1  christos   EMPTY_HOWTO (93),
    750  1.1  christos   EMPTY_HOWTO (94),
    751  1.1  christos   EMPTY_HOWTO (95),
    752  1.1  christos   EMPTY_HOWTO (96),
    753  1.1  christos   EMPTY_HOWTO (97),
    754  1.1  christos   EMPTY_HOWTO (98),
    755  1.1  christos   EMPTY_HOWTO (99),
    756  1.1  christos   EMPTY_HOWTO (100),
    757  1.1  christos   EMPTY_HOWTO (101),
    758  1.1  christos   EMPTY_HOWTO (102),
    759  1.1  christos   EMPTY_HOWTO (103),
    760  1.1  christos   EMPTY_HOWTO (104),
    761  1.1  christos   EMPTY_HOWTO (105),
    762  1.1  christos   EMPTY_HOWTO (106),
    763  1.1  christos   EMPTY_HOWTO (107),
    764  1.1  christos   EMPTY_HOWTO (108),
    765  1.1  christos   EMPTY_HOWTO (109),
    766  1.1  christos   EMPTY_HOWTO (110),
    767  1.1  christos   EMPTY_HOWTO (111),
    768  1.1  christos   EMPTY_HOWTO (112),
    769  1.1  christos   EMPTY_HOWTO (113),
    770  1.1  christos   EMPTY_HOWTO (114),
    771  1.1  christos   EMPTY_HOWTO (115),
    772  1.1  christos   EMPTY_HOWTO (116),
    773  1.1  christos   EMPTY_HOWTO (117),
    774  1.1  christos   EMPTY_HOWTO (118),
    775  1.1  christos   EMPTY_HOWTO (119),
    776  1.1  christos   EMPTY_HOWTO (120),
    777  1.1  christos   EMPTY_HOWTO (121),
    778  1.1  christos   EMPTY_HOWTO (122),
    779  1.1  christos   EMPTY_HOWTO (123),
    780  1.1  christos   EMPTY_HOWTO (124),
    781  1.1  christos   EMPTY_HOWTO (125),
    782  1.1  christos   EMPTY_HOWTO (126),
    783  1.1  christos   EMPTY_HOWTO (127),
    784  1.1  christos   EMPTY_HOWTO (128),
    785  1.1  christos   EMPTY_HOWTO (129),
    786  1.1  christos   EMPTY_HOWTO (130),
    787  1.1  christos   EMPTY_HOWTO (131),
    788  1.1  christos   EMPTY_HOWTO (132),
    789  1.1  christos   EMPTY_HOWTO (133),
    790  1.1  christos   EMPTY_HOWTO (134),
    791  1.1  christos   EMPTY_HOWTO (135),
    792  1.1  christos   EMPTY_HOWTO (136),
    793  1.1  christos   EMPTY_HOWTO (137),
    794  1.1  christos   EMPTY_HOWTO (138),
    795  1.1  christos   EMPTY_HOWTO (139),
    796  1.1  christos   EMPTY_HOWTO (140),
    797  1.1  christos   EMPTY_HOWTO (141),
    798  1.1  christos   EMPTY_HOWTO (142),
    799  1.1  christos   EMPTY_HOWTO (143),
    800  1.1  christos 
    801  1.1  christos   HOWTO (R_SH_TLS_GD_32,	/* type */
    802  1.1  christos 	 0,			/* rightshift */
    803  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    804  1.1  christos 	 32,			/* bitsize */
    805  1.1  christos 	 FALSE,			/* pc_relative */
    806  1.1  christos 	 0,			/* bitpos */
    807  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
    808  1.1  christos 	 bfd_elf_generic_reloc,	/* */
    809  1.1  christos 	 "R_SH_TLS_GD_32",	/* name */
    810  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
    811  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
    812  1.1  christos 	 0xffffffff,		/* dst_mask */
    813  1.1  christos 	 FALSE),		/* pcrel_offset */
    814  1.1  christos 
    815  1.1  christos   HOWTO (R_SH_TLS_LD_32,	/* type */
    816  1.1  christos 	 0,			/* rightshift */
    817  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    818  1.1  christos 	 32,			/* bitsize */
    819  1.1  christos 	 FALSE,			/* pc_relative */
    820  1.1  christos 	 0,			/* bitpos */
    821  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
    822  1.1  christos 	 bfd_elf_generic_reloc,	/* */
    823  1.1  christos 	 "R_SH_TLS_LD_32",	/* name */
    824  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
    825  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
    826  1.1  christos 	 0xffffffff,		/* dst_mask */
    827  1.1  christos 	 FALSE),		/* pcrel_offset */
    828  1.1  christos 
    829  1.1  christos   HOWTO (R_SH_TLS_LDO_32,	/* type */
    830  1.1  christos 	 0,			/* rightshift */
    831  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    832  1.1  christos 	 32,			/* bitsize */
    833  1.1  christos 	 FALSE,			/* pc_relative */
    834  1.1  christos 	 0,			/* bitpos */
    835  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
    836  1.1  christos 	 bfd_elf_generic_reloc,	/* */
    837  1.1  christos 	 "R_SH_TLS_LDO_32",	/* name */
    838  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
    839  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
    840  1.1  christos 	 0xffffffff,		/* dst_mask */
    841  1.1  christos 	 FALSE),		/* pcrel_offset */
    842  1.1  christos 
    843  1.1  christos   HOWTO (R_SH_TLS_IE_32,	/* type */
    844  1.1  christos 	 0,			/* rightshift */
    845  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    846  1.1  christos 	 32,			/* bitsize */
    847  1.1  christos 	 FALSE,			/* pc_relative */
    848  1.1  christos 	 0,			/* bitpos */
    849  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
    850  1.1  christos 	 bfd_elf_generic_reloc,	/* */
    851  1.1  christos 	 "R_SH_TLS_IE_32",	/* name */
    852  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
    853  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
    854  1.1  christos 	 0xffffffff,		/* dst_mask */
    855  1.1  christos 	 FALSE),		/* pcrel_offset */
    856  1.1  christos 
    857  1.1  christos   HOWTO (R_SH_TLS_LE_32,	/* type */
    858  1.1  christos 	 0,			/* rightshift */
    859  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    860  1.1  christos 	 32,			/* bitsize */
    861  1.1  christos 	 FALSE,			/* pc_relative */
    862  1.1  christos 	 0,			/* bitpos */
    863  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
    864  1.1  christos 	 bfd_elf_generic_reloc,	/* */
    865  1.1  christos 	 "R_SH_TLS_LE_32",	/* name */
    866  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
    867  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
    868  1.1  christos 	 0xffffffff,		/* dst_mask */
    869  1.1  christos 	 FALSE),		/* pcrel_offset */
    870  1.1  christos 
    871  1.1  christos   HOWTO (R_SH_TLS_DTPMOD32,	/* type */
    872  1.1  christos 	 0,			/* rightshift */
    873  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    874  1.1  christos 	 32,			/* bitsize */
    875  1.1  christos 	 FALSE,			/* pc_relative */
    876  1.1  christos 	 0,			/* bitpos */
    877  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
    878  1.1  christos 	 bfd_elf_generic_reloc,	/* */
    879  1.1  christos 	 "R_SH_TLS_DTPMOD32",	/* name */
    880  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
    881  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
    882  1.1  christos 	 0xffffffff,		/* dst_mask */
    883  1.1  christos 	 FALSE),		/* pcrel_offset */
    884  1.1  christos 
    885  1.1  christos   HOWTO (R_SH_TLS_DTPOFF32,	/* type */
    886  1.1  christos 	 0,			/* rightshift */
    887  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    888  1.1  christos 	 32,			/* bitsize */
    889  1.1  christos 	 FALSE,			/* pc_relative */
    890  1.1  christos 	 0,			/* bitpos */
    891  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
    892  1.1  christos 	 bfd_elf_generic_reloc,	/* */
    893  1.1  christos 	 "R_SH_TLS_DTPOFF32",	/* name */
    894  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
    895  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
    896  1.1  christos 	 0xffffffff,		/* dst_mask */
    897  1.1  christos 	 FALSE),		/* pcrel_offset */
    898  1.1  christos 
    899  1.1  christos   HOWTO (R_SH_TLS_TPOFF32,	/* type */
    900  1.1  christos 	 0,			/* rightshift */
    901  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    902  1.1  christos 	 32,			/* bitsize */
    903  1.1  christos 	 FALSE,			/* pc_relative */
    904  1.1  christos 	 0,			/* bitpos */
    905  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
    906  1.1  christos 	 bfd_elf_generic_reloc,	/* */
    907  1.1  christos 	 "R_SH_TLS_TPOFF32",	/* name */
    908  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
    909  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
    910  1.1  christos 	 0xffffffff,		/* dst_mask */
    911  1.1  christos 	 FALSE),		/* pcrel_offset */
    912  1.1  christos 
    913  1.1  christos   EMPTY_HOWTO (152),
    914  1.1  christos   EMPTY_HOWTO (153),
    915  1.1  christos   EMPTY_HOWTO (154),
    916  1.1  christos   EMPTY_HOWTO (155),
    917  1.1  christos   EMPTY_HOWTO (156),
    918  1.1  christos   EMPTY_HOWTO (157),
    919  1.1  christos   EMPTY_HOWTO (158),
    920  1.1  christos   EMPTY_HOWTO (159),
    921  1.1  christos 
    922  1.1  christos   HOWTO (R_SH_GOT32,		/* type */
    923  1.1  christos 	 0,			/* rightshift */
    924  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    925  1.1  christos 	 32,			/* bitsize */
    926  1.1  christos 	 FALSE,			/* pc_relative */
    927  1.1  christos 	 0,			/* bitpos */
    928  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
    929  1.1  christos 	 bfd_elf_generic_reloc, /* */
    930  1.1  christos 	 "R_SH_GOT32",		/* name */
    931  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
    932  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
    933  1.1  christos 	 0xffffffff,		/* dst_mask */
    934  1.1  christos 	 FALSE),		/* pcrel_offset */
    935  1.1  christos 
    936  1.1  christos   HOWTO (R_SH_PLT32,		/* type */
    937  1.1  christos 	 0,			/* rightshift */
    938  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    939  1.1  christos 	 32,			/* bitsize */
    940  1.1  christos 	 TRUE,			/* pc_relative */
    941  1.1  christos 	 0,			/* bitpos */
    942  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
    943  1.1  christos 	 bfd_elf_generic_reloc, /* */
    944  1.1  christos 	 "R_SH_PLT32",		/* name */
    945  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
    946  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
    947  1.1  christos 	 0xffffffff,		/* dst_mask */
    948  1.1  christos 	 TRUE),			/* pcrel_offset */
    949  1.1  christos 
    950  1.1  christos   HOWTO (R_SH_COPY,		/* type */
    951  1.1  christos 	 0,			/* rightshift */
    952  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    953  1.1  christos 	 32,			/* bitsize */
    954  1.1  christos 	 FALSE,			/* pc_relative */
    955  1.1  christos 	 0,			/* bitpos */
    956  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
    957  1.1  christos 	 bfd_elf_generic_reloc, /* */
    958  1.1  christos 	 "R_SH_COPY",		/* name */
    959  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
    960  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
    961  1.1  christos 	 0xffffffff,		/* dst_mask */
    962  1.1  christos 	 FALSE),		/* pcrel_offset */
    963  1.1  christos 
    964  1.1  christos   HOWTO (R_SH_GLOB_DAT,		/* type */
    965  1.1  christos 	 0,			/* rightshift */
    966  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    967  1.1  christos 	 32,			/* bitsize */
    968  1.1  christos 	 FALSE,			/* pc_relative */
    969  1.1  christos 	 0,			/* bitpos */
    970  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
    971  1.1  christos 	 bfd_elf_generic_reloc, /* */
    972  1.1  christos 	 "R_SH_GLOB_DAT",	/* name */
    973  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
    974  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
    975  1.1  christos 	 0xffffffff,		/* dst_mask */
    976  1.1  christos 	 FALSE),		/* pcrel_offset */
    977  1.1  christos 
    978  1.1  christos   HOWTO (R_SH_JMP_SLOT,		/* type */
    979  1.1  christos 	 0,			/* rightshift */
    980  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    981  1.1  christos 	 32,			/* bitsize */
    982  1.1  christos 	 FALSE,			/* pc_relative */
    983  1.1  christos 	 0,			/* bitpos */
    984  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
    985  1.1  christos 	 bfd_elf_generic_reloc, /* */
    986  1.1  christos 	 "R_SH_JMP_SLOT",	/* name */
    987  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
    988  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
    989  1.1  christos 	 0xffffffff,		/* dst_mask */
    990  1.1  christos 	 FALSE),		/* pcrel_offset */
    991  1.1  christos 
    992  1.1  christos   HOWTO (R_SH_RELATIVE,		/* type */
    993  1.1  christos 	 0,			/* rightshift */
    994  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
    995  1.1  christos 	 32,			/* bitsize */
    996  1.1  christos 	 FALSE,			/* pc_relative */
    997  1.1  christos 	 0,			/* bitpos */
    998  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
    999  1.1  christos 	 bfd_elf_generic_reloc, /* */
   1000  1.1  christos 	 "R_SH_RELATIVE",	/* name */
   1001  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
   1002  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
   1003  1.1  christos 	 0xffffffff,		/* dst_mask */
   1004  1.1  christos 	 FALSE),		/* pcrel_offset */
   1005  1.1  christos 
   1006  1.1  christos   HOWTO (R_SH_GOTOFF,		/* type */
   1007  1.1  christos 	 0,			/* rightshift */
   1008  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1009  1.1  christos 	 32,			/* bitsize */
   1010  1.1  christos 	 FALSE,			/* pc_relative */
   1011  1.1  christos 	 0,			/* bitpos */
   1012  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
   1013  1.1  christos 	 bfd_elf_generic_reloc, /* */
   1014  1.1  christos 	 "R_SH_GOTOFF",		/* name */
   1015  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
   1016  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
   1017  1.1  christos 	 0xffffffff,		/* dst_mask */
   1018  1.1  christos 	 FALSE),		/* pcrel_offset */
   1019  1.1  christos 
   1020  1.1  christos   HOWTO (R_SH_GOTPC,		/* type */
   1021  1.1  christos 	 0,			/* rightshift */
   1022  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1023  1.1  christos 	 32,			/* bitsize */
   1024  1.1  christos 	 TRUE,			/* pc_relative */
   1025  1.1  christos 	 0,			/* bitpos */
   1026  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
   1027  1.1  christos 	 bfd_elf_generic_reloc, /* */
   1028  1.1  christos 	 "R_SH_GOTPC",		/* name */
   1029  1.1  christos 	 SH_PARTIAL32,		/* partial_inplace */
   1030  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
   1031  1.1  christos 	 0xffffffff,		/* dst_mask */
   1032  1.1  christos 	 TRUE),			/* pcrel_offset */
   1033  1.1  christos 
   1034  1.1  christos   HOWTO (R_SH_GOTPLT32,		/* type */
   1035  1.1  christos 	 0,			/* rightshift */
   1036  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1037  1.1  christos 	 32,			/* bitsize */
   1038  1.1  christos 	 FALSE,			/* pc_relative */
   1039  1.1  christos 	 0,			/* bitpos */
   1040  1.1  christos 	 complain_overflow_bitfield, /* complain_on_overflow */
   1041  1.1  christos 	 bfd_elf_generic_reloc, /* */
   1042  1.1  christos 	 "R_SH_GOTPLT32",	/* name */
   1043  1.1  christos 	 FALSE,			/* partial_inplace */
   1044  1.1  christos 	 /* ??? Why not 0?  */
   1045  1.1  christos 	 SH_SRC_MASK32,		/* src_mask */
   1046  1.1  christos 	 0xffffffff,		/* dst_mask */
   1047  1.1  christos 	 FALSE),		/* pcrel_offset */
   1048  1.1  christos 
   1049  1.1  christos #ifdef INCLUDE_SHMEDIA
   1050  1.1  christos   /* Used in MOVI and SHORI (x & 65536).  */
   1051  1.1  christos   HOWTO (R_SH_GOT_LOW16,	/* type */
   1052  1.1  christos 	 0,			/* rightshift */
   1053  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1054  1.1  christos 	 64,			/* bitsize */
   1055  1.1  christos 	 FALSE,			/* pc_relative */
   1056  1.1  christos 	 10,			/* bitpos */
   1057  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1058  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1059  1.1  christos 	 "R_SH_GOT_LOW16",	/* name */
   1060  1.1  christos 	 FALSE,			/* partial_inplace */
   1061  1.1  christos 	 0,			/* src_mask */
   1062  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1063  1.1  christos 	 FALSE),		/* pcrel_offset */
   1064  1.1  christos 
   1065  1.1  christos   /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
   1066  1.1  christos   HOWTO (R_SH_GOT_MEDLOW16,	/* type */
   1067  1.1  christos 	 16,			/* rightshift */
   1068  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1069  1.1  christos 	 64,			/* bitsize */
   1070  1.1  christos 	 FALSE,			/* pc_relative */
   1071  1.1  christos 	 10,			/* bitpos */
   1072  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1073  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1074  1.1  christos 	 "R_SH_GOT_MEDLOW16",	/* name */
   1075  1.1  christos 	 FALSE,			/* partial_inplace */
   1076  1.1  christos 	 0,			/* src_mask */
   1077  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1078  1.1  christos 	 FALSE),		/* pcrel_offset */
   1079  1.1  christos 
   1080  1.1  christos   /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
   1081  1.1  christos   HOWTO (R_SH_GOT_MEDHI16,	/* type */
   1082  1.1  christos 	 32,			/* rightshift */
   1083  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1084  1.1  christos 	 64,			/* bitsize */
   1085  1.1  christos 	 FALSE,			/* pc_relative */
   1086  1.1  christos 	 10,			/* bitpos */
   1087  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1088  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1089  1.1  christos 	 "R_SH_GOT_MEDHI16",	/* name */
   1090  1.1  christos 	 FALSE,			/* partial_inplace */
   1091  1.1  christos 	 0,			/* src_mask */
   1092  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1093  1.1  christos 	 FALSE),		/* pcrel_offset */
   1094  1.1  christos 
   1095  1.1  christos   /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
   1096  1.1  christos   HOWTO (R_SH_GOT_HI16,		/* type */
   1097  1.1  christos 	 48,			/* rightshift */
   1098  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1099  1.1  christos 	 64,			/* bitsize */
   1100  1.1  christos 	 FALSE,			/* pc_relative */
   1101  1.1  christos 	 10,			/* bitpos */
   1102  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1103  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1104  1.1  christos 	 "R_SH_GOT_HI16",	/* name */
   1105  1.1  christos 	 FALSE,			/* partial_inplace */
   1106  1.1  christos 	 0,			/* src_mask */
   1107  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1108  1.1  christos 	 FALSE),		/* pcrel_offset */
   1109  1.1  christos 
   1110  1.1  christos   /* Used in MOVI and SHORI (x & 65536).  */
   1111  1.1  christos   HOWTO (R_SH_GOTPLT_LOW16,	/* type */
   1112  1.1  christos 	 0,			/* rightshift */
   1113  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1114  1.1  christos 	 64,			/* bitsize */
   1115  1.1  christos 	 FALSE,			/* pc_relative */
   1116  1.1  christos 	 10,			/* bitpos */
   1117  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1118  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1119  1.1  christos 	 "R_SH_GOTPLT_LOW16",	/* name */
   1120  1.1  christos 	 FALSE,			/* partial_inplace */
   1121  1.1  christos 	 0,			/* src_mask */
   1122  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1123  1.1  christos 	 FALSE),		/* pcrel_offset */
   1124  1.1  christos 
   1125  1.1  christos   /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
   1126  1.1  christos   HOWTO (R_SH_GOTPLT_MEDLOW16,	/* type */
   1127  1.1  christos 	 16,			/* rightshift */
   1128  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1129  1.1  christos 	 64,			/* bitsize */
   1130  1.1  christos 	 FALSE,			/* pc_relative */
   1131  1.1  christos 	 10,			/* bitpos */
   1132  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1133  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1134  1.1  christos 	 "R_SH_GOTPLT_MEDLOW16", /* name */
   1135  1.1  christos 	 FALSE,			/* partial_inplace */
   1136  1.1  christos 	 0,			/* src_mask */
   1137  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1138  1.1  christos 	 FALSE),		/* pcrel_offset */
   1139  1.1  christos 
   1140  1.1  christos   /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
   1141  1.1  christos   HOWTO (R_SH_GOTPLT_MEDHI16,	/* type */
   1142  1.1  christos 	 32,			/* rightshift */
   1143  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1144  1.1  christos 	 64,			/* bitsize */
   1145  1.1  christos 	 FALSE,			/* pc_relative */
   1146  1.1  christos 	 10,			/* bitpos */
   1147  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1148  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1149  1.1  christos 	 "R_SH_GOTPLT_MEDHI16",	/* name */
   1150  1.1  christos 	 FALSE,			/* partial_inplace */
   1151  1.1  christos 	 0,			/* src_mask */
   1152  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1153  1.1  christos 	 FALSE),		/* pcrel_offset */
   1154  1.1  christos 
   1155  1.1  christos   /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
   1156  1.1  christos   HOWTO (R_SH_GOTPLT_HI16,	/* type */
   1157  1.1  christos 	 48,			/* rightshift */
   1158  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1159  1.1  christos 	 64,			/* bitsize */
   1160  1.1  christos 	 FALSE,			/* pc_relative */
   1161  1.1  christos 	 10,			/* bitpos */
   1162  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1163  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1164  1.1  christos 	 "R_SH_GOTPLT_HI16",	/* name */
   1165  1.1  christos 	 FALSE,			/* partial_inplace */
   1166  1.1  christos 	 0,			/* src_mask */
   1167  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1168  1.1  christos 	 FALSE),		/* pcrel_offset */
   1169  1.1  christos 
   1170  1.1  christos   /* Used in MOVI and SHORI (x & 65536).  */
   1171  1.1  christos   HOWTO (R_SH_PLT_LOW16,	/* type */
   1172  1.1  christos 	 0,			/* rightshift */
   1173  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1174  1.1  christos 	 64,			/* bitsize */
   1175  1.1  christos 	 TRUE,			/* pc_relative */
   1176  1.1  christos 	 10,			/* bitpos */
   1177  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1178  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1179  1.1  christos 	 "R_SH_PLT_LOW16",	/* name */
   1180  1.1  christos 	 FALSE,			/* partial_inplace */
   1181  1.1  christos 	 0,			/* src_mask */
   1182  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1183  1.1  christos 	 TRUE),			/* pcrel_offset */
   1184  1.1  christos 
   1185  1.1  christos   /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
   1186  1.1  christos   HOWTO (R_SH_PLT_MEDLOW16,	/* type */
   1187  1.1  christos 	 16,			/* rightshift */
   1188  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1189  1.1  christos 	 64,			/* bitsize */
   1190  1.1  christos 	 TRUE,			/* pc_relative */
   1191  1.1  christos 	 10,			/* bitpos */
   1192  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1193  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1194  1.1  christos 	 "R_SH_PLT_MEDLOW16",	/* name */
   1195  1.1  christos 	 FALSE,			/* partial_inplace */
   1196  1.1  christos 	 0,			/* src_mask */
   1197  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1198  1.1  christos 	 TRUE),			/* pcrel_offset */
   1199  1.1  christos 
   1200  1.1  christos   /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
   1201  1.1  christos   HOWTO (R_SH_PLT_MEDHI16,	/* type */
   1202  1.1  christos 	 32,			/* rightshift */
   1203  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1204  1.1  christos 	 64,			/* bitsize */
   1205  1.1  christos 	 TRUE,			/* pc_relative */
   1206  1.1  christos 	 10,			/* bitpos */
   1207  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1208  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1209  1.1  christos 	 "R_SH_PLT_MEDHI16",	/* name */
   1210  1.1  christos 	 FALSE,			/* partial_inplace */
   1211  1.1  christos 	 0,			/* src_mask */
   1212  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1213  1.1  christos 	 TRUE),			/* pcrel_offset */
   1214  1.1  christos 
   1215  1.1  christos   /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
   1216  1.1  christos   HOWTO (R_SH_PLT_HI16,		/* type */
   1217  1.1  christos 	 48,			/* rightshift */
   1218  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1219  1.1  christos 	 64,			/* bitsize */
   1220  1.1  christos 	 TRUE,			/* pc_relative */
   1221  1.1  christos 	 10,			/* bitpos */
   1222  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1223  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1224  1.1  christos 	 "R_SH_PLT_HI16",	/* name */
   1225  1.1  christos 	 FALSE,			/* partial_inplace */
   1226  1.1  christos 	 0,			/* src_mask */
   1227  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1228  1.1  christos 	 TRUE),			/* pcrel_offset */
   1229  1.1  christos 
   1230  1.1  christos   /* Used in MOVI and SHORI (x & 65536).  */
   1231  1.1  christos   HOWTO (R_SH_GOTOFF_LOW16,	/* type */
   1232  1.1  christos 	 0,			/* rightshift */
   1233  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1234  1.1  christos 	 64,			/* bitsize */
   1235  1.1  christos 	 FALSE,			/* pc_relative */
   1236  1.1  christos 	 10,			/* bitpos */
   1237  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1238  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1239  1.1  christos 	 "R_SH_GOTOFF_LOW16",	/* name */
   1240  1.1  christos 	 FALSE,			/* partial_inplace */
   1241  1.1  christos 	 0,			/* src_mask */
   1242  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1243  1.1  christos 	 FALSE),		/* pcrel_offset */
   1244  1.1  christos 
   1245  1.1  christos   /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
   1246  1.1  christos   HOWTO (R_SH_GOTOFF_MEDLOW16,	/* type */
   1247  1.1  christos 	 16,			/* rightshift */
   1248  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1249  1.1  christos 	 64,			/* bitsize */
   1250  1.1  christos 	 FALSE,			/* pc_relative */
   1251  1.1  christos 	 10,			/* bitpos */
   1252  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1253  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1254  1.1  christos 	 "R_SH_GOTOFF_MEDLOW16", /* name */
   1255  1.1  christos 	 FALSE,			/* partial_inplace */
   1256  1.1  christos 	 0,			/* src_mask */
   1257  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1258  1.1  christos 	 FALSE),		/* pcrel_offset */
   1259  1.1  christos 
   1260  1.1  christos   /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
   1261  1.1  christos   HOWTO (R_SH_GOTOFF_MEDHI16,	/* type */
   1262  1.1  christos 	 32,			/* rightshift */
   1263  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1264  1.1  christos 	 64,			/* bitsize */
   1265  1.1  christos 	 FALSE,			/* pc_relative */
   1266  1.1  christos 	 10,			/* bitpos */
   1267  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1268  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1269  1.1  christos 	 "R_SH_GOTOFF_MEDHI16",	/* name */
   1270  1.1  christos 	 FALSE,			/* partial_inplace */
   1271  1.1  christos 	 0,			/* src_mask */
   1272  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1273  1.1  christos 	 FALSE),		/* pcrel_offset */
   1274  1.1  christos 
   1275  1.1  christos   /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
   1276  1.1  christos   HOWTO (R_SH_GOTOFF_HI16,	/* type */
   1277  1.1  christos 	 48,			/* rightshift */
   1278  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1279  1.1  christos 	 64,			/* bitsize */
   1280  1.1  christos 	 FALSE,			/* pc_relative */
   1281  1.1  christos 	 10,			/* bitpos */
   1282  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1283  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1284  1.1  christos 	 "R_SH_GOTOFF_HI16",	/* name */
   1285  1.1  christos 	 FALSE,			/* partial_inplace */
   1286  1.1  christos 	 0,			/* src_mask */
   1287  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1288  1.1  christos 	 FALSE),		/* pcrel_offset */
   1289  1.1  christos 
   1290  1.1  christos   /* Used in MOVI and SHORI (x & 65536).  */
   1291  1.1  christos   HOWTO (R_SH_GOTPC_LOW16,	/* type */
   1292  1.1  christos 	 0,			/* rightshift */
   1293  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1294  1.1  christos 	 64,			/* bitsize */
   1295  1.1  christos 	 TRUE,			/* pc_relative */
   1296  1.1  christos 	 10,			/* bitpos */
   1297  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1298  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1299  1.1  christos 	 "R_SH_GOTPC_LOW16",	/* name */
   1300  1.1  christos 	 FALSE,			/* partial_inplace */
   1301  1.1  christos 	 0,			/* src_mask */
   1302  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1303  1.1  christos 	 TRUE),			/* pcrel_offset */
   1304  1.1  christos 
   1305  1.1  christos   /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
   1306  1.1  christos   HOWTO (R_SH_GOTPC_MEDLOW16,	/* type */
   1307  1.1  christos 	 16,			/* rightshift */
   1308  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1309  1.1  christos 	 64,			/* bitsize */
   1310  1.1  christos 	 TRUE,			/* pc_relative */
   1311  1.1  christos 	 10,			/* bitpos */
   1312  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1313  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1314  1.1  christos 	 "R_SH_GOTPC_MEDLOW16", /* name */
   1315  1.1  christos 	 FALSE,			/* partial_inplace */
   1316  1.1  christos 	 0,			/* src_mask */
   1317  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1318  1.1  christos 	 TRUE),			/* pcrel_offset */
   1319  1.1  christos 
   1320  1.1  christos   /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
   1321  1.1  christos   HOWTO (R_SH_GOTPC_MEDHI16,	/* type */
   1322  1.1  christos 	 32,			/* rightshift */
   1323  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1324  1.1  christos 	 64,			/* bitsize */
   1325  1.1  christos 	 TRUE,			/* pc_relative */
   1326  1.1  christos 	 10,			/* bitpos */
   1327  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1328  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1329  1.1  christos 	 "R_SH_GOTPC_MEDHI16",	/* name */
   1330  1.1  christos 	 FALSE,			/* partial_inplace */
   1331  1.1  christos 	 0,			/* src_mask */
   1332  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1333  1.1  christos 	 TRUE),			/* pcrel_offset */
   1334  1.1  christos 
   1335  1.1  christos   /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
   1336  1.1  christos   HOWTO (R_SH_GOTPC_HI16,	/* type */
   1337  1.1  christos 	 48,			/* rightshift */
   1338  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1339  1.1  christos 	 64,			/* bitsize */
   1340  1.1  christos 	 TRUE,			/* pc_relative */
   1341  1.1  christos 	 10,			/* bitpos */
   1342  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1343  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1344  1.1  christos 	 "R_SH_GOTPC_HI16",	/* name */
   1345  1.1  christos 	 FALSE,			/* partial_inplace */
   1346  1.1  christos 	 0,			/* src_mask */
   1347  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1348  1.1  christos 	 TRUE),			/* pcrel_offset */
   1349  1.1  christos 
   1350  1.1  christos   /* Used in LD.L, FLD.S et al.	 */
   1351  1.1  christos   HOWTO (R_SH_GOT10BY4,		/* type */
   1352  1.1  christos 	 2,			/* rightshift */
   1353  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1354  1.1  christos 	 12,			/* bitsize */
   1355  1.1  christos 	 FALSE,			/* pc_relative */
   1356  1.1  christos 	 10,			/* bitpos */
   1357  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
   1358  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1359  1.1  christos 	 "R_SH_GOT10BY4",	/* name */
   1360  1.1  christos 	 FALSE,			/* partial_inplace */
   1361  1.1  christos 	 0,			/* src_mask */
   1362  1.1  christos 	 0xffc00,		/* dst_mask */
   1363  1.1  christos 	 FALSE),		/* pcrel_offset */
   1364  1.1  christos 
   1365  1.1  christos   /* Used in LD.L, FLD.S et al.	 */
   1366  1.1  christos   HOWTO (R_SH_GOTPLT10BY4,	/* type */
   1367  1.1  christos 	 2,			/* rightshift */
   1368  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1369  1.1  christos 	 12,			/* bitsize */
   1370  1.1  christos 	 FALSE,			/* pc_relative */
   1371  1.1  christos 	 10,			/* bitpos */
   1372  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
   1373  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1374  1.1  christos 	 "R_SH_GOTPLT10BY4",	/* name */
   1375  1.1  christos 	 FALSE,			/* partial_inplace */
   1376  1.1  christos 	 0,			/* src_mask */
   1377  1.1  christos 	 0xffc00,		/* dst_mask */
   1378  1.1  christos 	 FALSE),		/* pcrel_offset */
   1379  1.1  christos 
   1380  1.1  christos   /* Used in FLD.D, FST.P et al.  */
   1381  1.1  christos   HOWTO (R_SH_GOT10BY8,		/* type */
   1382  1.1  christos 	 3,			/* rightshift */
   1383  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1384  1.1  christos 	 13,			/* bitsize */
   1385  1.1  christos 	 FALSE,			/* pc_relative */
   1386  1.1  christos 	 10,			/* bitpos */
   1387  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
   1388  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1389  1.1  christos 	 "R_SH_GOT10BY8",	/* name */
   1390  1.1  christos 	 FALSE,			/* partial_inplace */
   1391  1.1  christos 	 0,			/* src_mask */
   1392  1.1  christos 	 0xffc00,		/* dst_mask */
   1393  1.1  christos 	 FALSE),		/* pcrel_offset */
   1394  1.1  christos 
   1395  1.1  christos   /* Used in FLD.D, FST.P et al.  */
   1396  1.1  christos   HOWTO (R_SH_GOTPLT10BY8,	/* type */
   1397  1.1  christos 	 3,			/* rightshift */
   1398  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1399  1.1  christos 	 13,			/* bitsize */
   1400  1.1  christos 	 FALSE,			/* pc_relative */
   1401  1.1  christos 	 10,			/* bitpos */
   1402  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
   1403  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1404  1.1  christos 	 "R_SH_GOTPLT10BY8",	/* name */
   1405  1.1  christos 	 FALSE,			/* partial_inplace */
   1406  1.1  christos 	 0,			/* src_mask */
   1407  1.1  christos 	 0xffc00,		/* dst_mask */
   1408  1.1  christos 	 FALSE),		/* pcrel_offset */
   1409  1.1  christos 
   1410  1.1  christos   HOWTO (R_SH_COPY64,		/* type */
   1411  1.1  christos 	 0,			/* rightshift */
   1412  1.1  christos 	 4,			/* size (0 = byte, 1 = short, 2 = long) */
   1413  1.1  christos 	 64,			/* bitsize */
   1414  1.1  christos 	 FALSE,			/* pc_relative */
   1415  1.1  christos 	 0,			/* bitpos */
   1416  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1417  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1418  1.1  christos 	 "R_SH_COPY64",		/* name */
   1419  1.1  christos 	 FALSE,			/* partial_inplace */
   1420  1.1  christos 	 0,			/* src_mask */
   1421  1.1  christos 	 ((bfd_vma) 0) - 1,	/* dst_mask */
   1422  1.1  christos 	 FALSE),		/* pcrel_offset */
   1423  1.1  christos 
   1424  1.1  christos   HOWTO (R_SH_GLOB_DAT64,	/* type */
   1425  1.1  christos 	 0,			/* rightshift */
   1426  1.1  christos 	 4,			/* size (0 = byte, 1 = short, 2 = long) */
   1427  1.1  christos 	 64,			/* bitsize */
   1428  1.1  christos 	 FALSE,			/* pc_relative */
   1429  1.1  christos 	 0,			/* bitpos */
   1430  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1431  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1432  1.1  christos 	 "R_SH_GLOB_DAT64",	/* name */
   1433  1.1  christos 	 FALSE,			/* partial_inplace */
   1434  1.1  christos 	 0,			/* src_mask */
   1435  1.1  christos 	 ((bfd_vma) 0) - 1,	/* dst_mask */
   1436  1.1  christos 	 FALSE),		/* pcrel_offset */
   1437  1.1  christos 
   1438  1.1  christos   HOWTO (R_SH_JMP_SLOT64,	/* type */
   1439  1.1  christos 	 0,			/* rightshift */
   1440  1.1  christos 	 4,			/* size (0 = byte, 1 = short, 2 = long) */
   1441  1.1  christos 	 64,			/* bitsize */
   1442  1.1  christos 	 FALSE,			/* pc_relative */
   1443  1.1  christos 	 0,			/* bitpos */
   1444  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1445  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1446  1.1  christos 	 "R_SH_JMP_SLOT64",	/* name */
   1447  1.1  christos 	 FALSE,			/* partial_inplace */
   1448  1.1  christos 	 0,			/* src_mask */
   1449  1.1  christos 	 ((bfd_vma) 0) - 1,	/* dst_mask */
   1450  1.1  christos 	 FALSE),		/* pcrel_offset */
   1451  1.1  christos 
   1452  1.1  christos   HOWTO (R_SH_RELATIVE64,	/* type */
   1453  1.1  christos 	 0,			/* rightshift */
   1454  1.1  christos 	 4,			/* size (0 = byte, 1 = short, 2 = long) */
   1455  1.1  christos 	 64,			/* bitsize */
   1456  1.1  christos 	 FALSE,			/* pc_relative */
   1457  1.1  christos 	 0,			/* bitpos */
   1458  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1459  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1460  1.1  christos 	 "R_SH_RELATIVE64",	/* name */
   1461  1.1  christos 	 FALSE,			/* partial_inplace */
   1462  1.1  christos 	 0,			/* src_mask */
   1463  1.1  christos 	 ((bfd_vma) 0) - 1,	/* dst_mask */
   1464  1.1  christos 	 FALSE),		/* pcrel_offset */
   1465  1.1  christos #else
   1466  1.1  christos   EMPTY_HOWTO (169),
   1467  1.1  christos   EMPTY_HOWTO (170),
   1468  1.1  christos   EMPTY_HOWTO (171),
   1469  1.1  christos   EMPTY_HOWTO (172),
   1470  1.1  christos   EMPTY_HOWTO (173),
   1471  1.1  christos   EMPTY_HOWTO (174),
   1472  1.1  christos   EMPTY_HOWTO (175),
   1473  1.1  christos   EMPTY_HOWTO (176),
   1474  1.1  christos   EMPTY_HOWTO (177),
   1475  1.1  christos   EMPTY_HOWTO (178),
   1476  1.1  christos   EMPTY_HOWTO (179),
   1477  1.1  christos   EMPTY_HOWTO (180),
   1478  1.1  christos   EMPTY_HOWTO (181),
   1479  1.1  christos   EMPTY_HOWTO (182),
   1480  1.1  christos   EMPTY_HOWTO (183),
   1481  1.1  christos   EMPTY_HOWTO (184),
   1482  1.1  christos   EMPTY_HOWTO (185),
   1483  1.1  christos   EMPTY_HOWTO (186),
   1484  1.1  christos   EMPTY_HOWTO (187),
   1485  1.1  christos   EMPTY_HOWTO (188),
   1486  1.1  christos   EMPTY_HOWTO (189),
   1487  1.1  christos   EMPTY_HOWTO (190),
   1488  1.1  christos   EMPTY_HOWTO (191),
   1489  1.1  christos   EMPTY_HOWTO (192),
   1490  1.1  christos   EMPTY_HOWTO (193),
   1491  1.1  christos   EMPTY_HOWTO (194),
   1492  1.1  christos   EMPTY_HOWTO (195),
   1493  1.1  christos   EMPTY_HOWTO (196),
   1494  1.1  christos #endif
   1495  1.1  christos 
   1496  1.1  christos   EMPTY_HOWTO (197),
   1497  1.1  christos   EMPTY_HOWTO (198),
   1498  1.1  christos   EMPTY_HOWTO (199),
   1499  1.1  christos   EMPTY_HOWTO (200),
   1500  1.1  christos 
   1501  1.1  christos   /* FDPIC-relative offset to a GOT entry, for movi20.  */
   1502  1.1  christos   HOWTO (R_SH_GOT20,		/* type */
   1503  1.1  christos 	 0,			/* rightshift */
   1504  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1505  1.1  christos 	 20,			/* bitsize */
   1506  1.1  christos 	 FALSE,			/* pc_relative */
   1507  1.1  christos 	 0,			/* bitpos */
   1508  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
   1509  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1510  1.1  christos 	 "R_SH_GOT20",		/* name */
   1511  1.1  christos 	 FALSE,			/* partial_inplace */
   1512  1.1  christos 	 0,			/* src_mask */
   1513  1.1  christos 	 0x00f0ffff,		/* dst_mask */
   1514  1.1  christos 	 FALSE),		/* pcrel_offset */
   1515  1.1  christos 
   1516  1.1  christos   /* FDPIC-relative offset to a data object, for movi20.  */
   1517  1.1  christos   HOWTO (R_SH_GOTOFF20,		/* type */
   1518  1.1  christos 	 0,			/* rightshift */
   1519  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1520  1.1  christos 	 20,			/* bitsize */
   1521  1.1  christos 	 FALSE,			/* pc_relative */
   1522  1.1  christos 	 0,			/* bitpos */
   1523  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
   1524  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1525  1.1  christos 	 "R_SH_GOTOFF20",	/* name */
   1526  1.1  christos 	 FALSE,			/* partial_inplace */
   1527  1.1  christos 	 0,			/* src_mask */
   1528  1.1  christos 	 0x00f0ffff,		/* dst_mask */
   1529  1.1  christos 	 FALSE),		/* pcrel_offset */
   1530  1.1  christos 
   1531  1.1  christos   /* FDPIC-relative offset to a GOT entry for a function descriptor.  */
   1532  1.1  christos   HOWTO (R_SH_GOTFUNCDESC,	/* type */
   1533  1.1  christos 	 0,			/* rightshift */
   1534  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1535  1.1  christos 	 32,			/* bitsize */
   1536  1.1  christos 	 FALSE,			/* pc_relative */
   1537  1.1  christos 	 0,			/* bitpos */
   1538  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
   1539  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1540  1.1  christos 	 "R_SH_GOTFUNCDESC",	/* name */
   1541  1.1  christos 	 FALSE,			/* partial_inplace */
   1542  1.1  christos 	 0,			/* src_mask */
   1543  1.1  christos 	 0xffffffff,		/* dst_mask */
   1544  1.1  christos 	 FALSE),		/* pcrel_offset */
   1545  1.1  christos 
   1546  1.1  christos   /* FDPIC-relative offset to a GOT entry for a function descriptor,
   1547  1.1  christos      for movi20.  */
   1548  1.1  christos   HOWTO (R_SH_GOTFUNCDESC20,	/* type */
   1549  1.1  christos 	 0,			/* rightshift */
   1550  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1551  1.1  christos 	 20,			/* bitsize */
   1552  1.1  christos 	 FALSE,			/* pc_relative */
   1553  1.1  christos 	 0,			/* bitpos */
   1554  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
   1555  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1556  1.1  christos 	 "R_SH_GOTFUNCDESC20",	/* name */
   1557  1.1  christos 	 FALSE,			/* partial_inplace */
   1558  1.1  christos 	 0,			/* src_mask */
   1559  1.1  christos 	 0x00f0ffff,		/* dst_mask */
   1560  1.1  christos 	 FALSE),		/* pcrel_offset */
   1561  1.1  christos 
   1562  1.1  christos   /* FDPIC-relative offset to a function descriptor.  */
   1563  1.1  christos   HOWTO (R_SH_GOTOFFFUNCDESC,	/* type */
   1564  1.1  christos 	 0,			/* rightshift */
   1565  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1566  1.1  christos 	 32,			/* bitsize */
   1567  1.1  christos 	 FALSE,			/* pc_relative */
   1568  1.1  christos 	 0,			/* bitpos */
   1569  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
   1570  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1571  1.1  christos 	 "R_SH_GOTOFFFUNCDESC",	/* name */
   1572  1.1  christos 	 FALSE,			/* partial_inplace */
   1573  1.1  christos 	 0,			/* src_mask */
   1574  1.1  christos 	 0xffffffff,		/* dst_mask */
   1575  1.1  christos 	 FALSE),		/* pcrel_offset */
   1576  1.1  christos 
   1577  1.1  christos   /* FDPIC-relative offset to a function descriptor, for movi20.  */
   1578  1.1  christos   HOWTO (R_SH_GOTOFFFUNCDESC20,	/* type */
   1579  1.1  christos 	 0,			/* rightshift */
   1580  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1581  1.1  christos 	 20,			/* bitsize */
   1582  1.1  christos 	 FALSE,			/* pc_relative */
   1583  1.1  christos 	 0,			/* bitpos */
   1584  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
   1585  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1586  1.1  christos 	 "R_SH_GOTOFFFUNCDESC20", /* name */
   1587  1.1  christos 	 FALSE,			/* partial_inplace */
   1588  1.1  christos 	 0,			/* src_mask */
   1589  1.1  christos 	 0x00f0ffff,		/* dst_mask */
   1590  1.1  christos 	 FALSE),		/* pcrel_offset */
   1591  1.1  christos 
   1592  1.1  christos   /* Address of an official function descriptor.  */
   1593  1.1  christos   HOWTO (R_SH_FUNCDESC,		/* type */
   1594  1.1  christos 	 0,			/* rightshift */
   1595  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1596  1.1  christos 	 32,			/* bitsize */
   1597  1.1  christos 	 FALSE,			/* pc_relative */
   1598  1.1  christos 	 0,			/* bitpos */
   1599  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
   1600  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1601  1.1  christos 	 "R_SH_FUNCDESC",	/* name */
   1602  1.1  christos 	 FALSE,			/* partial_inplace */
   1603  1.1  christos 	 0,			/* src_mask */
   1604  1.1  christos 	 0xffffffff,		/* dst_mask */
   1605  1.1  christos 	 FALSE),		/* pcrel_offset */
   1606  1.1  christos 
   1607  1.1  christos   /* Function descriptor to be filled in by the dynamic linker.  */
   1608  1.1  christos   HOWTO (R_SH_FUNCDESC_VALUE,	/* type */
   1609  1.1  christos 	 0,			/* rightshift */
   1610  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1611  1.1  christos 	 64,			/* bitsize */
   1612  1.1  christos 	 FALSE,			/* pc_relative */
   1613  1.1  christos 	 0,			/* bitpos */
   1614  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
   1615  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1616  1.1  christos 	 "R_SH_FUNCDESC_VALUE", /* name */
   1617  1.1  christos 	 FALSE,			/* partial_inplace */
   1618  1.1  christos 	 0,			/* src_mask */
   1619  1.1  christos 	 0xffffffff,		/* dst_mask */
   1620  1.1  christos 	 FALSE),		/* pcrel_offset */
   1621  1.1  christos 
   1622  1.1  christos #ifdef INCLUDE_SHMEDIA
   1623  1.1  christos   EMPTY_HOWTO (209),
   1624  1.1  christos   EMPTY_HOWTO (210),
   1625  1.1  christos   EMPTY_HOWTO (211),
   1626  1.1  christos   EMPTY_HOWTO (212),
   1627  1.1  christos   EMPTY_HOWTO (213),
   1628  1.1  christos   EMPTY_HOWTO (214),
   1629  1.1  christos   EMPTY_HOWTO (215),
   1630  1.1  christos   EMPTY_HOWTO (216),
   1631  1.1  christos   EMPTY_HOWTO (217),
   1632  1.1  christos   EMPTY_HOWTO (218),
   1633  1.1  christos   EMPTY_HOWTO (219),
   1634  1.1  christos   EMPTY_HOWTO (220),
   1635  1.1  christos   EMPTY_HOWTO (221),
   1636  1.1  christos   EMPTY_HOWTO (222),
   1637  1.1  christos   EMPTY_HOWTO (223),
   1638  1.1  christos   EMPTY_HOWTO (224),
   1639  1.1  christos   EMPTY_HOWTO (225),
   1640  1.1  christos   EMPTY_HOWTO (226),
   1641  1.1  christos   EMPTY_HOWTO (227),
   1642  1.1  christos   EMPTY_HOWTO (228),
   1643  1.1  christos   EMPTY_HOWTO (229),
   1644  1.1  christos   EMPTY_HOWTO (230),
   1645  1.1  christos   EMPTY_HOWTO (231),
   1646  1.1  christos   EMPTY_HOWTO (232),
   1647  1.1  christos   EMPTY_HOWTO (233),
   1648  1.1  christos   EMPTY_HOWTO (234),
   1649  1.1  christos   EMPTY_HOWTO (235),
   1650  1.1  christos   EMPTY_HOWTO (236),
   1651  1.1  christos   EMPTY_HOWTO (237),
   1652  1.1  christos   EMPTY_HOWTO (238),
   1653  1.1  christos   EMPTY_HOWTO (239),
   1654  1.1  christos   EMPTY_HOWTO (240),
   1655  1.1  christos   EMPTY_HOWTO (241),
   1656  1.1  christos 
   1657  1.1  christos   /* Relocations for SHmedia code.  None of these are partial_inplace or
   1658  1.1  christos      use the field being relocated (except R_SH_PT_16).  */
   1659  1.1  christos 
   1660  1.1  christos   /* The assembler will generate this reloc before a block of SHmedia
   1661  1.1  christos      instructions.  A section should be processed as assuming it contains
   1662  1.1  christos      data, unless this reloc is seen.  Note that a block of SHcompact
   1663  1.1  christos      instructions are instead preceded by R_SH_CODE.
   1664  1.1  christos      This is currently not implemented, but should be used for SHmedia
   1665  1.1  christos      linker relaxation.  */
   1666  1.1  christos   HOWTO (R_SH_SHMEDIA_CODE,	/* type */
   1667  1.1  christos 	 0,			/* rightshift */
   1668  1.1  christos 	 1,			/* size (0 = byte, 1 = short, 2 = long) */
   1669  1.1  christos 	 0,			/* bitsize */
   1670  1.1  christos 	 FALSE,			/* pc_relative */
   1671  1.1  christos 	 0,			/* bitpos */
   1672  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
   1673  1.1  christos 	 sh_elf_ignore_reloc,	/* special_function */
   1674  1.1  christos 	 "R_SH_SHMEDIA_CODE",	/* name */
   1675  1.1  christos 	 FALSE,			/* partial_inplace */
   1676  1.1  christos 	 0,			/* src_mask */
   1677  1.1  christos 	 0,			/* dst_mask */
   1678  1.1  christos 	 FALSE),		/* pcrel_offset */
   1679  1.1  christos 
   1680  1.1  christos   /* The assembler will generate this reloc at a PTA or PTB instruction,
   1681  1.1  christos      and the linker checks the right type of target, or changes a PTA to a
   1682  1.1  christos      PTB, if the original insn was PT.  */
   1683  1.1  christos   HOWTO (R_SH_PT_16,		/* type */
   1684  1.1  christos 	 2,			/* rightshift */
   1685  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1686  1.1  christos 	 18,			/* bitsize */
   1687  1.1  christos 	 TRUE,			/* pc_relative */
   1688  1.1  christos 	 10,			/* bitpos */
   1689  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
   1690  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1691  1.1  christos 	 "R_SH_PT_16",		/* name */
   1692  1.1  christos 	 FALSE,			/* partial_inplace */
   1693  1.1  christos 	 0,			/* src_mask */
   1694  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1695  1.1  christos 	 TRUE),			/* pcrel_offset */
   1696  1.1  christos 
   1697  1.1  christos   /* Used in unexpanded MOVI.  */
   1698  1.1  christos   HOWTO (R_SH_IMMS16,		/* type */
   1699  1.1  christos 	 0,			/* rightshift */
   1700  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1701  1.1  christos 	 16,			/* bitsize */
   1702  1.1  christos 	 FALSE,			/* pc_relative */
   1703  1.1  christos 	 10,			/* bitpos */
   1704  1.1  christos 	 complain_overflow_signed, /* complain_on_overflow */
   1705  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1706  1.1  christos 	 "R_SH_IMMS16",		/* name */
   1707  1.1  christos 	 FALSE,			/* partial_inplace */
   1708  1.1  christos 	 0,			/* src_mask */
   1709  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1710  1.1  christos 	 FALSE),		/* pcrel_offset */
   1711  1.1  christos 
   1712  1.1  christos   /* Used in SHORI.  */
   1713  1.1  christos   HOWTO (R_SH_IMMU16,		/* type */
   1714  1.1  christos 	 0,			/* rightshift */
   1715  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1716  1.1  christos 	 16,			/* bitsize */
   1717  1.1  christos 	 FALSE,			/* pc_relative */
   1718  1.1  christos 	 10,			/* bitpos */
   1719  1.1  christos 	 complain_overflow_unsigned, /* complain_on_overflow */
   1720  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1721  1.1  christos 	 "R_SH_IMMU16",		/* name */
   1722  1.1  christos 	 FALSE,			/* partial_inplace */
   1723  1.1  christos 	 0,			/* src_mask */
   1724  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1725  1.1  christos 	 FALSE),		/* pcrel_offset */
   1726  1.1  christos 
   1727  1.1  christos   /* Used in MOVI and SHORI (x & 65536).  */
   1728  1.1  christos   HOWTO (R_SH_IMM_LOW16,	/* type */
   1729  1.1  christos 	 0,			/* rightshift */
   1730  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1731  1.1  christos 	 64,			/* bitsize */
   1732  1.1  christos 	 FALSE,			/* pc_relative */
   1733  1.1  christos 	 10,			/* bitpos */
   1734  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1735  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1736  1.1  christos 	 "R_SH_IMM_LOW16",	/* name */
   1737  1.1  christos 	 FALSE,			/* partial_inplace */
   1738  1.1  christos 	 0,			/* src_mask */
   1739  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1740  1.1  christos 	 FALSE),		/* pcrel_offset */
   1741  1.1  christos 
   1742  1.1  christos   /* Used in MOVI and SHORI ((x - $) & 65536).  */
   1743  1.1  christos   HOWTO (R_SH_IMM_LOW16_PCREL,	/* type */
   1744  1.1  christos 	 0,			/* rightshift */
   1745  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1746  1.1  christos 	 64,			/* bitsize */
   1747  1.1  christos 	 TRUE,			/* pc_relative */
   1748  1.1  christos 	 10,			/* bitpos */
   1749  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1750  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1751  1.1  christos 	 "R_SH_IMM_LOW16_PCREL", /* name */
   1752  1.1  christos 	 FALSE,			/* partial_inplace */
   1753  1.1  christos 	 0,			/* src_mask */
   1754  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1755  1.1  christos 	 TRUE),			/* pcrel_offset */
   1756  1.1  christos 
   1757  1.1  christos   /* Used in MOVI and SHORI ((x >> 16) & 65536).  */
   1758  1.1  christos   HOWTO (R_SH_IMM_MEDLOW16,	/* type */
   1759  1.1  christos 	 16,			/* rightshift */
   1760  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1761  1.1  christos 	 64,			/* bitsize */
   1762  1.1  christos 	 FALSE,			/* pc_relative */
   1763  1.1  christos 	 10,			/* bitpos */
   1764  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1765  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1766  1.1  christos 	 "R_SH_IMM_MEDLOW16",	/* name */
   1767  1.1  christos 	 FALSE,			/* partial_inplace */
   1768  1.1  christos 	 0,			/* src_mask */
   1769  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1770  1.1  christos 	 FALSE),		/* pcrel_offset */
   1771  1.1  christos 
   1772  1.1  christos   /* Used in MOVI and SHORI (((x - $) >> 16) & 65536).  */
   1773  1.1  christos   HOWTO (R_SH_IMM_MEDLOW16_PCREL, /* type */
   1774  1.1  christos 	 16,			/* rightshift */
   1775  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1776  1.1  christos 	 64,			/* bitsize */
   1777  1.1  christos 	 TRUE,			/* pc_relative */
   1778  1.1  christos 	 10,			/* bitpos */
   1779  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1780  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1781  1.1  christos 	 "R_SH_IMM_MEDLOW16_PCREL", /* name */
   1782  1.1  christos 	 FALSE,			/* partial_inplace */
   1783  1.1  christos 	 0,			/* src_mask */
   1784  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1785  1.1  christos 	 TRUE),			/* pcrel_offset */
   1786  1.1  christos 
   1787  1.1  christos   /* Used in MOVI and SHORI ((x >> 32) & 65536).  */
   1788  1.1  christos   HOWTO (R_SH_IMM_MEDHI16,	/* type */
   1789  1.1  christos 	 32,			/* rightshift */
   1790  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1791  1.1  christos 	 64,			/* bitsize */
   1792  1.1  christos 	 FALSE,			/* pc_relative */
   1793  1.1  christos 	 10,			/* bitpos */
   1794  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1795  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1796  1.1  christos 	 "R_SH_IMM_MEDHI16",	/* name */
   1797  1.1  christos 	 FALSE,			/* partial_inplace */
   1798  1.1  christos 	 0,			/* src_mask */
   1799  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1800  1.1  christos 	 FALSE),		/* pcrel_offset */
   1801  1.1  christos 
   1802  1.1  christos   /* Used in MOVI and SHORI (((x - $) >> 32) & 65536).  */
   1803  1.1  christos   HOWTO (R_SH_IMM_MEDHI16_PCREL, /* type */
   1804  1.1  christos 	 32,			/* rightshift */
   1805  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1806  1.1  christos 	 64,			/* bitsize */
   1807  1.1  christos 	 TRUE,			/* pc_relative */
   1808  1.1  christos 	 10,			/* bitpos */
   1809  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1810  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1811  1.1  christos 	 "R_SH_IMM_MEDHI16_PCREL", /* name */
   1812  1.1  christos 	 FALSE,			/* partial_inplace */
   1813  1.1  christos 	 0,			/* src_mask */
   1814  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1815  1.1  christos 	 TRUE),			/* pcrel_offset */
   1816  1.1  christos 
   1817  1.1  christos   /* Used in MOVI and SHORI ((x >> 48) & 65536).  */
   1818  1.1  christos   HOWTO (R_SH_IMM_HI16,		/* type */
   1819  1.1  christos 	 48,			/* rightshift */
   1820  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1821  1.1  christos 	 64,			/* bitsize */
   1822  1.1  christos 	 FALSE,			/* pc_relative */
   1823  1.1  christos 	 10,			/* bitpos */
   1824  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1825  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1826  1.1  christos 	 "R_SH_IMM_HI16",	/* name */
   1827  1.1  christos 	 FALSE,			/* partial_inplace */
   1828  1.1  christos 	 0,			/* src_mask */
   1829  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1830  1.1  christos 	 FALSE),		/* pcrel_offset */
   1831  1.1  christos 
   1832  1.1  christos   /* Used in MOVI and SHORI (((x - $) >> 48) & 65536).  */
   1833  1.1  christos   HOWTO (R_SH_IMM_HI16_PCREL,	/* type */
   1834  1.1  christos 	 48,			/* rightshift */
   1835  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1836  1.1  christos 	 64,			/* bitsize */
   1837  1.1  christos 	 TRUE,			/* pc_relative */
   1838  1.1  christos 	 10,			/* bitpos */
   1839  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1840  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1841  1.1  christos 	 "R_SH_IMM_HI16_PCREL", /* name */
   1842  1.1  christos 	 FALSE,			/* partial_inplace */
   1843  1.1  christos 	 0,			/* src_mask */
   1844  1.1  christos 	 0x3fffc00,		/* dst_mask */
   1845  1.1  christos 	 TRUE),			/* pcrel_offset */
   1846  1.1  christos 
   1847  1.1  christos   /* For the .uaquad pseudo.  */
   1848  1.1  christos   HOWTO (R_SH_64,		/* type */
   1849  1.1  christos 	 0,			/* rightshift */
   1850  1.1  christos 	 4,			/* size (0 = byte, 1 = short, 2 = long) */
   1851  1.1  christos 	 64,			/* bitsize */
   1852  1.1  christos 	 FALSE,			/* pc_relative */
   1853  1.1  christos 	 0,			/* bitpos */
   1854  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1855  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1856  1.1  christos 	 "R_SH_64",		/* name */
   1857  1.1  christos 	 FALSE,			/* partial_inplace */
   1858  1.1  christos 	 0,			/* src_mask */
   1859  1.1  christos 	 ((bfd_vma) 0) - 1,	/* dst_mask */
   1860  1.1  christos 	 FALSE),		/* pcrel_offset */
   1861  1.1  christos 
   1862  1.1  christos   /* For the .uaquad pseudo, (x - $).  */
   1863  1.1  christos   HOWTO (R_SH_64_PCREL,		/* type */
   1864  1.1  christos 	 48,			/* rightshift */
   1865  1.1  christos 	 2,			/* size (0 = byte, 1 = short, 2 = long) */
   1866  1.1  christos 	 64,			/* bitsize */
   1867  1.1  christos 	 TRUE,			/* pc_relative */
   1868  1.1  christos 	 10,			/* bitpos */
   1869  1.1  christos 	 complain_overflow_dont, /* complain_on_overflow */
   1870  1.1  christos 	 bfd_elf_generic_reloc,	/* special_function */
   1871  1.1  christos 	 "R_SH_64_PCREL",	/* name */
   1872  1.1  christos 	 FALSE,			/* partial_inplace */
   1873  1.1  christos 	 0,			/* src_mask */
   1874  1.1  christos 	 ((bfd_vma) 0) - 1,	/* dst_mask */
   1875  1.1  christos 	 TRUE),			/* pcrel_offset */
   1876  1.1  christos 
   1877  1.1  christos #endif
   1878  1.1  christos #undef SH_PARTIAL32
   1879  1.1  christos #undef SH_SRC_MASK32
   1880  1.1  christos #undef SH_ELF_RELOC
   1881