Home | History | Annotate | Line # | Download | only in bfd
reloc.c revision 1.1.1.6
      1 /* BFD support for handling relocation entries.
      2    Copyright (C) 1990-2022 Free Software Foundation, Inc.
      3    Written by Cygnus Support.
      4 
      5    This file is part of BFD, the Binary File Descriptor library.
      6 
      7    This program is free software; you can redistribute it and/or modify
      8    it under the terms of the GNU General Public License as published by
      9    the Free Software Foundation; either version 3 of the License, or
     10    (at your option) any later version.
     11 
     12    This program is distributed in the hope that it will be useful,
     13    but WITHOUT ANY WARRANTY; without even the implied warranty of
     14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15    GNU General Public License for more details.
     16 
     17    You should have received a copy of the GNU General Public License
     18    along with this program; if not, write to the Free Software
     19    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
     20    MA 02110-1301, USA.  */
     21 
     22 /*
     23 SECTION
     24 	Relocations
     25 
     26 	BFD maintains relocations in much the same way it maintains
     27 	symbols: they are left alone until required, then read in
     28 	en-masse and translated into an internal form.  A common
     29 	routine <<bfd_perform_relocation>> acts upon the
     30 	canonical form to do the fixup.
     31 
     32 	Relocations are maintained on a per section basis,
     33 	while symbols are maintained on a per BFD basis.
     34 
     35 	All that a back end has to do to fit the BFD interface is to create
     36 	a <<struct reloc_cache_entry>> for each relocation
     37 	in a particular section, and fill in the right bits of the structures.
     38 
     39 @menu
     40 @* typedef arelent::
     41 @* howto manager::
     42 @end menu
     43 
     44 */
     45 
     46 /* DO compile in the reloc_code name table from libbfd.h.  */
     47 #define _BFD_MAKE_TABLE_bfd_reloc_code_real
     48 
     49 #include "sysdep.h"
     50 #include "bfd.h"
     51 #include "bfdlink.h"
     52 #include "libbfd.h"
     53 #include "bfdver.h"
     54 
     55 /*
     56 DOCDD
     57 INODE
     58 	typedef arelent, howto manager, Relocations, Relocations
     59 
     60 SUBSECTION
     61 	typedef arelent
     62 
     63 	This is the structure of a relocation entry:
     64 
     65 CODE_FRAGMENT
     66 .
     67 .typedef enum bfd_reloc_status
     68 .{
     69 .  {* No errors detected.  Note - the value 2 is used so that it
     70 .     will not be mistaken for the boolean TRUE or FALSE values.  *}
     71 .  bfd_reloc_ok = 2,
     72 .
     73 .  {* The relocation was performed, but there was an overflow.  *}
     74 .  bfd_reloc_overflow,
     75 .
     76 .  {* The address to relocate was not within the section supplied.  *}
     77 .  bfd_reloc_outofrange,
     78 .
     79 .  {* Used by special functions.  *}
     80 .  bfd_reloc_continue,
     81 .
     82 .  {* Unsupported relocation size requested.  *}
     83 .  bfd_reloc_notsupported,
     84 .
     85 .  {* Unused.  *}
     86 .  bfd_reloc_other,
     87 .
     88 .  {* The symbol to relocate against was undefined.  *}
     89 .  bfd_reloc_undefined,
     90 .
     91 .  {* The relocation was performed, but may not be ok.  If this type is
     92 .     returned, the error_message argument to bfd_perform_relocation
     93 .     will be set.  *}
     94 .  bfd_reloc_dangerous
     95 . }
     96 . bfd_reloc_status_type;
     97 .
     98 .typedef const struct reloc_howto_struct reloc_howto_type;
     99 .
    100 .typedef struct reloc_cache_entry
    101 .{
    102 .  {* A pointer into the canonical table of pointers.  *}
    103 .  struct bfd_symbol **sym_ptr_ptr;
    104 .
    105 .  {* offset in section.  *}
    106 .  bfd_size_type address;
    107 .
    108 .  {* addend for relocation value.  *}
    109 .  bfd_vma addend;
    110 .
    111 .  {* Pointer to how to perform the required relocation.  *}
    112 .  reloc_howto_type *howto;
    113 .
    114 .}
    115 .arelent;
    116 .
    117 */
    118 
    119 /*
    120 DESCRIPTION
    121 
    122 	Here is a description of each of the fields within an <<arelent>>:
    123 
    124 	o <<sym_ptr_ptr>>
    125 
    126 	The symbol table pointer points to a pointer to the symbol
    127 	associated with the relocation request.  It is the pointer
    128 	into the table returned by the back end's
    129 	<<canonicalize_symtab>> action. @xref{Symbols}. The symbol is
    130 	referenced through a pointer to a pointer so that tools like
    131 	the linker can fix up all the symbols of the same name by
    132 	modifying only one pointer. The relocation routine looks in
    133 	the symbol and uses the base of the section the symbol is
    134 	attached to and the value of the symbol as the initial
    135 	relocation offset. If the symbol pointer is zero, then the
    136 	section provided is looked up.
    137 
    138 	o <<address>>
    139 
    140 	The <<address>> field gives the offset in bytes from the base of
    141 	the section data which owns the relocation record to the first
    142 	byte of relocatable information. The actual data relocated
    143 	will be relative to this point; for example, a relocation
    144 	type which modifies the bottom two bytes of a four byte word
    145 	would not touch the first byte pointed to in a big endian
    146 	world.
    147 
    148 	o <<addend>>
    149 
    150 	The <<addend>> is a value provided by the back end to be added (!)
    151 	to the relocation offset. Its interpretation is dependent upon
    152 	the howto. For example, on the 68k the code:
    153 
    154 |        char foo[];
    155 |        main()
    156 |                {
    157 |                return foo[0x12345678];
    158 |                }
    159 
    160 	Could be compiled into:
    161 
    162 |        linkw fp,#-4
    163 |        moveb @@#12345678,d0
    164 |        extbl d0
    165 |        unlk fp
    166 |        rts
    167 
    168 	This could create a reloc pointing to <<foo>>, but leave the
    169 	offset in the data, something like:
    170 
    171 |RELOCATION RECORDS FOR [.text]:
    172 |offset   type      value
    173 |00000006 32        _foo
    174 |
    175 |00000000 4e56 fffc          ; linkw fp,#-4
    176 |00000004 1039 1234 5678     ; moveb @@#12345678,d0
    177 |0000000a 49c0               ; extbl d0
    178 |0000000c 4e5e               ; unlk fp
    179 |0000000e 4e75               ; rts
    180 
    181 	Using coff and an 88k, some instructions don't have enough
    182 	space in them to represent the full address range, and
    183 	pointers have to be loaded in two parts. So you'd get something like:
    184 
    185 |        or.u     r13,r0,hi16(_foo+0x12345678)
    186 |        ld.b     r2,r13,lo16(_foo+0x12345678)
    187 |        jmp      r1
    188 
    189 	This should create two relocs, both pointing to <<_foo>>, and with
    190 	0x12340000 in their addend field. The data would consist of:
    191 
    192 |RELOCATION RECORDS FOR [.text]:
    193 |offset   type      value
    194 |00000002 HVRT16    _foo+0x12340000
    195 |00000006 LVRT16    _foo+0x12340000
    196 |
    197 |00000000 5da05678           ; or.u r13,r0,0x5678
    198 |00000004 1c4d5678           ; ld.b r2,r13,0x5678
    199 |00000008 f400c001           ; jmp r1
    200 
    201 	The relocation routine digs out the value from the data, adds
    202 	it to the addend to get the original offset, and then adds the
    203 	value of <<_foo>>. Note that all 32 bits have to be kept around
    204 	somewhere, to cope with carry from bit 15 to bit 16.
    205 
    206 	One further example is the sparc and the a.out format. The
    207 	sparc has a similar problem to the 88k, in that some
    208 	instructions don't have room for an entire offset, but on the
    209 	sparc the parts are created in odd sized lumps. The designers of
    210 	the a.out format chose to not use the data within the section
    211 	for storing part of the offset; all the offset is kept within
    212 	the reloc. Anything in the data should be ignored.
    213 
    214 |        save %sp,-112,%sp
    215 |        sethi %hi(_foo+0x12345678),%g2
    216 |        ldsb [%g2+%lo(_foo+0x12345678)],%i0
    217 |        ret
    218 |        restore
    219 
    220 	Both relocs contain a pointer to <<foo>>, and the offsets
    221 	contain junk.
    222 
    223 |RELOCATION RECORDS FOR [.text]:
    224 |offset   type      value
    225 |00000004 HI22      _foo+0x12345678
    226 |00000008 LO10      _foo+0x12345678
    227 |
    228 |00000000 9de3bf90     ; save %sp,-112,%sp
    229 |00000004 05000000     ; sethi %hi(_foo+0),%g2
    230 |00000008 f048a000     ; ldsb [%g2+%lo(_foo+0)],%i0
    231 |0000000c 81c7e008     ; ret
    232 |00000010 81e80000     ; restore
    233 
    234 	o <<howto>>
    235 
    236 	The <<howto>> field can be imagined as a
    237 	relocation instruction. It is a pointer to a structure which
    238 	contains information on what to do with all of the other
    239 	information in the reloc record and data section. A back end
    240 	would normally have a relocation instruction set and turn
    241 	relocations into pointers to the correct structure on input -
    242 	but it would be possible to create each howto field on demand.
    243 
    244 */
    245 
    246 /*
    247 SUBSUBSECTION
    248 	<<enum complain_overflow>>
    249 
    250 	Indicates what sort of overflow checking should be done when
    251 	performing a relocation.
    252 
    253 CODE_FRAGMENT
    254 .
    255 .enum complain_overflow
    256 .{
    257 .  {* Do not complain on overflow.  *}
    258 .  complain_overflow_dont,
    259 .
    260 .  {* Complain if the value overflows when considered as a signed
    261 .     number one bit larger than the field.  ie. A bitfield of N bits
    262 .     is allowed to represent -2**n to 2**n-1.  *}
    263 .  complain_overflow_bitfield,
    264 .
    265 .  {* Complain if the value overflows when considered as a signed
    266 .     number.  *}
    267 .  complain_overflow_signed,
    268 .
    269 .  {* Complain if the value overflows when considered as an
    270 .     unsigned number.  *}
    271 .  complain_overflow_unsigned
    272 .};
    273 
    274 */
    275 
    276 /*
    277 SUBSUBSECTION
    278 	<<reloc_howto_type>>
    279 
    280 	The <<reloc_howto_type>> is a structure which contains all the
    281 	information that libbfd needs to know to tie up a back end's data.
    282 
    283 CODE_FRAGMENT
    284 .struct reloc_howto_struct
    285 .{
    286 .  {* The type field has mainly a documentary use - the back end can
    287 .     do what it wants with it, though normally the back end's idea of
    288 .     an external reloc number is stored in this field.  *}
    289 .  unsigned int type;
    290 .
    291 .  {* The size of the item to be relocated in bytes.  *}
    292 .  unsigned int size:4;
    293 .
    294 .  {* The number of bits in the field to be relocated.  This is used
    295 .     when doing overflow checking.  *}
    296 .  unsigned int bitsize:7;
    297 .
    298 .  {* The value the final relocation is shifted right by.  This drops
    299 .     unwanted data from the relocation.  *}
    300 .  unsigned int rightshift:6;
    301 .
    302 .  {* The bit position of the reloc value in the destination.
    303 .     The relocated value is left shifted by this amount.  *}
    304 .  unsigned int bitpos:6;
    305 .
    306 .  {* What type of overflow error should be checked for when
    307 .     relocating.  *}
    308 .  ENUM_BITFIELD (complain_overflow) complain_on_overflow:2;
    309 .
    310 .  {* The relocation value should be negated before applying.  *}
    311 .  unsigned int negate:1;
    312 .
    313 .  {* The relocation is relative to the item being relocated.  *}
    314 .  unsigned int pc_relative:1;
    315 .
    316 .  {* Some formats record a relocation addend in the section contents
    317 .     rather than with the relocation.  For ELF formats this is the
    318 .     distinction between USE_REL and USE_RELA (though the code checks
    319 .     for USE_REL == 1/0).  The value of this field is TRUE if the
    320 .     addend is recorded with the section contents; when performing a
    321 .     partial link (ld -r) the section contents (the data) will be
    322 .     modified.  The value of this field is FALSE if addends are
    323 .     recorded with the relocation (in arelent.addend); when performing
    324 .     a partial link the relocation will be modified.
    325 .     All relocations for all ELF USE_RELA targets should set this field
    326 .     to FALSE (values of TRUE should be looked on with suspicion).
    327 .     However, the converse is not true: not all relocations of all ELF
    328 .     USE_REL targets set this field to TRUE.  Why this is so is peculiar
    329 .     to each particular target.  For relocs that aren't used in partial
    330 .     links (e.g. GOT stuff) it doesn't matter what this is set to.  *}
    331 .  unsigned int partial_inplace:1;
    332 .
    333 .  {* When some formats create PC relative instructions, they leave
    334 .     the value of the pc of the place being relocated in the offset
    335 .     slot of the instruction, so that a PC relative relocation can
    336 .     be made just by adding in an ordinary offset (e.g., sun3 a.out).
    337 .     Some formats leave the displacement part of an instruction
    338 .     empty (e.g., ELF); this flag signals the fact.  *}
    339 .  unsigned int pcrel_offset:1;
    340 .
    341 .  {* src_mask selects the part of the instruction (or data) to be used
    342 .     in the relocation sum.  If the target relocations don't have an
    343 .     addend in the reloc, eg. ELF USE_REL, src_mask will normally equal
    344 .     dst_mask to extract the addend from the section contents.  If
    345 .     relocations do have an addend in the reloc, eg. ELF USE_RELA, this
    346 .     field should normally be zero.  Non-zero values for ELF USE_RELA
    347 .     targets should be viewed with suspicion as normally the value in
    348 .     the dst_mask part of the section contents should be ignored.  *}
    349 .  bfd_vma src_mask;
    350 .
    351 .  {* dst_mask selects which parts of the instruction (or data) are
    352 .     replaced with a relocated value.  *}
    353 .  bfd_vma dst_mask;
    354 .
    355 .  {* If this field is non null, then the supplied function is
    356 .     called rather than the normal function.  This allows really
    357 .     strange relocation methods to be accommodated.  *}
    358 .  bfd_reloc_status_type (*special_function)
    359 .    (bfd *, arelent *, struct bfd_symbol *, void *, asection *,
    360 .     bfd *, char **);
    361 .
    362 .  {* The textual name of the relocation type.  *}
    363 .  const char *name;
    364 .};
    365 .
    366 */
    367 
    368 /*
    369 FUNCTION
    370 	The HOWTO Macro
    371 
    372 DESCRIPTION
    373 	The HOWTO macro fills in a reloc_howto_type (a typedef for
    374 	const struct reloc_howto_struct).
    375 
    376 .#define HOWTO_RSIZE(sz) ((sz) < 0 ? -(sz) : (sz))
    377 .#define HOWTO(type, right, size, bits, pcrel, left, ovf, func, name,	\
    378 .              inplace, src_mask, dst_mask, pcrel_off)			\
    379 .  { (unsigned) type, HOWTO_RSIZE (size), bits, right, left, ovf,	\
    380 .    size < 0, pcrel, inplace, pcrel_off, src_mask, dst_mask, func, name }
    381 
    382 DESCRIPTION
    383 	This is used to fill in an empty howto entry in an array.
    384 
    385 .#define EMPTY_HOWTO(C) \
    386 .  HOWTO ((C), 0, 1, 0, false, 0, complain_overflow_dont, NULL, \
    387 .	  NULL, false, 0, 0, false)
    388 .
    389 .static inline unsigned int
    390 .bfd_get_reloc_size (reloc_howto_type *howto)
    391 .{
    392 .  return howto->size;
    393 .}
    394 .
    395 */
    396 
    397 /*
    398 TYPEDEF
    399 	arelent_chain
    400 
    401 DESCRIPTION
    402 
    403 	How relocs are tied together in an <<asection>>:
    404 
    405 .typedef struct relent_chain
    406 .{
    407 .  arelent relent;
    408 .  struct relent_chain *next;
    409 .}
    410 .arelent_chain;
    411 .
    412 */
    413 
    414 /* N_ONES produces N one bits, without undefined behaviour for N
    415    between zero and the number of bits in a bfd_vma.  */
    416 #define N_ONES(n) ((n) == 0 ? 0 : ((bfd_vma) 1 << ((n) - 1) << 1) - 1)
    417 
    418 /*
    419 FUNCTION
    420 	bfd_check_overflow
    421 
    422 SYNOPSIS
    423 	bfd_reloc_status_type bfd_check_overflow
    424 	  (enum complain_overflow how,
    425 	   unsigned int bitsize,
    426 	   unsigned int rightshift,
    427 	   unsigned int addrsize,
    428 	   bfd_vma relocation);
    429 
    430 DESCRIPTION
    431 	Perform overflow checking on @var{relocation} which has
    432 	@var{bitsize} significant bits and will be shifted right by
    433 	@var{rightshift} bits, on a machine with addresses containing
    434 	@var{addrsize} significant bits.  The result is either of
    435 	@code{bfd_reloc_ok} or @code{bfd_reloc_overflow}.
    436 
    437 */
    438 
    439 bfd_reloc_status_type
    440 bfd_check_overflow (enum complain_overflow how,
    441 		    unsigned int bitsize,
    442 		    unsigned int rightshift,
    443 		    unsigned int addrsize,
    444 		    bfd_vma relocation)
    445 {
    446   bfd_vma fieldmask, addrmask, signmask, ss, a;
    447   bfd_reloc_status_type flag = bfd_reloc_ok;
    448 
    449   if (bitsize == 0)
    450     return flag;
    451 
    452   /* Note: BITSIZE should always be <= ADDRSIZE, but in case it's not,
    453      we'll be permissive: extra bits in the field mask will
    454      automatically extend the address mask for purposes of the
    455      overflow check.  */
    456   fieldmask = N_ONES (bitsize);
    457   signmask = ~fieldmask;
    458   addrmask = N_ONES (addrsize) | (fieldmask << rightshift);
    459   a = (relocation & addrmask) >> rightshift;
    460 
    461   switch (how)
    462     {
    463     case complain_overflow_dont:
    464       break;
    465 
    466     case complain_overflow_signed:
    467       /* If any sign bits are set, all sign bits must be set.  That
    468 	 is, A must be a valid negative address after shifting.  */
    469       signmask = ~ (fieldmask >> 1);
    470       /* Fall thru */
    471 
    472     case complain_overflow_bitfield:
    473       /* Bitfields are sometimes signed, sometimes unsigned.  We
    474 	 explicitly allow an address wrap too, which means a bitfield
    475 	 of n bits is allowed to store -2**n to 2**n-1.  Thus overflow
    476 	 if the value has some, but not all, bits set outside the
    477 	 field.  */
    478       ss = a & signmask;
    479       if (ss != 0 && ss != ((addrmask >> rightshift) & signmask))
    480 	flag = bfd_reloc_overflow;
    481       break;
    482 
    483     case complain_overflow_unsigned:
    484       /* We have an overflow if the address does not fit in the field.  */
    485       if ((a & signmask) != 0)
    486 	flag = bfd_reloc_overflow;
    487       break;
    488 
    489     default:
    490       abort ();
    491     }
    492 
    493   return flag;
    494 }
    495 
    496 /*
    497 FUNCTION
    498 	bfd_reloc_offset_in_range
    499 
    500 SYNOPSIS
    501 	bool bfd_reloc_offset_in_range
    502 	  (reloc_howto_type *howto,
    503 	   bfd *abfd,
    504 	   asection *section,
    505 	   bfd_size_type offset);
    506 
    507 DESCRIPTION
    508 	Returns TRUE if the reloc described by @var{HOWTO} can be
    509 	applied at @var{OFFSET} octets in @var{SECTION}.
    510 
    511 */
    512 
    513 /* HOWTO describes a relocation, at offset OCTET.  Return whether the
    514    relocation field is within SECTION of ABFD.  */
    515 
    516 bool
    517 bfd_reloc_offset_in_range (reloc_howto_type *howto,
    518 			   bfd *abfd,
    519 			   asection *section,
    520 			   bfd_size_type octet)
    521 {
    522   bfd_size_type octet_end = bfd_get_section_limit_octets (abfd, section);
    523   bfd_size_type reloc_size = bfd_get_reloc_size (howto);
    524 
    525   /* The reloc field must be contained entirely within the section.
    526      Allow zero length fields (marker relocs or NONE relocs where no
    527      relocation will be performed) at the end of the section.  */
    528   return octet <= octet_end && reloc_size <= octet_end - octet;
    529 }
    530 
    531 /* Read and return the section contents at DATA converted to a host
    532    integer (bfd_vma).  The number of bytes read is given by the HOWTO.  */
    533 
    534 static bfd_vma
    535 read_reloc (bfd *abfd, bfd_byte *data, reloc_howto_type *howto)
    536 {
    537   switch (bfd_get_reloc_size (howto))
    538     {
    539     case 0:
    540       break;
    541 
    542     case 1:
    543       return bfd_get_8 (abfd, data);
    544 
    545     case 2:
    546       return bfd_get_16 (abfd, data);
    547 
    548     case 3:
    549       return bfd_get_24 (abfd, data);
    550 
    551     case 4:
    552       return bfd_get_32 (abfd, data);
    553 
    554 #ifdef BFD64
    555     case 8:
    556       return bfd_get_64 (abfd, data);
    557 #endif
    558 
    559     default:
    560       abort ();
    561     }
    562   return 0;
    563 }
    564 
    565 /* Convert VAL to target format and write to DATA.  The number of
    566    bytes written is given by the HOWTO.  */
    567 
    568 static void
    569 write_reloc (bfd *abfd, bfd_vma val, bfd_byte *data, reloc_howto_type *howto)
    570 {
    571   switch (bfd_get_reloc_size (howto))
    572     {
    573     case 0:
    574       break;
    575 
    576     case 1:
    577       bfd_put_8 (abfd, val, data);
    578       break;
    579 
    580     case 2:
    581       bfd_put_16 (abfd, val, data);
    582       break;
    583 
    584     case 3:
    585       bfd_put_24 (abfd, val, data);
    586       break;
    587 
    588     case 4:
    589       bfd_put_32 (abfd, val, data);
    590       break;
    591 
    592 #ifdef BFD64
    593     case 8:
    594       bfd_put_64 (abfd, val, data);
    595       break;
    596 #endif
    597 
    598     default:
    599       abort ();
    600     }
    601 }
    602 
    603 /* Apply RELOCATION value to target bytes at DATA, according to
    604    HOWTO.  */
    605 
    606 static void
    607 apply_reloc (bfd *abfd, bfd_byte *data, reloc_howto_type *howto,
    608 	     bfd_vma relocation)
    609 {
    610   bfd_vma val = read_reloc (abfd, data, howto);
    611 
    612   if (howto->negate)
    613     relocation = -relocation;
    614 
    615   val = ((val & ~howto->dst_mask)
    616 	 | (((val & howto->src_mask) + relocation) & howto->dst_mask));
    617 
    618   write_reloc (abfd, val, data, howto);
    619 }
    620 
    621 /*
    622 FUNCTION
    623 	bfd_perform_relocation
    624 
    625 SYNOPSIS
    626 	bfd_reloc_status_type bfd_perform_relocation
    627 	  (bfd *abfd,
    628 	   arelent *reloc_entry,
    629 	   void *data,
    630 	   asection *input_section,
    631 	   bfd *output_bfd,
    632 	   char **error_message);
    633 
    634 DESCRIPTION
    635 	If @var{output_bfd} is supplied to this function, the
    636 	generated image will be relocatable; the relocations are
    637 	copied to the output file after they have been changed to
    638 	reflect the new state of the world. There are two ways of
    639 	reflecting the results of partial linkage in an output file:
    640 	by modifying the output data in place, and by modifying the
    641 	relocation record.  Some native formats (e.g., basic a.out and
    642 	basic coff) have no way of specifying an addend in the
    643 	relocation type, so the addend has to go in the output data.
    644 	This is no big deal since in these formats the output data
    645 	slot will always be big enough for the addend. Complex reloc
    646 	types with addends were invented to solve just this problem.
    647 	The @var{error_message} argument is set to an error message if
    648 	this return @code{bfd_reloc_dangerous}.
    649 
    650 */
    651 
    652 bfd_reloc_status_type
    653 bfd_perform_relocation (bfd *abfd,
    654 			arelent *reloc_entry,
    655 			void *data,
    656 			asection *input_section,
    657 			bfd *output_bfd,
    658 			char **error_message)
    659 {
    660   bfd_vma relocation;
    661   bfd_reloc_status_type flag = bfd_reloc_ok;
    662   bfd_size_type octets;
    663   bfd_vma output_base = 0;
    664   reloc_howto_type *howto = reloc_entry->howto;
    665   asection *reloc_target_output_section;
    666   asymbol *symbol;
    667 
    668   symbol = *(reloc_entry->sym_ptr_ptr);
    669 
    670   /* If we are not producing relocatable output, return an error if
    671      the symbol is not defined.  An undefined weak symbol is
    672      considered to have a value of zero (SVR4 ABI, p. 4-27).  */
    673   if (bfd_is_und_section (symbol->section)
    674       && (symbol->flags & BSF_WEAK) == 0
    675       && output_bfd == NULL)
    676     flag = bfd_reloc_undefined;
    677 
    678   /* If there is a function supplied to handle this relocation type,
    679      call it.  It'll return `bfd_reloc_continue' if further processing
    680      can be done.  */
    681   if (howto && howto->special_function)
    682     {
    683       bfd_reloc_status_type cont;
    684 
    685       /* Note - we do not call bfd_reloc_offset_in_range here as the
    686 	 reloc_entry->address field might actually be valid for the
    687 	 backend concerned.  It is up to the special_function itself
    688 	 to call bfd_reloc_offset_in_range if needed.  */
    689       cont = howto->special_function (abfd, reloc_entry, symbol, data,
    690 				      input_section, output_bfd,
    691 				      error_message);
    692       if (cont != bfd_reloc_continue)
    693 	return cont;
    694     }
    695 
    696   if (bfd_is_abs_section (symbol->section)
    697       && output_bfd != NULL)
    698     {
    699       reloc_entry->address += input_section->output_offset;
    700       return bfd_reloc_ok;
    701     }
    702 
    703   /* PR 17512: file: 0f67f69d.  */
    704   if (howto == NULL)
    705     return bfd_reloc_undefined;
    706 
    707   /* Is the address of the relocation really within the section?  */
    708   octets = reloc_entry->address * bfd_octets_per_byte (abfd, input_section);
    709   if (!bfd_reloc_offset_in_range (howto, abfd, input_section, octets))
    710     return bfd_reloc_outofrange;
    711 
    712   /* Work out which section the relocation is targeted at and the
    713      initial relocation command value.  */
    714 
    715   /* Get symbol value.  (Common symbols are special.)  */
    716   if (bfd_is_com_section (symbol->section))
    717     relocation = 0;
    718   else
    719     relocation = symbol->value;
    720 
    721   reloc_target_output_section = symbol->section->output_section;
    722 
    723   /* Convert input-section-relative symbol value to absolute.  */
    724   if ((output_bfd && ! howto->partial_inplace)
    725       || reloc_target_output_section == NULL)
    726     output_base = 0;
    727   else
    728     output_base = reloc_target_output_section->vma;
    729 
    730   output_base += symbol->section->output_offset;
    731 
    732   /* If symbol addresses are in octets, convert to bytes.  */
    733   if (bfd_get_flavour (abfd) == bfd_target_elf_flavour
    734       && (symbol->section->flags & SEC_ELF_OCTETS))
    735     output_base *= bfd_octets_per_byte (abfd, input_section);
    736 
    737   relocation += output_base;
    738 
    739   /* Add in supplied addend.  */
    740   relocation += reloc_entry->addend;
    741 
    742   /* Here the variable relocation holds the final address of the
    743      symbol we are relocating against, plus any addend.  */
    744 
    745   if (howto->pc_relative)
    746     {
    747       /* This is a PC relative relocation.  We want to set RELOCATION
    748 	 to the distance between the address of the symbol and the
    749 	 location.  RELOCATION is already the address of the symbol.
    750 
    751 	 We start by subtracting the address of the section containing
    752 	 the location.
    753 
    754 	 If pcrel_offset is set, we must further subtract the position
    755 	 of the location within the section.  Some targets arrange for
    756 	 the addend to be the negative of the position of the location
    757 	 within the section; for example, i386-aout does this.  For
    758 	 i386-aout, pcrel_offset is FALSE.  Some other targets do not
    759 	 include the position of the location; for example, ELF.
    760 	 For those targets, pcrel_offset is TRUE.
    761 
    762 	 If we are producing relocatable output, then we must ensure
    763 	 that this reloc will be correctly computed when the final
    764 	 relocation is done.  If pcrel_offset is FALSE we want to wind
    765 	 up with the negative of the location within the section,
    766 	 which means we must adjust the existing addend by the change
    767 	 in the location within the section.  If pcrel_offset is TRUE
    768 	 we do not want to adjust the existing addend at all.
    769 
    770 	 FIXME: This seems logical to me, but for the case of
    771 	 producing relocatable output it is not what the code
    772 	 actually does.  I don't want to change it, because it seems
    773 	 far too likely that something will break.  */
    774 
    775       relocation -=
    776 	input_section->output_section->vma + input_section->output_offset;
    777 
    778       if (howto->pcrel_offset)
    779 	relocation -= reloc_entry->address;
    780     }
    781 
    782   if (output_bfd != NULL)
    783     {
    784       if (! howto->partial_inplace)
    785 	{
    786 	  /* This is a partial relocation, and we want to apply the relocation
    787 	     to the reloc entry rather than the raw data. Modify the reloc
    788 	     inplace to reflect what we now know.  */
    789 	  reloc_entry->addend = relocation;
    790 	  reloc_entry->address += input_section->output_offset;
    791 	  return flag;
    792 	}
    793       else
    794 	{
    795 	  /* This is a partial relocation, but inplace, so modify the
    796 	     reloc record a bit.
    797 
    798 	     If we've relocated with a symbol with a section, change
    799 	     into a ref to the section belonging to the symbol.  */
    800 
    801 	  reloc_entry->address += input_section->output_offset;
    802 
    803 	  /* WTF?? */
    804 	  if (abfd->xvec->flavour == bfd_target_coff_flavour
    805 	      && strcmp (abfd->xvec->name, "coff-Intel-little") != 0
    806 	      && strcmp (abfd->xvec->name, "coff-Intel-big") != 0)
    807 	    {
    808 	      /* For m68k-coff, the addend was being subtracted twice during
    809 		 relocation with -r.  Removing the line below this comment
    810 		 fixes that problem; see PR 2953.
    811 
    812 However, Ian wrote the following, regarding removing the line below,
    813 which explains why it is still enabled:  --djm
    814 
    815 If you put a patch like that into BFD you need to check all the COFF
    816 linkers.  I am fairly certain that patch will break coff-i386 (e.g.,
    817 SCO); see coff_i386_reloc in coff-i386.c where I worked around the
    818 problem in a different way.  There may very well be a reason that the
    819 code works as it does.
    820 
    821 Hmmm.  The first obvious point is that bfd_perform_relocation should
    822 not have any tests that depend upon the flavour.  It's seem like
    823 entirely the wrong place for such a thing.  The second obvious point
    824 is that the current code ignores the reloc addend when producing
    825 relocatable output for COFF.  That's peculiar.  In fact, I really
    826 have no idea what the point of the line you want to remove is.
    827 
    828 A typical COFF reloc subtracts the old value of the symbol and adds in
    829 the new value to the location in the object file (if it's a pc
    830 relative reloc it adds the difference between the symbol value and the
    831 location).  When relocating we need to preserve that property.
    832 
    833 BFD handles this by setting the addend to the negative of the old
    834 value of the symbol.  Unfortunately it handles common symbols in a
    835 non-standard way (it doesn't subtract the old value) but that's a
    836 different story (we can't change it without losing backward
    837 compatibility with old object files) (coff-i386 does subtract the old
    838 value, to be compatible with existing coff-i386 targets, like SCO).
    839 
    840 So everything works fine when not producing relocatable output.  When
    841 we are producing relocatable output, logically we should do exactly
    842 what we do when not producing relocatable output.  Therefore, your
    843 patch is correct.  In fact, it should probably always just set
    844 reloc_entry->addend to 0 for all cases, since it is, in fact, going to
    845 add the value into the object file.  This won't hurt the COFF code,
    846 which doesn't use the addend; I'm not sure what it will do to other
    847 formats (the thing to check for would be whether any formats both use
    848 the addend and set partial_inplace).
    849 
    850 When I wanted to make coff-i386 produce relocatable output, I ran
    851 into the problem that you are running into: I wanted to remove that
    852 line.  Rather than risk it, I made the coff-i386 relocs use a special
    853 function; it's coff_i386_reloc in coff-i386.c.  The function
    854 specifically adds the addend field into the object file, knowing that
    855 bfd_perform_relocation is not going to.  If you remove that line, then
    856 coff-i386.c will wind up adding the addend field in twice.  It's
    857 trivial to fix; it just needs to be done.
    858 
    859 The problem with removing the line is just that it may break some
    860 working code.  With BFD it's hard to be sure of anything.  The right
    861 way to deal with this is simply to build and test at least all the
    862 supported COFF targets.  It should be straightforward if time and disk
    863 space consuming.  For each target:
    864     1) build the linker
    865     2) generate some executable, and link it using -r (I would
    866        probably use paranoia.o and link against newlib/libc.a, which
    867        for all the supported targets would be available in
    868        /usr/cygnus/progressive/H-host/target/lib/libc.a).
    869     3) make the change to reloc.c
    870     4) rebuild the linker
    871     5) repeat step 2
    872     6) if the resulting object files are the same, you have at least
    873        made it no worse
    874     7) if they are different you have to figure out which version is
    875        right
    876 */
    877 	      relocation -= reloc_entry->addend;
    878 	      reloc_entry->addend = 0;
    879 	    }
    880 	  else
    881 	    {
    882 	      reloc_entry->addend = relocation;
    883 	    }
    884 	}
    885     }
    886 
    887   /* FIXME: This overflow checking is incomplete, because the value
    888      might have overflowed before we get here.  For a correct check we
    889      need to compute the value in a size larger than bitsize, but we
    890      can't reasonably do that for a reloc the same size as a host
    891      machine word.
    892      FIXME: We should also do overflow checking on the result after
    893      adding in the value contained in the object file.  */
    894   if (howto->complain_on_overflow != complain_overflow_dont
    895       && flag == bfd_reloc_ok)
    896     flag = bfd_check_overflow (howto->complain_on_overflow,
    897 			       howto->bitsize,
    898 			       howto->rightshift,
    899 			       bfd_arch_bits_per_address (abfd),
    900 			       relocation);
    901 
    902   /* Either we are relocating all the way, or we don't want to apply
    903      the relocation to the reloc entry (probably because there isn't
    904      any room in the output format to describe addends to relocs).  */
    905 
    906   /* The cast to bfd_vma avoids a bug in the Alpha OSF/1 C compiler
    907      (OSF version 1.3, compiler version 3.11).  It miscompiles the
    908      following program:
    909 
    910      struct str
    911      {
    912        unsigned int i0;
    913      } s = { 0 };
    914 
    915      int
    916      main ()
    917      {
    918        unsigned long x;
    919 
    920        x = 0x100000000;
    921        x <<= (unsigned long) s.i0;
    922        if (x == 0)
    923 	 printf ("failed\n");
    924        else
    925 	 printf ("succeeded (%lx)\n", x);
    926      }
    927      */
    928 
    929   relocation >>= (bfd_vma) howto->rightshift;
    930 
    931   /* Shift everything up to where it's going to be used.  */
    932   relocation <<= (bfd_vma) howto->bitpos;
    933 
    934   /* Wait for the day when all have the mask in them.  */
    935 
    936   /* What we do:
    937      i instruction to be left alone
    938      o offset within instruction
    939      r relocation offset to apply
    940      S src mask
    941      D dst mask
    942      N ~dst mask
    943      A part 1
    944      B part 2
    945      R result
    946 
    947      Do this:
    948      ((	 i i i i i o o o o o  from bfd_get<size>
    949      and	   S S S S S) to get the size offset we want
    950      +	 r r r r r r r r r r) to get the final value to place
    951      and	   D D D D D  to chop to right size
    952      -----------------------
    953      =		   A A A A A
    954      And this:
    955      (	 i i i i i o o o o o  from bfd_get<size>
    956      and N N N N N	    ) get instruction
    957      -----------------------
    958      =	 B B B B B
    959 
    960      And then:
    961      (	 B B B B B
    962      or		   A A A A A)
    963      -----------------------
    964      =	 R R R R R R R R R R  put into bfd_put<size>
    965      */
    966 
    967   data = (bfd_byte *) data + octets;
    968   apply_reloc (abfd, data, howto, relocation);
    969   return flag;
    970 }
    971 
    972 /*
    973 FUNCTION
    974 	bfd_install_relocation
    975 
    976 SYNOPSIS
    977 	bfd_reloc_status_type bfd_install_relocation
    978 	  (bfd *abfd,
    979 	   arelent *reloc_entry,
    980 	   void *data, bfd_vma data_start,
    981 	   asection *input_section,
    982 	   char **error_message);
    983 
    984 DESCRIPTION
    985 	This looks remarkably like <<bfd_perform_relocation>>, except it
    986 	does not expect that the section contents have been filled in.
    987 	I.e., it's suitable for use when creating, rather than applying
    988 	a relocation.
    989 
    990 	For now, this function should be considered reserved for the
    991 	assembler.
    992 */
    993 
    994 bfd_reloc_status_type
    995 bfd_install_relocation (bfd *abfd,
    996 			arelent *reloc_entry,
    997 			void *data_start,
    998 			bfd_vma data_start_offset,
    999 			asection *input_section,
   1000 			char **error_message)
   1001 {
   1002   bfd_vma relocation;
   1003   bfd_reloc_status_type flag = bfd_reloc_ok;
   1004   bfd_size_type octets;
   1005   bfd_vma output_base = 0;
   1006   reloc_howto_type *howto = reloc_entry->howto;
   1007   asection *reloc_target_output_section;
   1008   asymbol *symbol;
   1009   bfd_byte *data;
   1010 
   1011   symbol = *(reloc_entry->sym_ptr_ptr);
   1012 
   1013   /* If there is a function supplied to handle this relocation type,
   1014      call it.  It'll return `bfd_reloc_continue' if further processing
   1015      can be done.  */
   1016   if (howto && howto->special_function)
   1017     {
   1018       bfd_reloc_status_type cont;
   1019 
   1020       /* Note - we do not call bfd_reloc_offset_in_range here as the
   1021 	 reloc_entry->address field might actually be valid for the
   1022 	 backend concerned.  It is up to the special_function itself
   1023 	 to call bfd_reloc_offset_in_range if needed.  */
   1024       /* XXX - The special_function calls haven't been fixed up to deal
   1025 	 with creating new relocations and section contents.  */
   1026       cont = howto->special_function (abfd, reloc_entry, symbol,
   1027 				      /* XXX - Non-portable! */
   1028 				      ((bfd_byte *) data_start
   1029 				       - data_start_offset),
   1030 				      input_section, abfd, error_message);
   1031       if (cont != bfd_reloc_continue)
   1032 	return cont;
   1033     }
   1034 
   1035   if (bfd_is_abs_section (symbol->section))
   1036     {
   1037       reloc_entry->address += input_section->output_offset;
   1038       return bfd_reloc_ok;
   1039     }
   1040 
   1041   /* No need to check for howto != NULL if !bfd_is_abs_section as
   1042      it will have been checked in `bfd_perform_relocation already'.  */
   1043 
   1044   /* Is the address of the relocation really within the section?  */
   1045   octets = reloc_entry->address * bfd_octets_per_byte (abfd, input_section);
   1046   if (!bfd_reloc_offset_in_range (howto, abfd, input_section, octets))
   1047     return bfd_reloc_outofrange;
   1048 
   1049   /* Work out which section the relocation is targeted at and the
   1050      initial relocation command value.  */
   1051 
   1052   /* Get symbol value.  (Common symbols are special.)  */
   1053   if (bfd_is_com_section (symbol->section))
   1054     relocation = 0;
   1055   else
   1056     relocation = symbol->value;
   1057 
   1058   reloc_target_output_section = symbol->section->output_section;
   1059 
   1060   /* Convert input-section-relative symbol value to absolute.  */
   1061   if (! howto->partial_inplace)
   1062     output_base = 0;
   1063   else
   1064     output_base = reloc_target_output_section->vma;
   1065 
   1066   output_base += symbol->section->output_offset;
   1067 
   1068   /* If symbol addresses are in octets, convert to bytes.  */
   1069   if (bfd_get_flavour (abfd) == bfd_target_elf_flavour
   1070       && (symbol->section->flags & SEC_ELF_OCTETS))
   1071     output_base *= bfd_octets_per_byte (abfd, input_section);
   1072 
   1073   relocation += output_base;
   1074 
   1075   /* Add in supplied addend.  */
   1076   relocation += reloc_entry->addend;
   1077 
   1078   /* Here the variable relocation holds the final address of the
   1079      symbol we are relocating against, plus any addend.  */
   1080 
   1081   if (howto->pc_relative)
   1082     {
   1083       /* This is a PC relative relocation.  We want to set RELOCATION
   1084 	 to the distance between the address of the symbol and the
   1085 	 location.  RELOCATION is already the address of the symbol.
   1086 
   1087 	 We start by subtracting the address of the section containing
   1088 	 the location.
   1089 
   1090 	 If pcrel_offset is set, we must further subtract the position
   1091 	 of the location within the section.  Some targets arrange for
   1092 	 the addend to be the negative of the position of the location
   1093 	 within the section; for example, i386-aout does this.  For
   1094 	 i386-aout, pcrel_offset is FALSE.  Some other targets do not
   1095 	 include the position of the location; for example, ELF.
   1096 	 For those targets, pcrel_offset is TRUE.
   1097 
   1098 	 If we are producing relocatable output, then we must ensure
   1099 	 that this reloc will be correctly computed when the final
   1100 	 relocation is done.  If pcrel_offset is FALSE we want to wind
   1101 	 up with the negative of the location within the section,
   1102 	 which means we must adjust the existing addend by the change
   1103 	 in the location within the section.  If pcrel_offset is TRUE
   1104 	 we do not want to adjust the existing addend at all.
   1105 
   1106 	 FIXME: This seems logical to me, but for the case of
   1107 	 producing relocatable output it is not what the code
   1108 	 actually does.  I don't want to change it, because it seems
   1109 	 far too likely that something will break.  */
   1110 
   1111       relocation -=
   1112 	input_section->output_section->vma + input_section->output_offset;
   1113 
   1114       if (howto->pcrel_offset && howto->partial_inplace)
   1115 	relocation -= reloc_entry->address;
   1116     }
   1117 
   1118   if (! howto->partial_inplace)
   1119     {
   1120       /* This is a partial relocation, and we want to apply the relocation
   1121 	 to the reloc entry rather than the raw data. Modify the reloc
   1122 	 inplace to reflect what we now know.  */
   1123       reloc_entry->addend = relocation;
   1124       reloc_entry->address += input_section->output_offset;
   1125       return flag;
   1126     }
   1127   else
   1128     {
   1129       /* This is a partial relocation, but inplace, so modify the
   1130 	 reloc record a bit.
   1131 
   1132 	 If we've relocated with a symbol with a section, change
   1133 	 into a ref to the section belonging to the symbol.  */
   1134       reloc_entry->address += input_section->output_offset;
   1135 
   1136       /* WTF?? */
   1137       if (abfd->xvec->flavour == bfd_target_coff_flavour
   1138 	  && strcmp (abfd->xvec->name, "coff-Intel-little") != 0
   1139 	  && strcmp (abfd->xvec->name, "coff-Intel-big") != 0)
   1140 	{
   1141 
   1142 	  /* For m68k-coff, the addend was being subtracted twice during
   1143 	     relocation with -r.  Removing the line below this comment
   1144 	     fixes that problem; see PR 2953.
   1145 
   1146 However, Ian wrote the following, regarding removing the line below,
   1147 which explains why it is still enabled:  --djm
   1148 
   1149 If you put a patch like that into BFD you need to check all the COFF
   1150 linkers.  I am fairly certain that patch will break coff-i386 (e.g.,
   1151 SCO); see coff_i386_reloc in coff-i386.c where I worked around the
   1152 problem in a different way.  There may very well be a reason that the
   1153 code works as it does.
   1154 
   1155 Hmmm.  The first obvious point is that bfd_install_relocation should
   1156 not have any tests that depend upon the flavour.  It's seem like
   1157 entirely the wrong place for such a thing.  The second obvious point
   1158 is that the current code ignores the reloc addend when producing
   1159 relocatable output for COFF.  That's peculiar.  In fact, I really
   1160 have no idea what the point of the line you want to remove is.
   1161 
   1162 A typical COFF reloc subtracts the old value of the symbol and adds in
   1163 the new value to the location in the object file (if it's a pc
   1164 relative reloc it adds the difference between the symbol value and the
   1165 location).  When relocating we need to preserve that property.
   1166 
   1167 BFD handles this by setting the addend to the negative of the old
   1168 value of the symbol.  Unfortunately it handles common symbols in a
   1169 non-standard way (it doesn't subtract the old value) but that's a
   1170 different story (we can't change it without losing backward
   1171 compatibility with old object files) (coff-i386 does subtract the old
   1172 value, to be compatible with existing coff-i386 targets, like SCO).
   1173 
   1174 So everything works fine when not producing relocatable output.  When
   1175 we are producing relocatable output, logically we should do exactly
   1176 what we do when not producing relocatable output.  Therefore, your
   1177 patch is correct.  In fact, it should probably always just set
   1178 reloc_entry->addend to 0 for all cases, since it is, in fact, going to
   1179 add the value into the object file.  This won't hurt the COFF code,
   1180 which doesn't use the addend; I'm not sure what it will do to other
   1181 formats (the thing to check for would be whether any formats both use
   1182 the addend and set partial_inplace).
   1183 
   1184 When I wanted to make coff-i386 produce relocatable output, I ran
   1185 into the problem that you are running into: I wanted to remove that
   1186 line.  Rather than risk it, I made the coff-i386 relocs use a special
   1187 function; it's coff_i386_reloc in coff-i386.c.  The function
   1188 specifically adds the addend field into the object file, knowing that
   1189 bfd_install_relocation is not going to.  If you remove that line, then
   1190 coff-i386.c will wind up adding the addend field in twice.  It's
   1191 trivial to fix; it just needs to be done.
   1192 
   1193 The problem with removing the line is just that it may break some
   1194 working code.  With BFD it's hard to be sure of anything.  The right
   1195 way to deal with this is simply to build and test at least all the
   1196 supported COFF targets.  It should be straightforward if time and disk
   1197 space consuming.  For each target:
   1198     1) build the linker
   1199     2) generate some executable, and link it using -r (I would
   1200        probably use paranoia.o and link against newlib/libc.a, which
   1201        for all the supported targets would be available in
   1202        /usr/cygnus/progressive/H-host/target/lib/libc.a).
   1203     3) make the change to reloc.c
   1204     4) rebuild the linker
   1205     5) repeat step 2
   1206     6) if the resulting object files are the same, you have at least
   1207        made it no worse
   1208     7) if they are different you have to figure out which version is
   1209        right.  */
   1210 	  relocation -= reloc_entry->addend;
   1211 	  /* FIXME: There should be no target specific code here...  */
   1212 	  if (strcmp (abfd->xvec->name, "coff-z8k") != 0)
   1213 	    reloc_entry->addend = 0;
   1214 	}
   1215       else
   1216 	{
   1217 	  reloc_entry->addend = relocation;
   1218 	}
   1219     }
   1220 
   1221   /* FIXME: This overflow checking is incomplete, because the value
   1222      might have overflowed before we get here.  For a correct check we
   1223      need to compute the value in a size larger than bitsize, but we
   1224      can't reasonably do that for a reloc the same size as a host
   1225      machine word.
   1226      FIXME: We should also do overflow checking on the result after
   1227      adding in the value contained in the object file.  */
   1228   if (howto->complain_on_overflow != complain_overflow_dont)
   1229     flag = bfd_check_overflow (howto->complain_on_overflow,
   1230 			       howto->bitsize,
   1231 			       howto->rightshift,
   1232 			       bfd_arch_bits_per_address (abfd),
   1233 			       relocation);
   1234 
   1235   /* Either we are relocating all the way, or we don't want to apply
   1236      the relocation to the reloc entry (probably because there isn't
   1237      any room in the output format to describe addends to relocs).  */
   1238 
   1239   /* The cast to bfd_vma avoids a bug in the Alpha OSF/1 C compiler
   1240      (OSF version 1.3, compiler version 3.11).  It miscompiles the
   1241      following program:
   1242 
   1243      struct str
   1244      {
   1245        unsigned int i0;
   1246      } s = { 0 };
   1247 
   1248      int
   1249      main ()
   1250      {
   1251        unsigned long x;
   1252 
   1253        x = 0x100000000;
   1254        x <<= (unsigned long) s.i0;
   1255        if (x == 0)
   1256 	 printf ("failed\n");
   1257        else
   1258 	 printf ("succeeded (%lx)\n", x);
   1259      }
   1260      */
   1261 
   1262   relocation >>= (bfd_vma) howto->rightshift;
   1263 
   1264   /* Shift everything up to where it's going to be used.  */
   1265   relocation <<= (bfd_vma) howto->bitpos;
   1266 
   1267   /* Wait for the day when all have the mask in them.  */
   1268 
   1269   /* What we do:
   1270      i instruction to be left alone
   1271      o offset within instruction
   1272      r relocation offset to apply
   1273      S src mask
   1274      D dst mask
   1275      N ~dst mask
   1276      A part 1
   1277      B part 2
   1278      R result
   1279 
   1280      Do this:
   1281      ((	 i i i i i o o o o o  from bfd_get<size>
   1282      and	   S S S S S) to get the size offset we want
   1283      +	 r r r r r r r r r r) to get the final value to place
   1284      and	   D D D D D  to chop to right size
   1285      -----------------------
   1286      =		   A A A A A
   1287      And this:
   1288      (	 i i i i i o o o o o  from bfd_get<size>
   1289      and N N N N N	    ) get instruction
   1290      -----------------------
   1291      =	 B B B B B
   1292 
   1293      And then:
   1294      (	 B B B B B
   1295      or		   A A A A A)
   1296      -----------------------
   1297      =	 R R R R R R R R R R  put into bfd_put<size>
   1298      */
   1299 
   1300   data = (bfd_byte *) data_start + (octets - data_start_offset);
   1301   apply_reloc (abfd, data, howto, relocation);
   1302   return flag;
   1303 }
   1304 
   1305 /* This relocation routine is used by some of the backend linkers.
   1306    They do not construct asymbol or arelent structures, so there is no
   1307    reason for them to use bfd_perform_relocation.  Also,
   1308    bfd_perform_relocation is so hacked up it is easier to write a new
   1309    function than to try to deal with it.
   1310 
   1311    This routine does a final relocation.  Whether it is useful for a
   1312    relocatable link depends upon how the object format defines
   1313    relocations.
   1314 
   1315    FIXME: This routine ignores any special_function in the HOWTO,
   1316    since the existing special_function values have been written for
   1317    bfd_perform_relocation.
   1318 
   1319    HOWTO is the reloc howto information.
   1320    INPUT_BFD is the BFD which the reloc applies to.
   1321    INPUT_SECTION is the section which the reloc applies to.
   1322    CONTENTS is the contents of the section.
   1323    ADDRESS is the address of the reloc within INPUT_SECTION.
   1324    VALUE is the value of the symbol the reloc refers to.
   1325    ADDEND is the addend of the reloc.  */
   1326 
   1327 bfd_reloc_status_type
   1328 _bfd_final_link_relocate (reloc_howto_type *howto,
   1329 			  bfd *input_bfd,
   1330 			  asection *input_section,
   1331 			  bfd_byte *contents,
   1332 			  bfd_vma address,
   1333 			  bfd_vma value,
   1334 			  bfd_vma addend)
   1335 {
   1336   bfd_vma relocation;
   1337   bfd_size_type octets = (address
   1338 			  * bfd_octets_per_byte (input_bfd, input_section));
   1339 
   1340   /* Sanity check the address.  */
   1341   if (!bfd_reloc_offset_in_range (howto, input_bfd, input_section, octets))
   1342     return bfd_reloc_outofrange;
   1343 
   1344   /* This function assumes that we are dealing with a basic relocation
   1345      against a symbol.  We want to compute the value of the symbol to
   1346      relocate to.  This is just VALUE, the value of the symbol, plus
   1347      ADDEND, any addend associated with the reloc.  */
   1348   relocation = value + addend;
   1349 
   1350   /* If the relocation is PC relative, we want to set RELOCATION to
   1351      the distance between the symbol (currently in RELOCATION) and the
   1352      location we are relocating.  Some targets (e.g., i386-aout)
   1353      arrange for the contents of the section to be the negative of the
   1354      offset of the location within the section; for such targets
   1355      pcrel_offset is FALSE.  Other targets (e.g., ELF) simply leave
   1356      the contents of the section as zero; for such targets
   1357      pcrel_offset is TRUE.  If pcrel_offset is FALSE we do not need to
   1358      subtract out the offset of the location within the section (which
   1359      is just ADDRESS).  */
   1360   if (howto->pc_relative)
   1361     {
   1362       relocation -= (input_section->output_section->vma
   1363 		     + input_section->output_offset);
   1364       if (howto->pcrel_offset)
   1365 	relocation -= address;
   1366     }
   1367 
   1368   return _bfd_relocate_contents (howto, input_bfd, relocation,
   1369 				 contents + octets);
   1370 }
   1371 
   1372 /* Relocate a given location using a given value and howto.  */
   1373 
   1374 bfd_reloc_status_type
   1375 _bfd_relocate_contents (reloc_howto_type *howto,
   1376 			bfd *input_bfd,
   1377 			bfd_vma relocation,
   1378 			bfd_byte *location)
   1379 {
   1380   bfd_vma x;
   1381   bfd_reloc_status_type flag;
   1382   unsigned int rightshift = howto->rightshift;
   1383   unsigned int bitpos = howto->bitpos;
   1384 
   1385   if (howto->negate)
   1386     relocation = -relocation;
   1387 
   1388   /* Get the value we are going to relocate.  */
   1389   x = read_reloc (input_bfd, location, howto);
   1390 
   1391   /* Check for overflow.  FIXME: We may drop bits during the addition
   1392      which we don't check for.  We must either check at every single
   1393      operation, which would be tedious, or we must do the computations
   1394      in a type larger than bfd_vma, which would be inefficient.  */
   1395   flag = bfd_reloc_ok;
   1396   if (howto->complain_on_overflow != complain_overflow_dont)
   1397     {
   1398       bfd_vma addrmask, fieldmask, signmask, ss;
   1399       bfd_vma a, b, sum;
   1400 
   1401       /* Get the values to be added together.  For signed and unsigned
   1402 	 relocations, we assume that all values should be truncated to
   1403 	 the size of an address.  For bitfields, all the bits matter.
   1404 	 See also bfd_check_overflow.  */
   1405       fieldmask = N_ONES (howto->bitsize);
   1406       signmask = ~fieldmask;
   1407       addrmask = (N_ONES (bfd_arch_bits_per_address (input_bfd))
   1408 		  | (fieldmask << rightshift));
   1409       a = (relocation & addrmask) >> rightshift;
   1410       b = (x & howto->src_mask & addrmask) >> bitpos;
   1411       addrmask >>= rightshift;
   1412 
   1413       switch (howto->complain_on_overflow)
   1414 	{
   1415 	case complain_overflow_signed:
   1416 	  /* If any sign bits are set, all sign bits must be set.
   1417 	     That is, A must be a valid negative address after
   1418 	     shifting.  */
   1419 	  signmask = ~(fieldmask >> 1);
   1420 	  /* Fall thru */
   1421 
   1422 	case complain_overflow_bitfield:
   1423 	  /* Much like the signed check, but for a field one bit
   1424 	     wider.  We allow a bitfield to represent numbers in the
   1425 	     range -2**n to 2**n-1, where n is the number of bits in the
   1426 	     field.  Note that when bfd_vma is 32 bits, a 32-bit reloc
   1427 	     can't overflow, which is exactly what we want.  */
   1428 	  ss = a & signmask;
   1429 	  if (ss != 0 && ss != (addrmask & signmask))
   1430 	    flag = bfd_reloc_overflow;
   1431 
   1432 	  /* We only need this next bit of code if the sign bit of B
   1433 	     is below the sign bit of A.  This would only happen if
   1434 	     SRC_MASK had fewer bits than BITSIZE.  Note that if
   1435 	     SRC_MASK has more bits than BITSIZE, we can get into
   1436 	     trouble; we would need to verify that B is in range, as
   1437 	     we do for A above.  */
   1438 	  ss = ((~howto->src_mask) >> 1) & howto->src_mask;
   1439 	  ss >>= bitpos;
   1440 
   1441 	  /* Set all the bits above the sign bit.  */
   1442 	  b = (b ^ ss) - ss;
   1443 
   1444 	  /* Now we can do the addition.  */
   1445 	  sum = a + b;
   1446 
   1447 	  /* See if the result has the correct sign.  Bits above the
   1448 	     sign bit are junk now; ignore them.  If the sum is
   1449 	     positive, make sure we did not have all negative inputs;
   1450 	     if the sum is negative, make sure we did not have all
   1451 	     positive inputs.  The test below looks only at the sign
   1452 	     bits, and it really just
   1453 		 SIGN (A) == SIGN (B) && SIGN (A) != SIGN (SUM)
   1454 
   1455 	     We mask with addrmask here to explicitly allow an address
   1456 	     wrap-around.  The Linux kernel relies on it, and it is
   1457 	     the only way to write assembler code which can run when
   1458 	     loaded at a location 0x80000000 away from the location at
   1459 	     which it is linked.  */
   1460 	  if (((~(a ^ b)) & (a ^ sum)) & signmask & addrmask)
   1461 	    flag = bfd_reloc_overflow;
   1462 	  break;
   1463 
   1464 	case complain_overflow_unsigned:
   1465 	  /* Checking for an unsigned overflow is relatively easy:
   1466 	     trim the addresses and add, and trim the result as well.
   1467 	     Overflow is normally indicated when the result does not
   1468 	     fit in the field.  However, we also need to consider the
   1469 	     case when, e.g., fieldmask is 0x7fffffff or smaller, an
   1470 	     input is 0x80000000, and bfd_vma is only 32 bits; then we
   1471 	     will get sum == 0, but there is an overflow, since the
   1472 	     inputs did not fit in the field.  Instead of doing a
   1473 	     separate test, we can check for this by or-ing in the
   1474 	     operands when testing for the sum overflowing its final
   1475 	     field.  */
   1476 	  sum = (a + b) & addrmask;
   1477 	  if ((a | b | sum) & signmask)
   1478 	    flag = bfd_reloc_overflow;
   1479 	  break;
   1480 
   1481 	default:
   1482 	  abort ();
   1483 	}
   1484     }
   1485 
   1486   /* Put RELOCATION in the right bits.  */
   1487   relocation >>= (bfd_vma) rightshift;
   1488   relocation <<= (bfd_vma) bitpos;
   1489 
   1490   /* Add RELOCATION to the right bits of X.  */
   1491   x = ((x & ~howto->dst_mask)
   1492        | (((x & howto->src_mask) + relocation) & howto->dst_mask));
   1493 
   1494   /* Put the relocated value back in the object file.  */
   1495   write_reloc (input_bfd, x, location, howto);
   1496   return flag;
   1497 }
   1498 
   1499 /* Clear a given location using a given howto, by applying a fixed relocation
   1500    value and discarding any in-place addend.  This is used for fixed-up
   1501    relocations against discarded symbols, to make ignorable debug or unwind
   1502    information more obvious.  */
   1503 
   1504 bfd_reloc_status_type
   1505 _bfd_clear_contents (reloc_howto_type *howto,
   1506 		     bfd *input_bfd,
   1507 		     asection *input_section,
   1508 		     bfd_byte *buf,
   1509 		     bfd_vma off)
   1510 {
   1511   bfd_vma x;
   1512   bfd_byte *location;
   1513 
   1514   if (!bfd_reloc_offset_in_range (howto, input_bfd, input_section, off))
   1515     return bfd_reloc_outofrange;
   1516 
   1517   /* Get the value we are going to relocate.  */
   1518   location = buf + off;
   1519   x = read_reloc (input_bfd, location, howto);
   1520 
   1521   /* Zero out the unwanted bits of X.  */
   1522   x &= ~howto->dst_mask;
   1523 
   1524   /* For a range list, use 1 instead of 0 as placeholder.  0
   1525      would terminate the list, hiding any later entries.  */
   1526   if (strcmp (bfd_section_name (input_section), ".debug_ranges") == 0
   1527       && (howto->dst_mask & 1) != 0)
   1528     x |= 1;
   1529 
   1530   /* Put the relocated value back in the object file.  */
   1531   write_reloc (input_bfd, x, location, howto);
   1532   return bfd_reloc_ok;
   1533 }
   1534 
   1535 /*
   1536 DOCDD
   1537 INODE
   1538 	howto manager,  , typedef arelent, Relocations
   1539 
   1540 SUBSECTION
   1541 	The howto manager
   1542 
   1543 	When an application wants to create a relocation, but doesn't
   1544 	know what the target machine might call it, it can find out by
   1545 	using this bit of code.
   1546 
   1547 */
   1548 
   1549 /*
   1550 TYPEDEF
   1551 	bfd_reloc_code_type
   1552 
   1553 DESCRIPTION
   1554 	The insides of a reloc code.  The idea is that, eventually, there
   1555 	will be one enumerator for every type of relocation we ever do.
   1556 	Pass one of these values to <<bfd_reloc_type_lookup>>, and it'll
   1557 	return a howto pointer.
   1558 
   1559 	This does mean that the application must determine the correct
   1560 	enumerator value; you can't get a howto pointer from a random set
   1561 	of attributes.
   1562 
   1563 SENUM
   1564    bfd_reloc_code_real
   1565 
   1566 ENUM
   1567   BFD_RELOC_64
   1568 ENUMX
   1569   BFD_RELOC_32
   1570 ENUMX
   1571   BFD_RELOC_26
   1572 ENUMX
   1573   BFD_RELOC_24
   1574 ENUMX
   1575   BFD_RELOC_16
   1576 ENUMX
   1577   BFD_RELOC_14
   1578 ENUMX
   1579   BFD_RELOC_8
   1580 ENUMDOC
   1581   Basic absolute relocations of N bits.
   1582 
   1583 ENUM
   1584   BFD_RELOC_64_PCREL
   1585 ENUMX
   1586   BFD_RELOC_32_PCREL
   1587 ENUMX
   1588   BFD_RELOC_24_PCREL
   1589 ENUMX
   1590   BFD_RELOC_16_PCREL
   1591 ENUMX
   1592   BFD_RELOC_12_PCREL
   1593 ENUMX
   1594   BFD_RELOC_8_PCREL
   1595 ENUMDOC
   1596   PC-relative relocations.  Sometimes these are relative to the address
   1597 of the relocation itself; sometimes they are relative to the start of
   1598 the section containing the relocation.  It depends on the specific target.
   1599 
   1600 ENUM
   1601   BFD_RELOC_32_SECREL
   1602 ENUMX
   1603   BFD_RELOC_16_SECIDX
   1604 ENUMDOC
   1605   Section relative relocations.  Some targets need this for DWARF2.
   1606 
   1607 ENUM
   1608   BFD_RELOC_32_GOT_PCREL
   1609 ENUMX
   1610   BFD_RELOC_16_GOT_PCREL
   1611 ENUMX
   1612   BFD_RELOC_8_GOT_PCREL
   1613 ENUMX
   1614   BFD_RELOC_32_GOTOFF
   1615 ENUMX
   1616   BFD_RELOC_16_GOTOFF
   1617 ENUMX
   1618   BFD_RELOC_LO16_GOTOFF
   1619 ENUMX
   1620   BFD_RELOC_HI16_GOTOFF
   1621 ENUMX
   1622   BFD_RELOC_HI16_S_GOTOFF
   1623 ENUMX
   1624   BFD_RELOC_8_GOTOFF
   1625 ENUMX
   1626   BFD_RELOC_64_PLT_PCREL
   1627 ENUMX
   1628   BFD_RELOC_32_PLT_PCREL
   1629 ENUMX
   1630   BFD_RELOC_24_PLT_PCREL
   1631 ENUMX
   1632   BFD_RELOC_16_PLT_PCREL
   1633 ENUMX
   1634   BFD_RELOC_8_PLT_PCREL
   1635 ENUMX
   1636   BFD_RELOC_64_PLTOFF
   1637 ENUMX
   1638   BFD_RELOC_32_PLTOFF
   1639 ENUMX
   1640   BFD_RELOC_16_PLTOFF
   1641 ENUMX
   1642   BFD_RELOC_LO16_PLTOFF
   1643 ENUMX
   1644   BFD_RELOC_HI16_PLTOFF
   1645 ENUMX
   1646   BFD_RELOC_HI16_S_PLTOFF
   1647 ENUMX
   1648   BFD_RELOC_8_PLTOFF
   1649 ENUMDOC
   1650   For ELF.
   1651 
   1652 ENUM
   1653   BFD_RELOC_SIZE32
   1654 ENUMX
   1655   BFD_RELOC_SIZE64
   1656 ENUMDOC
   1657   Size relocations.
   1658 
   1659 ENUM
   1660   BFD_RELOC_68K_GLOB_DAT
   1661 ENUMX
   1662   BFD_RELOC_68K_JMP_SLOT
   1663 ENUMX
   1664   BFD_RELOC_68K_RELATIVE
   1665 ENUMX
   1666   BFD_RELOC_68K_TLS_GD32
   1667 ENUMX
   1668   BFD_RELOC_68K_TLS_GD16
   1669 ENUMX
   1670   BFD_RELOC_68K_TLS_GD8
   1671 ENUMX
   1672   BFD_RELOC_68K_TLS_LDM32
   1673 ENUMX
   1674   BFD_RELOC_68K_TLS_LDM16
   1675 ENUMX
   1676   BFD_RELOC_68K_TLS_LDM8
   1677 ENUMX
   1678   BFD_RELOC_68K_TLS_LDO32
   1679 ENUMX
   1680   BFD_RELOC_68K_TLS_LDO16
   1681 ENUMX
   1682   BFD_RELOC_68K_TLS_LDO8
   1683 ENUMX
   1684   BFD_RELOC_68K_TLS_IE32
   1685 ENUMX
   1686   BFD_RELOC_68K_TLS_IE16
   1687 ENUMX
   1688   BFD_RELOC_68K_TLS_IE8
   1689 ENUMX
   1690   BFD_RELOC_68K_TLS_LE32
   1691 ENUMX
   1692   BFD_RELOC_68K_TLS_LE16
   1693 ENUMX
   1694   BFD_RELOC_68K_TLS_LE8
   1695 ENUMDOC
   1696   Relocations used by 68K ELF.
   1697 
   1698 ENUM
   1699   BFD_RELOC_VAX_GLOB_DAT
   1700 ENUMX
   1701   BFD_RELOC_VAX_GLOB_REF
   1702 ENUMX
   1703   BFD_RELOC_VAX_JMP_SLOT
   1704 ENUMX
   1705   BFD_RELOC_VAX_RELATIVE
   1706 ENUMDOC
   1707   Relocations used by VAX ELF.
   1708 
   1709 ENUM
   1710   BFD_RELOC_32_BASEREL
   1711 ENUMX
   1712   BFD_RELOC_16_BASEREL
   1713 ENUMX
   1714   BFD_RELOC_LO16_BASEREL
   1715 ENUMX
   1716   BFD_RELOC_HI16_BASEREL
   1717 ENUMX
   1718   BFD_RELOC_HI16_S_BASEREL
   1719 ENUMX
   1720   BFD_RELOC_8_BASEREL
   1721 ENUMX
   1722   BFD_RELOC_RVA
   1723 ENUMDOC
   1724   Linkage-table relative.
   1725 
   1726 ENUM
   1727   BFD_RELOC_8_FFnn
   1728 ENUMDOC
   1729   Absolute 8-bit relocation, but used to form an address like 0xFFnn.
   1730 
   1731 ENUM
   1732   BFD_RELOC_32_PCREL_S2
   1733 ENUMX
   1734   BFD_RELOC_16_PCREL_S2
   1735 ENUMX
   1736   BFD_RELOC_23_PCREL_S2
   1737 ENUMDOC
   1738   These PC-relative relocations are stored as word displacements --
   1739 i.e., byte displacements shifted right two bits.  The 30-bit word
   1740 displacement (<<32_PCREL_S2>> -- 32 bits, shifted 2) is used on the
   1741 SPARC.  (SPARC tools generally refer to this as <<WDISP30>>.)  The
   1742 signed 16-bit displacement is used on the MIPS, and the 23-bit
   1743 displacement is used on the Alpha.
   1744 
   1745 ENUM
   1746   BFD_RELOC_HI22
   1747 ENUMX
   1748   BFD_RELOC_LO10
   1749 ENUMDOC
   1750   High 22 bits and low 10 bits of 32-bit value, placed into lower bits of
   1751 the target word.  These are used on the SPARC.
   1752 
   1753 ENUM
   1754   BFD_RELOC_GPREL16
   1755 ENUMX
   1756   BFD_RELOC_GPREL32
   1757 ENUMDOC
   1758   For systems that allocate a Global Pointer register, these are
   1759 displacements off that register.  These relocation types are
   1760 handled specially, because the value the register will have is
   1761 decided relatively late.
   1762 
   1763 ENUM
   1764   BFD_RELOC_NONE
   1765 ENUMX
   1766   BFD_RELOC_SPARC_WDISP22
   1767 ENUMX
   1768   BFD_RELOC_SPARC22
   1769 ENUMX
   1770   BFD_RELOC_SPARC13
   1771 ENUMX
   1772   BFD_RELOC_SPARC_GOT10
   1773 ENUMX
   1774   BFD_RELOC_SPARC_GOT13
   1775 ENUMX
   1776   BFD_RELOC_SPARC_GOT22
   1777 ENUMX
   1778   BFD_RELOC_SPARC_PC10
   1779 ENUMX
   1780   BFD_RELOC_SPARC_PC22
   1781 ENUMX
   1782   BFD_RELOC_SPARC_WPLT30
   1783 ENUMX
   1784   BFD_RELOC_SPARC_COPY
   1785 ENUMX
   1786   BFD_RELOC_SPARC_GLOB_DAT
   1787 ENUMX
   1788   BFD_RELOC_SPARC_JMP_SLOT
   1789 ENUMX
   1790   BFD_RELOC_SPARC_RELATIVE
   1791 ENUMX
   1792   BFD_RELOC_SPARC_UA16
   1793 ENUMX
   1794   BFD_RELOC_SPARC_UA32
   1795 ENUMX
   1796   BFD_RELOC_SPARC_UA64
   1797 ENUMX
   1798   BFD_RELOC_SPARC_GOTDATA_HIX22
   1799 ENUMX
   1800   BFD_RELOC_SPARC_GOTDATA_LOX10
   1801 ENUMX
   1802   BFD_RELOC_SPARC_GOTDATA_OP_HIX22
   1803 ENUMX
   1804   BFD_RELOC_SPARC_GOTDATA_OP_LOX10
   1805 ENUMX
   1806   BFD_RELOC_SPARC_GOTDATA_OP
   1807 ENUMX
   1808   BFD_RELOC_SPARC_JMP_IREL
   1809 ENUMX
   1810   BFD_RELOC_SPARC_IRELATIVE
   1811 ENUMDOC
   1812   SPARC ELF relocations.  There is probably some overlap with other
   1813   relocation types already defined.
   1814 
   1815 ENUM
   1816   BFD_RELOC_SPARC_BASE13
   1817 ENUMX
   1818   BFD_RELOC_SPARC_BASE22
   1819 ENUMDOC
   1820   I think these are specific to SPARC a.out (e.g., Sun 4).
   1821 
   1822 ENUMEQ
   1823   BFD_RELOC_SPARC_64
   1824   BFD_RELOC_64
   1825 ENUMX
   1826   BFD_RELOC_SPARC_10
   1827 ENUMX
   1828   BFD_RELOC_SPARC_11
   1829 ENUMX
   1830   BFD_RELOC_SPARC_OLO10
   1831 ENUMX
   1832   BFD_RELOC_SPARC_HH22
   1833 ENUMX
   1834   BFD_RELOC_SPARC_HM10
   1835 ENUMX
   1836   BFD_RELOC_SPARC_LM22
   1837 ENUMX
   1838   BFD_RELOC_SPARC_PC_HH22
   1839 ENUMX
   1840   BFD_RELOC_SPARC_PC_HM10
   1841 ENUMX
   1842   BFD_RELOC_SPARC_PC_LM22
   1843 ENUMX
   1844   BFD_RELOC_SPARC_WDISP16
   1845 ENUMX
   1846   BFD_RELOC_SPARC_WDISP19
   1847 ENUMX
   1848   BFD_RELOC_SPARC_7
   1849 ENUMX
   1850   BFD_RELOC_SPARC_6
   1851 ENUMX
   1852   BFD_RELOC_SPARC_5
   1853 ENUMEQX
   1854   BFD_RELOC_SPARC_DISP64
   1855   BFD_RELOC_64_PCREL
   1856 ENUMX
   1857   BFD_RELOC_SPARC_PLT32
   1858 ENUMX
   1859   BFD_RELOC_SPARC_PLT64
   1860 ENUMX
   1861   BFD_RELOC_SPARC_HIX22
   1862 ENUMX
   1863   BFD_RELOC_SPARC_LOX10
   1864 ENUMX
   1865   BFD_RELOC_SPARC_H44
   1866 ENUMX
   1867   BFD_RELOC_SPARC_M44
   1868 ENUMX
   1869   BFD_RELOC_SPARC_L44
   1870 ENUMX
   1871   BFD_RELOC_SPARC_REGISTER
   1872 ENUMX
   1873   BFD_RELOC_SPARC_H34
   1874 ENUMX
   1875   BFD_RELOC_SPARC_SIZE32
   1876 ENUMX
   1877   BFD_RELOC_SPARC_SIZE64
   1878 ENUMX
   1879   BFD_RELOC_SPARC_WDISP10
   1880 ENUMDOC
   1881   SPARC64 relocations
   1882 
   1883 ENUM
   1884   BFD_RELOC_SPARC_REV32
   1885 ENUMDOC
   1886   SPARC little endian relocation
   1887 ENUM
   1888   BFD_RELOC_SPARC_TLS_GD_HI22
   1889 ENUMX
   1890   BFD_RELOC_SPARC_TLS_GD_LO10
   1891 ENUMX
   1892   BFD_RELOC_SPARC_TLS_GD_ADD
   1893 ENUMX
   1894   BFD_RELOC_SPARC_TLS_GD_CALL
   1895 ENUMX
   1896   BFD_RELOC_SPARC_TLS_LDM_HI22
   1897 ENUMX
   1898   BFD_RELOC_SPARC_TLS_LDM_LO10
   1899 ENUMX
   1900   BFD_RELOC_SPARC_TLS_LDM_ADD
   1901 ENUMX
   1902   BFD_RELOC_SPARC_TLS_LDM_CALL
   1903 ENUMX
   1904   BFD_RELOC_SPARC_TLS_LDO_HIX22
   1905 ENUMX
   1906   BFD_RELOC_SPARC_TLS_LDO_LOX10
   1907 ENUMX
   1908   BFD_RELOC_SPARC_TLS_LDO_ADD
   1909 ENUMX
   1910   BFD_RELOC_SPARC_TLS_IE_HI22
   1911 ENUMX
   1912   BFD_RELOC_SPARC_TLS_IE_LO10
   1913 ENUMX
   1914   BFD_RELOC_SPARC_TLS_IE_LD
   1915 ENUMX
   1916   BFD_RELOC_SPARC_TLS_IE_LDX
   1917 ENUMX
   1918   BFD_RELOC_SPARC_TLS_IE_ADD
   1919 ENUMX
   1920   BFD_RELOC_SPARC_TLS_LE_HIX22
   1921 ENUMX
   1922   BFD_RELOC_SPARC_TLS_LE_LOX10
   1923 ENUMX
   1924   BFD_RELOC_SPARC_TLS_DTPMOD32
   1925 ENUMX
   1926   BFD_RELOC_SPARC_TLS_DTPMOD64
   1927 ENUMX
   1928   BFD_RELOC_SPARC_TLS_DTPOFF32
   1929 ENUMX
   1930   BFD_RELOC_SPARC_TLS_DTPOFF64
   1931 ENUMX
   1932   BFD_RELOC_SPARC_TLS_TPOFF32
   1933 ENUMX
   1934   BFD_RELOC_SPARC_TLS_TPOFF64
   1935 ENUMDOC
   1936   SPARC TLS relocations
   1937 
   1938 ENUM
   1939   BFD_RELOC_SPU_IMM7
   1940 ENUMX
   1941   BFD_RELOC_SPU_IMM8
   1942 ENUMX
   1943   BFD_RELOC_SPU_IMM10
   1944 ENUMX
   1945   BFD_RELOC_SPU_IMM10W
   1946 ENUMX
   1947   BFD_RELOC_SPU_IMM16
   1948 ENUMX
   1949   BFD_RELOC_SPU_IMM16W
   1950 ENUMX
   1951   BFD_RELOC_SPU_IMM18
   1952 ENUMX
   1953   BFD_RELOC_SPU_PCREL9a
   1954 ENUMX
   1955   BFD_RELOC_SPU_PCREL9b
   1956 ENUMX
   1957   BFD_RELOC_SPU_PCREL16
   1958 ENUMX
   1959   BFD_RELOC_SPU_LO16
   1960 ENUMX
   1961   BFD_RELOC_SPU_HI16
   1962 ENUMX
   1963   BFD_RELOC_SPU_PPU32
   1964 ENUMX
   1965   BFD_RELOC_SPU_PPU64
   1966 ENUMX
   1967   BFD_RELOC_SPU_ADD_PIC
   1968 ENUMDOC
   1969   SPU Relocations.
   1970 
   1971 ENUM
   1972   BFD_RELOC_ALPHA_GPDISP_HI16
   1973 ENUMDOC
   1974   Alpha ECOFF and ELF relocations.  Some of these treat the symbol or
   1975      "addend" in some special way.
   1976   For GPDISP_HI16 ("gpdisp") relocations, the symbol is ignored when
   1977      writing; when reading, it will be the absolute section symbol.  The
   1978      addend is the displacement in bytes of the "lda" instruction from
   1979      the "ldah" instruction (which is at the address of this reloc).
   1980 ENUM
   1981   BFD_RELOC_ALPHA_GPDISP_LO16
   1982 ENUMDOC
   1983   For GPDISP_LO16 ("ignore") relocations, the symbol is handled as
   1984      with GPDISP_HI16 relocs.  The addend is ignored when writing the
   1985      relocations out, and is filled in with the file's GP value on
   1986      reading, for convenience.
   1987 
   1988 ENUM
   1989   BFD_RELOC_ALPHA_GPDISP
   1990 ENUMDOC
   1991   The ELF GPDISP relocation is exactly the same as the GPDISP_HI16
   1992      relocation except that there is no accompanying GPDISP_LO16
   1993      relocation.
   1994 
   1995 ENUM
   1996   BFD_RELOC_ALPHA_LITERAL
   1997 ENUMX
   1998   BFD_RELOC_ALPHA_ELF_LITERAL
   1999 ENUMX
   2000   BFD_RELOC_ALPHA_LITUSE
   2001 ENUMDOC
   2002   The Alpha LITERAL/LITUSE relocs are produced by a symbol reference;
   2003      the assembler turns it into a LDQ instruction to load the address of
   2004      the symbol, and then fills in a register in the real instruction.
   2005 
   2006      The LITERAL reloc, at the LDQ instruction, refers to the .lita
   2007      section symbol.  The addend is ignored when writing, but is filled
   2008      in with the file's GP value on reading, for convenience, as with the
   2009      GPDISP_LO16 reloc.
   2010 
   2011      The ELF_LITERAL reloc is somewhere between 16_GOTOFF and GPDISP_LO16.
   2012      It should refer to the symbol to be referenced, as with 16_GOTOFF,
   2013      but it generates output not based on the position within the .got
   2014      section, but relative to the GP value chosen for the file during the
   2015      final link stage.
   2016 
   2017      The LITUSE reloc, on the instruction using the loaded address, gives
   2018      information to the linker that it might be able to use to optimize
   2019      away some literal section references.  The symbol is ignored (read
   2020      as the absolute section symbol), and the "addend" indicates the type
   2021      of instruction using the register:
   2022 	      1 - "memory" fmt insn
   2023 	      2 - byte-manipulation (byte offset reg)
   2024 	      3 - jsr (target of branch)
   2025 
   2026 ENUM
   2027   BFD_RELOC_ALPHA_HINT
   2028 ENUMDOC
   2029   The HINT relocation indicates a value that should be filled into the
   2030      "hint" field of a jmp/jsr/ret instruction, for possible branch-
   2031      prediction logic which may be provided on some processors.
   2032 
   2033 ENUM
   2034   BFD_RELOC_ALPHA_LINKAGE
   2035 ENUMDOC
   2036   The LINKAGE relocation outputs a linkage pair in the object file,
   2037      which is filled by the linker.
   2038 
   2039 ENUM
   2040   BFD_RELOC_ALPHA_CODEADDR
   2041 ENUMDOC
   2042   The CODEADDR relocation outputs a STO_CA in the object file,
   2043      which is filled by the linker.
   2044 
   2045 ENUM
   2046   BFD_RELOC_ALPHA_GPREL_HI16
   2047 ENUMX
   2048   BFD_RELOC_ALPHA_GPREL_LO16
   2049 ENUMDOC
   2050   The GPREL_HI/LO relocations together form a 32-bit offset from the
   2051      GP register.
   2052 
   2053 ENUM
   2054   BFD_RELOC_ALPHA_BRSGP
   2055 ENUMDOC
   2056   Like BFD_RELOC_23_PCREL_S2, except that the source and target must
   2057   share a common GP, and the target address is adjusted for
   2058   STO_ALPHA_STD_GPLOAD.
   2059 
   2060 ENUM
   2061   BFD_RELOC_ALPHA_NOP
   2062 ENUMDOC
   2063   The NOP relocation outputs a NOP if the longword displacement
   2064      between two procedure entry points is < 2^21.
   2065 
   2066 ENUM
   2067   BFD_RELOC_ALPHA_BSR
   2068 ENUMDOC
   2069   The BSR relocation outputs a BSR if the longword displacement
   2070      between two procedure entry points is < 2^21.
   2071 
   2072 ENUM
   2073   BFD_RELOC_ALPHA_LDA
   2074 ENUMDOC
   2075   The LDA relocation outputs a LDA if the longword displacement
   2076      between two procedure entry points is < 2^16.
   2077 
   2078 ENUM
   2079   BFD_RELOC_ALPHA_BOH
   2080 ENUMDOC
   2081   The BOH relocation outputs a BSR if the longword displacement
   2082      between two procedure entry points is < 2^21, or else a hint.
   2083 
   2084 ENUM
   2085   BFD_RELOC_ALPHA_TLSGD
   2086 ENUMX
   2087   BFD_RELOC_ALPHA_TLSLDM
   2088 ENUMX
   2089   BFD_RELOC_ALPHA_DTPMOD64
   2090 ENUMX
   2091   BFD_RELOC_ALPHA_GOTDTPREL16
   2092 ENUMX
   2093   BFD_RELOC_ALPHA_DTPREL64
   2094 ENUMX
   2095   BFD_RELOC_ALPHA_DTPREL_HI16
   2096 ENUMX
   2097   BFD_RELOC_ALPHA_DTPREL_LO16
   2098 ENUMX
   2099   BFD_RELOC_ALPHA_DTPREL16
   2100 ENUMX
   2101   BFD_RELOC_ALPHA_GOTTPREL16
   2102 ENUMX
   2103   BFD_RELOC_ALPHA_TPREL64
   2104 ENUMX
   2105   BFD_RELOC_ALPHA_TPREL_HI16
   2106 ENUMX
   2107   BFD_RELOC_ALPHA_TPREL_LO16
   2108 ENUMX
   2109   BFD_RELOC_ALPHA_TPREL16
   2110 ENUMDOC
   2111   Alpha thread-local storage relocations.
   2112 
   2113 ENUM
   2114   BFD_RELOC_MIPS_JMP
   2115 ENUMX
   2116   BFD_RELOC_MICROMIPS_JMP
   2117 ENUMDOC
   2118   The MIPS jump instruction.
   2119 
   2120 ENUM
   2121   BFD_RELOC_MIPS16_JMP
   2122 ENUMDOC
   2123   The MIPS16 jump instruction.
   2124 
   2125 ENUM
   2126   BFD_RELOC_MIPS16_GPREL
   2127 ENUMDOC
   2128   MIPS16 GP relative reloc.
   2129 
   2130 ENUM
   2131   BFD_RELOC_HI16
   2132 ENUMDOC
   2133   High 16 bits of 32-bit value; simple reloc.
   2134 
   2135 ENUM
   2136   BFD_RELOC_HI16_S
   2137 ENUMDOC
   2138   High 16 bits of 32-bit value but the low 16 bits will be sign
   2139      extended and added to form the final result.  If the low 16
   2140      bits form a negative number, we need to add one to the high value
   2141      to compensate for the borrow when the low bits are added.
   2142 
   2143 ENUM
   2144   BFD_RELOC_LO16
   2145 ENUMDOC
   2146   Low 16 bits.
   2147 
   2148 ENUM
   2149   BFD_RELOC_HI16_PCREL
   2150 ENUMDOC
   2151   High 16 bits of 32-bit pc-relative value
   2152 ENUM
   2153   BFD_RELOC_HI16_S_PCREL
   2154 ENUMDOC
   2155   High 16 bits of 32-bit pc-relative value, adjusted
   2156 ENUM
   2157   BFD_RELOC_LO16_PCREL
   2158 ENUMDOC
   2159   Low 16 bits of pc-relative value
   2160 
   2161 ENUM
   2162   BFD_RELOC_MIPS16_GOT16
   2163 ENUMX
   2164   BFD_RELOC_MIPS16_CALL16
   2165 ENUMDOC
   2166   Equivalent of BFD_RELOC_MIPS_*, but with the MIPS16 layout of
   2167      16-bit immediate fields
   2168 ENUM
   2169   BFD_RELOC_MIPS16_HI16
   2170 ENUMDOC
   2171   MIPS16 high 16 bits of 32-bit value.
   2172 ENUM
   2173   BFD_RELOC_MIPS16_HI16_S
   2174 ENUMDOC
   2175   MIPS16 high 16 bits of 32-bit value but the low 16 bits will be sign
   2176      extended and added to form the final result.  If the low 16
   2177      bits form a negative number, we need to add one to the high value
   2178      to compensate for the borrow when the low bits are added.
   2179 ENUM
   2180   BFD_RELOC_MIPS16_LO16
   2181 ENUMDOC
   2182   MIPS16 low 16 bits.
   2183 
   2184 ENUM
   2185   BFD_RELOC_MIPS16_TLS_GD
   2186 ENUMX
   2187   BFD_RELOC_MIPS16_TLS_LDM
   2188 ENUMX
   2189   BFD_RELOC_MIPS16_TLS_DTPREL_HI16
   2190 ENUMX
   2191   BFD_RELOC_MIPS16_TLS_DTPREL_LO16
   2192 ENUMX
   2193   BFD_RELOC_MIPS16_TLS_GOTTPREL
   2194 ENUMX
   2195   BFD_RELOC_MIPS16_TLS_TPREL_HI16
   2196 ENUMX
   2197   BFD_RELOC_MIPS16_TLS_TPREL_LO16
   2198 ENUMDOC
   2199   MIPS16 TLS relocations
   2200 
   2201 ENUM
   2202   BFD_RELOC_MIPS_LITERAL
   2203 ENUMX
   2204   BFD_RELOC_MICROMIPS_LITERAL
   2205 ENUMDOC
   2206   Relocation against a MIPS literal section.
   2207 
   2208 ENUM
   2209   BFD_RELOC_MICROMIPS_7_PCREL_S1
   2210 ENUMX
   2211   BFD_RELOC_MICROMIPS_10_PCREL_S1
   2212 ENUMX
   2213   BFD_RELOC_MICROMIPS_16_PCREL_S1
   2214 ENUMDOC
   2215   microMIPS PC-relative relocations.
   2216 
   2217 ENUM
   2218   BFD_RELOC_MIPS16_16_PCREL_S1
   2219 ENUMDOC
   2220   MIPS16 PC-relative relocation.
   2221 
   2222 ENUM
   2223   BFD_RELOC_MIPS_21_PCREL_S2
   2224 ENUMX
   2225   BFD_RELOC_MIPS_26_PCREL_S2
   2226 ENUMX
   2227   BFD_RELOC_MIPS_18_PCREL_S3
   2228 ENUMX
   2229   BFD_RELOC_MIPS_19_PCREL_S2
   2230 ENUMDOC
   2231   MIPS PC-relative relocations.
   2232 
   2233 ENUM
   2234   BFD_RELOC_MICROMIPS_GPREL16
   2235 ENUMX
   2236   BFD_RELOC_MICROMIPS_HI16
   2237 ENUMX
   2238   BFD_RELOC_MICROMIPS_HI16_S
   2239 ENUMX
   2240   BFD_RELOC_MICROMIPS_LO16
   2241 ENUMDOC
   2242   microMIPS versions of generic BFD relocs.
   2243 
   2244 ENUM
   2245   BFD_RELOC_MIPS_GOT16
   2246 ENUMX
   2247   BFD_RELOC_MICROMIPS_GOT16
   2248 ENUMX
   2249   BFD_RELOC_MIPS_CALL16
   2250 ENUMX
   2251   BFD_RELOC_MICROMIPS_CALL16
   2252 ENUMX
   2253   BFD_RELOC_MIPS_GOT_HI16
   2254 ENUMX
   2255   BFD_RELOC_MICROMIPS_GOT_HI16
   2256 ENUMX
   2257   BFD_RELOC_MIPS_GOT_LO16
   2258 ENUMX
   2259   BFD_RELOC_MICROMIPS_GOT_LO16
   2260 ENUMX
   2261   BFD_RELOC_MIPS_CALL_HI16
   2262 ENUMX
   2263   BFD_RELOC_MICROMIPS_CALL_HI16
   2264 ENUMX
   2265   BFD_RELOC_MIPS_CALL_LO16
   2266 ENUMX
   2267   BFD_RELOC_MICROMIPS_CALL_LO16
   2268 ENUMX
   2269   BFD_RELOC_MIPS_SUB
   2270 ENUMX
   2271   BFD_RELOC_MICROMIPS_SUB
   2272 ENUMX
   2273   BFD_RELOC_MIPS_GOT_PAGE
   2274 ENUMX
   2275   BFD_RELOC_MICROMIPS_GOT_PAGE
   2276 ENUMX
   2277   BFD_RELOC_MIPS_GOT_OFST
   2278 ENUMX
   2279   BFD_RELOC_MICROMIPS_GOT_OFST
   2280 ENUMX
   2281   BFD_RELOC_MIPS_GOT_DISP
   2282 ENUMX
   2283   BFD_RELOC_MICROMIPS_GOT_DISP
   2284 ENUMX
   2285   BFD_RELOC_MIPS_SHIFT5
   2286 ENUMX
   2287   BFD_RELOC_MIPS_SHIFT6
   2288 ENUMX
   2289   BFD_RELOC_MIPS_INSERT_A
   2290 ENUMX
   2291   BFD_RELOC_MIPS_INSERT_B
   2292 ENUMX
   2293   BFD_RELOC_MIPS_DELETE
   2294 ENUMX
   2295   BFD_RELOC_MIPS_HIGHEST
   2296 ENUMX
   2297   BFD_RELOC_MICROMIPS_HIGHEST
   2298 ENUMX
   2299   BFD_RELOC_MIPS_HIGHER
   2300 ENUMX
   2301   BFD_RELOC_MICROMIPS_HIGHER
   2302 ENUMX
   2303   BFD_RELOC_MIPS_SCN_DISP
   2304 ENUMX
   2305   BFD_RELOC_MICROMIPS_SCN_DISP
   2306 ENUMX
   2307   BFD_RELOC_MIPS_16
   2308 ENUMX
   2309   BFD_RELOC_MIPS_RELGOT
   2310 ENUMX
   2311   BFD_RELOC_MIPS_JALR
   2312 ENUMX
   2313   BFD_RELOC_MICROMIPS_JALR
   2314 ENUMX
   2315   BFD_RELOC_MIPS_TLS_DTPMOD32
   2316 ENUMX
   2317   BFD_RELOC_MIPS_TLS_DTPREL32
   2318 ENUMX
   2319   BFD_RELOC_MIPS_TLS_DTPMOD64
   2320 ENUMX
   2321   BFD_RELOC_MIPS_TLS_DTPREL64
   2322 ENUMX
   2323   BFD_RELOC_MIPS_TLS_GD
   2324 ENUMX
   2325   BFD_RELOC_MICROMIPS_TLS_GD
   2326 ENUMX
   2327   BFD_RELOC_MIPS_TLS_LDM
   2328 ENUMX
   2329   BFD_RELOC_MICROMIPS_TLS_LDM
   2330 ENUMX
   2331   BFD_RELOC_MIPS_TLS_DTPREL_HI16
   2332 ENUMX
   2333   BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16
   2334 ENUMX
   2335   BFD_RELOC_MIPS_TLS_DTPREL_LO16
   2336 ENUMX
   2337   BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16
   2338 ENUMX
   2339   BFD_RELOC_MIPS_TLS_GOTTPREL
   2340 ENUMX
   2341   BFD_RELOC_MICROMIPS_TLS_GOTTPREL
   2342 ENUMX
   2343   BFD_RELOC_MIPS_TLS_TPREL32
   2344 ENUMX
   2345   BFD_RELOC_MIPS_TLS_TPREL64
   2346 ENUMX
   2347   BFD_RELOC_MIPS_TLS_TPREL_HI16
   2348 ENUMX
   2349   BFD_RELOC_MICROMIPS_TLS_TPREL_HI16
   2350 ENUMX
   2351   BFD_RELOC_MIPS_TLS_TPREL_LO16
   2352 ENUMX
   2353   BFD_RELOC_MICROMIPS_TLS_TPREL_LO16
   2354 ENUMX
   2355   BFD_RELOC_MIPS_EH
   2356 ENUMDOC
   2357   MIPS ELF relocations.
   2358 COMMENT
   2359 
   2360 ENUM
   2361   BFD_RELOC_MIPS_COPY
   2362 ENUMX
   2363   BFD_RELOC_MIPS_JUMP_SLOT
   2364 ENUMDOC
   2365   MIPS ELF relocations (VxWorks and PLT extensions).
   2366 COMMENT
   2367 
   2368 ENUM
   2369   BFD_RELOC_MOXIE_10_PCREL
   2370 ENUMDOC
   2371   Moxie ELF relocations.
   2372 COMMENT
   2373 
   2374 ENUM
   2375   BFD_RELOC_FT32_10
   2376 ENUMX
   2377   BFD_RELOC_FT32_20
   2378 ENUMX
   2379   BFD_RELOC_FT32_17
   2380 ENUMX
   2381   BFD_RELOC_FT32_18
   2382 ENUMX
   2383   BFD_RELOC_FT32_RELAX
   2384 ENUMX
   2385   BFD_RELOC_FT32_SC0
   2386 ENUMX
   2387   BFD_RELOC_FT32_SC1
   2388 ENUMX
   2389   BFD_RELOC_FT32_15
   2390 ENUMX
   2391   BFD_RELOC_FT32_DIFF32
   2392 ENUMDOC
   2393   FT32 ELF relocations.
   2394 COMMENT
   2395 
   2396 ENUM
   2397   BFD_RELOC_FRV_LABEL16
   2398 ENUMX
   2399   BFD_RELOC_FRV_LABEL24
   2400 ENUMX
   2401   BFD_RELOC_FRV_LO16
   2402 ENUMX
   2403   BFD_RELOC_FRV_HI16
   2404 ENUMX
   2405   BFD_RELOC_FRV_GPREL12
   2406 ENUMX
   2407   BFD_RELOC_FRV_GPRELU12
   2408 ENUMX
   2409   BFD_RELOC_FRV_GPREL32
   2410 ENUMX
   2411   BFD_RELOC_FRV_GPRELHI
   2412 ENUMX
   2413   BFD_RELOC_FRV_GPRELLO
   2414 ENUMX
   2415   BFD_RELOC_FRV_GOT12
   2416 ENUMX
   2417   BFD_RELOC_FRV_GOTHI
   2418 ENUMX
   2419   BFD_RELOC_FRV_GOTLO
   2420 ENUMX
   2421   BFD_RELOC_FRV_FUNCDESC
   2422 ENUMX
   2423   BFD_RELOC_FRV_FUNCDESC_GOT12
   2424 ENUMX
   2425   BFD_RELOC_FRV_FUNCDESC_GOTHI
   2426 ENUMX
   2427   BFD_RELOC_FRV_FUNCDESC_GOTLO
   2428 ENUMX
   2429   BFD_RELOC_FRV_FUNCDESC_VALUE
   2430 ENUMX
   2431   BFD_RELOC_FRV_FUNCDESC_GOTOFF12
   2432 ENUMX
   2433   BFD_RELOC_FRV_FUNCDESC_GOTOFFHI
   2434 ENUMX
   2435   BFD_RELOC_FRV_FUNCDESC_GOTOFFLO
   2436 ENUMX
   2437   BFD_RELOC_FRV_GOTOFF12
   2438 ENUMX
   2439   BFD_RELOC_FRV_GOTOFFHI
   2440 ENUMX
   2441   BFD_RELOC_FRV_GOTOFFLO
   2442 ENUMX
   2443   BFD_RELOC_FRV_GETTLSOFF
   2444 ENUMX
   2445   BFD_RELOC_FRV_TLSDESC_VALUE
   2446 ENUMX
   2447   BFD_RELOC_FRV_GOTTLSDESC12
   2448 ENUMX
   2449   BFD_RELOC_FRV_GOTTLSDESCHI
   2450 ENUMX
   2451   BFD_RELOC_FRV_GOTTLSDESCLO
   2452 ENUMX
   2453   BFD_RELOC_FRV_TLSMOFF12
   2454 ENUMX
   2455   BFD_RELOC_FRV_TLSMOFFHI
   2456 ENUMX
   2457   BFD_RELOC_FRV_TLSMOFFLO
   2458 ENUMX
   2459   BFD_RELOC_FRV_GOTTLSOFF12
   2460 ENUMX
   2461   BFD_RELOC_FRV_GOTTLSOFFHI
   2462 ENUMX
   2463   BFD_RELOC_FRV_GOTTLSOFFLO
   2464 ENUMX
   2465   BFD_RELOC_FRV_TLSOFF
   2466 ENUMX
   2467   BFD_RELOC_FRV_TLSDESC_RELAX
   2468 ENUMX
   2469   BFD_RELOC_FRV_GETTLSOFF_RELAX
   2470 ENUMX
   2471   BFD_RELOC_FRV_TLSOFF_RELAX
   2472 ENUMX
   2473   BFD_RELOC_FRV_TLSMOFF
   2474 ENUMDOC
   2475   Fujitsu Frv Relocations.
   2476 COMMENT
   2477 
   2478 ENUM
   2479   BFD_RELOC_MN10300_GOTOFF24
   2480 ENUMDOC
   2481   This is a 24bit GOT-relative reloc for the mn10300.
   2482 ENUM
   2483   BFD_RELOC_MN10300_GOT32
   2484 ENUMDOC
   2485   This is a 32bit GOT-relative reloc for the mn10300, offset by two bytes
   2486   in the instruction.
   2487 ENUM
   2488   BFD_RELOC_MN10300_GOT24
   2489 ENUMDOC
   2490   This is a 24bit GOT-relative reloc for the mn10300, offset by two bytes
   2491   in the instruction.
   2492 ENUM
   2493   BFD_RELOC_MN10300_GOT16
   2494 ENUMDOC
   2495   This is a 16bit GOT-relative reloc for the mn10300, offset by two bytes
   2496   in the instruction.
   2497 ENUM
   2498   BFD_RELOC_MN10300_COPY
   2499 ENUMDOC
   2500   Copy symbol at runtime.
   2501 ENUM
   2502   BFD_RELOC_MN10300_GLOB_DAT
   2503 ENUMDOC
   2504   Create GOT entry.
   2505 ENUM
   2506   BFD_RELOC_MN10300_JMP_SLOT
   2507 ENUMDOC
   2508   Create PLT entry.
   2509 ENUM
   2510   BFD_RELOC_MN10300_RELATIVE
   2511 ENUMDOC
   2512   Adjust by program base.
   2513 ENUM
   2514   BFD_RELOC_MN10300_SYM_DIFF
   2515 ENUMDOC
   2516   Together with another reloc targeted at the same location,
   2517   allows for a value that is the difference of two symbols
   2518   in the same section.
   2519 ENUM
   2520   BFD_RELOC_MN10300_ALIGN
   2521 ENUMDOC
   2522   The addend of this reloc is an alignment power that must
   2523   be honoured at the offset's location, regardless of linker
   2524   relaxation.
   2525 ENUM
   2526   BFD_RELOC_MN10300_TLS_GD
   2527 ENUMX
   2528   BFD_RELOC_MN10300_TLS_LD
   2529 ENUMX
   2530   BFD_RELOC_MN10300_TLS_LDO
   2531 ENUMX
   2532   BFD_RELOC_MN10300_TLS_GOTIE
   2533 ENUMX
   2534   BFD_RELOC_MN10300_TLS_IE
   2535 ENUMX
   2536   BFD_RELOC_MN10300_TLS_LE
   2537 ENUMX
   2538   BFD_RELOC_MN10300_TLS_DTPMOD
   2539 ENUMX
   2540   BFD_RELOC_MN10300_TLS_DTPOFF
   2541 ENUMX
   2542   BFD_RELOC_MN10300_TLS_TPOFF
   2543 ENUMDOC
   2544   Various TLS-related relocations.
   2545 ENUM
   2546   BFD_RELOC_MN10300_32_PCREL
   2547 ENUMDOC
   2548   This is a 32bit pcrel reloc for the mn10300, offset by two bytes in the
   2549   instruction.
   2550 ENUM
   2551   BFD_RELOC_MN10300_16_PCREL
   2552 ENUMDOC
   2553   This is a 16bit pcrel reloc for the mn10300, offset by two bytes in the
   2554   instruction.
   2555 COMMENT
   2556 
   2557 ENUM
   2558   BFD_RELOC_386_GOT32
   2559 ENUMX
   2560   BFD_RELOC_386_PLT32
   2561 ENUMX
   2562   BFD_RELOC_386_COPY
   2563 ENUMX
   2564   BFD_RELOC_386_GLOB_DAT
   2565 ENUMX
   2566   BFD_RELOC_386_JUMP_SLOT
   2567 ENUMX
   2568   BFD_RELOC_386_RELATIVE
   2569 ENUMX
   2570   BFD_RELOC_386_GOTOFF
   2571 ENUMX
   2572   BFD_RELOC_386_GOTPC
   2573 ENUMX
   2574   BFD_RELOC_386_TLS_TPOFF
   2575 ENUMX
   2576   BFD_RELOC_386_TLS_IE
   2577 ENUMX
   2578   BFD_RELOC_386_TLS_GOTIE
   2579 ENUMX
   2580   BFD_RELOC_386_TLS_LE
   2581 ENUMX
   2582   BFD_RELOC_386_TLS_GD
   2583 ENUMX
   2584   BFD_RELOC_386_TLS_LDM
   2585 ENUMX
   2586   BFD_RELOC_386_TLS_LDO_32
   2587 ENUMX
   2588   BFD_RELOC_386_TLS_IE_32
   2589 ENUMX
   2590   BFD_RELOC_386_TLS_LE_32
   2591 ENUMX
   2592   BFD_RELOC_386_TLS_DTPMOD32
   2593 ENUMX
   2594   BFD_RELOC_386_TLS_DTPOFF32
   2595 ENUMX
   2596   BFD_RELOC_386_TLS_TPOFF32
   2597 ENUMX
   2598   BFD_RELOC_386_TLS_GOTDESC
   2599 ENUMX
   2600   BFD_RELOC_386_TLS_DESC_CALL
   2601 ENUMX
   2602   BFD_RELOC_386_TLS_DESC
   2603 ENUMX
   2604   BFD_RELOC_386_IRELATIVE
   2605 ENUMX
   2606   BFD_RELOC_386_GOT32X
   2607 ENUMDOC
   2608   i386/elf relocations
   2609 
   2610 ENUM
   2611   BFD_RELOC_X86_64_GOT32
   2612 ENUMX
   2613   BFD_RELOC_X86_64_PLT32
   2614 ENUMX
   2615   BFD_RELOC_X86_64_COPY
   2616 ENUMX
   2617   BFD_RELOC_X86_64_GLOB_DAT
   2618 ENUMX
   2619   BFD_RELOC_X86_64_JUMP_SLOT
   2620 ENUMX
   2621   BFD_RELOC_X86_64_RELATIVE
   2622 ENUMX
   2623   BFD_RELOC_X86_64_GOTPCREL
   2624 ENUMX
   2625   BFD_RELOC_X86_64_32S
   2626 ENUMX
   2627   BFD_RELOC_X86_64_DTPMOD64
   2628 ENUMX
   2629   BFD_RELOC_X86_64_DTPOFF64
   2630 ENUMX
   2631   BFD_RELOC_X86_64_TPOFF64
   2632 ENUMX
   2633   BFD_RELOC_X86_64_TLSGD
   2634 ENUMX
   2635   BFD_RELOC_X86_64_TLSLD
   2636 ENUMX
   2637   BFD_RELOC_X86_64_DTPOFF32
   2638 ENUMX
   2639   BFD_RELOC_X86_64_GOTTPOFF
   2640 ENUMX
   2641   BFD_RELOC_X86_64_TPOFF32
   2642 ENUMX
   2643   BFD_RELOC_X86_64_GOTOFF64
   2644 ENUMX
   2645   BFD_RELOC_X86_64_GOTPC32
   2646 ENUMX
   2647   BFD_RELOC_X86_64_GOT64
   2648 ENUMX
   2649   BFD_RELOC_X86_64_GOTPCREL64
   2650 ENUMX
   2651   BFD_RELOC_X86_64_GOTPC64
   2652 ENUMX
   2653   BFD_RELOC_X86_64_GOTPLT64
   2654 ENUMX
   2655   BFD_RELOC_X86_64_PLTOFF64
   2656 ENUMX
   2657   BFD_RELOC_X86_64_GOTPC32_TLSDESC
   2658 ENUMX
   2659   BFD_RELOC_X86_64_TLSDESC_CALL
   2660 ENUMX
   2661   BFD_RELOC_X86_64_TLSDESC
   2662 ENUMX
   2663   BFD_RELOC_X86_64_IRELATIVE
   2664 ENUMX
   2665   BFD_RELOC_X86_64_PC32_BND
   2666 ENUMX
   2667   BFD_RELOC_X86_64_PLT32_BND
   2668 ENUMX
   2669   BFD_RELOC_X86_64_GOTPCRELX
   2670 ENUMX
   2671   BFD_RELOC_X86_64_REX_GOTPCRELX
   2672 ENUMDOC
   2673   x86-64/elf relocations
   2674 
   2675 ENUM
   2676   BFD_RELOC_NS32K_IMM_8
   2677 ENUMX
   2678   BFD_RELOC_NS32K_IMM_16
   2679 ENUMX
   2680   BFD_RELOC_NS32K_IMM_32
   2681 ENUMX
   2682   BFD_RELOC_NS32K_IMM_8_PCREL
   2683 ENUMX
   2684   BFD_RELOC_NS32K_IMM_16_PCREL
   2685 ENUMX
   2686   BFD_RELOC_NS32K_IMM_32_PCREL
   2687 ENUMX
   2688   BFD_RELOC_NS32K_DISP_8
   2689 ENUMX
   2690   BFD_RELOC_NS32K_DISP_16
   2691 ENUMX
   2692   BFD_RELOC_NS32K_DISP_32
   2693 ENUMX
   2694   BFD_RELOC_NS32K_DISP_8_PCREL
   2695 ENUMX
   2696   BFD_RELOC_NS32K_DISP_16_PCREL
   2697 ENUMX
   2698   BFD_RELOC_NS32K_DISP_32_PCREL
   2699 ENUMDOC
   2700   ns32k relocations
   2701 
   2702 ENUM
   2703   BFD_RELOC_PDP11_DISP_8_PCREL
   2704 ENUMX
   2705   BFD_RELOC_PDP11_DISP_6_PCREL
   2706 ENUMDOC
   2707   PDP11 relocations
   2708 
   2709 ENUM
   2710   BFD_RELOC_PJ_CODE_HI16
   2711 ENUMX
   2712   BFD_RELOC_PJ_CODE_LO16
   2713 ENUMX
   2714   BFD_RELOC_PJ_CODE_DIR16
   2715 ENUMX
   2716   BFD_RELOC_PJ_CODE_DIR32
   2717 ENUMX
   2718   BFD_RELOC_PJ_CODE_REL16
   2719 ENUMX
   2720   BFD_RELOC_PJ_CODE_REL32
   2721 ENUMDOC
   2722   Picojava relocs.  Not all of these appear in object files.
   2723 
   2724 ENUM
   2725   BFD_RELOC_PPC_B26
   2726 ENUMX
   2727   BFD_RELOC_PPC_BA26
   2728 ENUMX
   2729   BFD_RELOC_PPC_TOC16
   2730 ENUMX
   2731   BFD_RELOC_PPC_TOC16_LO
   2732 ENUMX
   2733   BFD_RELOC_PPC_TOC16_HI
   2734 ENUMX
   2735   BFD_RELOC_PPC_B16
   2736 ENUMX
   2737   BFD_RELOC_PPC_B16_BRTAKEN
   2738 ENUMX
   2739   BFD_RELOC_PPC_B16_BRNTAKEN
   2740 ENUMX
   2741   BFD_RELOC_PPC_BA16
   2742 ENUMX
   2743   BFD_RELOC_PPC_BA16_BRTAKEN
   2744 ENUMX
   2745   BFD_RELOC_PPC_BA16_BRNTAKEN
   2746 ENUMX
   2747   BFD_RELOC_PPC_COPY
   2748 ENUMX
   2749   BFD_RELOC_PPC_GLOB_DAT
   2750 ENUMX
   2751   BFD_RELOC_PPC_JMP_SLOT
   2752 ENUMX
   2753   BFD_RELOC_PPC_RELATIVE
   2754 ENUMX
   2755   BFD_RELOC_PPC_LOCAL24PC
   2756 ENUMX
   2757   BFD_RELOC_PPC_EMB_NADDR32
   2758 ENUMX
   2759   BFD_RELOC_PPC_EMB_NADDR16
   2760 ENUMX
   2761   BFD_RELOC_PPC_EMB_NADDR16_LO
   2762 ENUMX
   2763   BFD_RELOC_PPC_EMB_NADDR16_HI
   2764 ENUMX
   2765   BFD_RELOC_PPC_EMB_NADDR16_HA
   2766 ENUMX
   2767   BFD_RELOC_PPC_EMB_SDAI16
   2768 ENUMX
   2769   BFD_RELOC_PPC_EMB_SDA2I16
   2770 ENUMX
   2771   BFD_RELOC_PPC_EMB_SDA2REL
   2772 ENUMX
   2773   BFD_RELOC_PPC_EMB_SDA21
   2774 ENUMX
   2775   BFD_RELOC_PPC_EMB_MRKREF
   2776 ENUMX
   2777   BFD_RELOC_PPC_EMB_RELSEC16
   2778 ENUMX
   2779   BFD_RELOC_PPC_EMB_RELST_LO
   2780 ENUMX
   2781   BFD_RELOC_PPC_EMB_RELST_HI
   2782 ENUMX
   2783   BFD_RELOC_PPC_EMB_RELST_HA
   2784 ENUMX
   2785   BFD_RELOC_PPC_EMB_BIT_FLD
   2786 ENUMX
   2787   BFD_RELOC_PPC_EMB_RELSDA
   2788 ENUMX
   2789   BFD_RELOC_PPC_VLE_REL8
   2790 ENUMX
   2791   BFD_RELOC_PPC_VLE_REL15
   2792 ENUMX
   2793   BFD_RELOC_PPC_VLE_REL24
   2794 ENUMX
   2795   BFD_RELOC_PPC_VLE_LO16A
   2796 ENUMX
   2797   BFD_RELOC_PPC_VLE_LO16D
   2798 ENUMX
   2799   BFD_RELOC_PPC_VLE_HI16A
   2800 ENUMX
   2801   BFD_RELOC_PPC_VLE_HI16D
   2802 ENUMX
   2803   BFD_RELOC_PPC_VLE_HA16A
   2804 ENUMX
   2805   BFD_RELOC_PPC_VLE_HA16D
   2806 ENUMX
   2807   BFD_RELOC_PPC_VLE_SDA21
   2808 ENUMX
   2809   BFD_RELOC_PPC_VLE_SDA21_LO
   2810 ENUMX
   2811   BFD_RELOC_PPC_VLE_SDAREL_LO16A
   2812 ENUMX
   2813   BFD_RELOC_PPC_VLE_SDAREL_LO16D
   2814 ENUMX
   2815   BFD_RELOC_PPC_VLE_SDAREL_HI16A
   2816 ENUMX
   2817   BFD_RELOC_PPC_VLE_SDAREL_HI16D
   2818 ENUMX
   2819   BFD_RELOC_PPC_VLE_SDAREL_HA16A
   2820 ENUMX
   2821   BFD_RELOC_PPC_VLE_SDAREL_HA16D
   2822 ENUMX
   2823   BFD_RELOC_PPC_16DX_HA
   2824 ENUMX
   2825   BFD_RELOC_PPC_REL16DX_HA
   2826 ENUMX
   2827   BFD_RELOC_PPC_NEG
   2828 ENUMX
   2829   BFD_RELOC_PPC64_HIGHER
   2830 ENUMX
   2831   BFD_RELOC_PPC64_HIGHER_S
   2832 ENUMX
   2833   BFD_RELOC_PPC64_HIGHEST
   2834 ENUMX
   2835   BFD_RELOC_PPC64_HIGHEST_S
   2836 ENUMX
   2837   BFD_RELOC_PPC64_TOC16_LO
   2838 ENUMX
   2839   BFD_RELOC_PPC64_TOC16_HI
   2840 ENUMX
   2841   BFD_RELOC_PPC64_TOC16_HA
   2842 ENUMX
   2843   BFD_RELOC_PPC64_TOC
   2844 ENUMX
   2845   BFD_RELOC_PPC64_PLTGOT16
   2846 ENUMX
   2847   BFD_RELOC_PPC64_PLTGOT16_LO
   2848 ENUMX
   2849   BFD_RELOC_PPC64_PLTGOT16_HI
   2850 ENUMX
   2851   BFD_RELOC_PPC64_PLTGOT16_HA
   2852 ENUMX
   2853   BFD_RELOC_PPC64_ADDR16_DS
   2854 ENUMX
   2855   BFD_RELOC_PPC64_ADDR16_LO_DS
   2856 ENUMX
   2857   BFD_RELOC_PPC64_GOT16_DS
   2858 ENUMX
   2859   BFD_RELOC_PPC64_GOT16_LO_DS
   2860 ENUMX
   2861   BFD_RELOC_PPC64_PLT16_LO_DS
   2862 ENUMX
   2863   BFD_RELOC_PPC64_SECTOFF_DS
   2864 ENUMX
   2865   BFD_RELOC_PPC64_SECTOFF_LO_DS
   2866 ENUMX
   2867   BFD_RELOC_PPC64_TOC16_DS
   2868 ENUMX
   2869   BFD_RELOC_PPC64_TOC16_LO_DS
   2870 ENUMX
   2871   BFD_RELOC_PPC64_PLTGOT16_DS
   2872 ENUMX
   2873   BFD_RELOC_PPC64_PLTGOT16_LO_DS
   2874 ENUMX
   2875   BFD_RELOC_PPC64_ADDR16_HIGH
   2876 ENUMX
   2877   BFD_RELOC_PPC64_ADDR16_HIGHA
   2878 ENUMX
   2879   BFD_RELOC_PPC64_REL16_HIGH
   2880 ENUMX
   2881   BFD_RELOC_PPC64_REL16_HIGHA
   2882 ENUMX
   2883   BFD_RELOC_PPC64_REL16_HIGHER
   2884 ENUMX
   2885   BFD_RELOC_PPC64_REL16_HIGHERA
   2886 ENUMX
   2887   BFD_RELOC_PPC64_REL16_HIGHEST
   2888 ENUMX
   2889   BFD_RELOC_PPC64_REL16_HIGHESTA
   2890 ENUMX
   2891   BFD_RELOC_PPC64_ADDR64_LOCAL
   2892 ENUMX
   2893   BFD_RELOC_PPC64_ENTRY
   2894 ENUMX
   2895   BFD_RELOC_PPC64_REL24_NOTOC
   2896 ENUMX
   2897   BFD_RELOC_PPC64_REL24_P9NOTOC
   2898 ENUMX
   2899   BFD_RELOC_PPC64_D34
   2900 ENUMX
   2901   BFD_RELOC_PPC64_D34_LO
   2902 ENUMX
   2903   BFD_RELOC_PPC64_D34_HI30
   2904 ENUMX
   2905   BFD_RELOC_PPC64_D34_HA30
   2906 ENUMX
   2907   BFD_RELOC_PPC64_PCREL34
   2908 ENUMX
   2909   BFD_RELOC_PPC64_GOT_PCREL34
   2910 ENUMX
   2911   BFD_RELOC_PPC64_PLT_PCREL34
   2912 ENUMX
   2913   BFD_RELOC_PPC64_ADDR16_HIGHER34
   2914 ENUMX
   2915   BFD_RELOC_PPC64_ADDR16_HIGHERA34
   2916 ENUMX
   2917   BFD_RELOC_PPC64_ADDR16_HIGHEST34
   2918 ENUMX
   2919   BFD_RELOC_PPC64_ADDR16_HIGHESTA34
   2920 ENUMX
   2921   BFD_RELOC_PPC64_REL16_HIGHER34
   2922 ENUMX
   2923   BFD_RELOC_PPC64_REL16_HIGHERA34
   2924 ENUMX
   2925   BFD_RELOC_PPC64_REL16_HIGHEST34
   2926 ENUMX
   2927   BFD_RELOC_PPC64_REL16_HIGHESTA34
   2928 ENUMX
   2929   BFD_RELOC_PPC64_D28
   2930 ENUMX
   2931   BFD_RELOC_PPC64_PCREL28
   2932 ENUMDOC
   2933   Power(rs6000) and PowerPC relocations.
   2934 
   2935 ENUM
   2936   BFD_RELOC_PPC_TLS
   2937 ENUMX
   2938   BFD_RELOC_PPC_TLSGD
   2939 ENUMX
   2940   BFD_RELOC_PPC_TLSLD
   2941 ENUMX
   2942   BFD_RELOC_PPC_TLSLE
   2943 ENUMX
   2944   BFD_RELOC_PPC_TLSIE
   2945 ENUMX
   2946   BFD_RELOC_PPC_TLSM
   2947 ENUMX
   2948   BFD_RELOC_PPC_TLSML
   2949 ENUMX
   2950   BFD_RELOC_PPC_DTPMOD
   2951 ENUMX
   2952   BFD_RELOC_PPC_TPREL16
   2953 ENUMX
   2954   BFD_RELOC_PPC_TPREL16_LO
   2955 ENUMX
   2956   BFD_RELOC_PPC_TPREL16_HI
   2957 ENUMX
   2958   BFD_RELOC_PPC_TPREL16_HA
   2959 ENUMX
   2960   BFD_RELOC_PPC_TPREL
   2961 ENUMX
   2962   BFD_RELOC_PPC_DTPREL16
   2963 ENUMX
   2964   BFD_RELOC_PPC_DTPREL16_LO
   2965 ENUMX
   2966   BFD_RELOC_PPC_DTPREL16_HI
   2967 ENUMX
   2968   BFD_RELOC_PPC_DTPREL16_HA
   2969 ENUMX
   2970   BFD_RELOC_PPC_DTPREL
   2971 ENUMX
   2972   BFD_RELOC_PPC_GOT_TLSGD16
   2973 ENUMX
   2974   BFD_RELOC_PPC_GOT_TLSGD16_LO
   2975 ENUMX
   2976   BFD_RELOC_PPC_GOT_TLSGD16_HI
   2977 ENUMX
   2978   BFD_RELOC_PPC_GOT_TLSGD16_HA
   2979 ENUMX
   2980   BFD_RELOC_PPC_GOT_TLSLD16
   2981 ENUMX
   2982   BFD_RELOC_PPC_GOT_TLSLD16_LO
   2983 ENUMX
   2984   BFD_RELOC_PPC_GOT_TLSLD16_HI
   2985 ENUMX
   2986   BFD_RELOC_PPC_GOT_TLSLD16_HA
   2987 ENUMX
   2988   BFD_RELOC_PPC_GOT_TPREL16
   2989 ENUMX
   2990   BFD_RELOC_PPC_GOT_TPREL16_LO
   2991 ENUMX
   2992   BFD_RELOC_PPC_GOT_TPREL16_HI
   2993 ENUMX
   2994   BFD_RELOC_PPC_GOT_TPREL16_HA
   2995 ENUMX
   2996   BFD_RELOC_PPC_GOT_DTPREL16
   2997 ENUMX
   2998   BFD_RELOC_PPC_GOT_DTPREL16_LO
   2999 ENUMX
   3000   BFD_RELOC_PPC_GOT_DTPREL16_HI
   3001 ENUMX
   3002   BFD_RELOC_PPC_GOT_DTPREL16_HA
   3003 ENUMX
   3004   BFD_RELOC_PPC64_TLSGD
   3005 ENUMX
   3006   BFD_RELOC_PPC64_TLSLD
   3007 ENUMX
   3008   BFD_RELOC_PPC64_TLSLE
   3009 ENUMX
   3010   BFD_RELOC_PPC64_TLSIE
   3011 ENUMX
   3012   BFD_RELOC_PPC64_TLSM
   3013 ENUMX
   3014   BFD_RELOC_PPC64_TLSML
   3015 ENUMX
   3016   BFD_RELOC_PPC64_TPREL16_DS
   3017 ENUMX
   3018   BFD_RELOC_PPC64_TPREL16_LO_DS
   3019 ENUMX
   3020   BFD_RELOC_PPC64_TPREL16_HIGH
   3021 ENUMX
   3022   BFD_RELOC_PPC64_TPREL16_HIGHA
   3023 ENUMX
   3024   BFD_RELOC_PPC64_TPREL16_HIGHER
   3025 ENUMX
   3026   BFD_RELOC_PPC64_TPREL16_HIGHERA
   3027 ENUMX
   3028   BFD_RELOC_PPC64_TPREL16_HIGHEST
   3029 ENUMX
   3030   BFD_RELOC_PPC64_TPREL16_HIGHESTA
   3031 ENUMX
   3032   BFD_RELOC_PPC64_DTPREL16_DS
   3033 ENUMX
   3034   BFD_RELOC_PPC64_DTPREL16_LO_DS
   3035 ENUMX
   3036   BFD_RELOC_PPC64_DTPREL16_HIGH
   3037 ENUMX
   3038   BFD_RELOC_PPC64_DTPREL16_HIGHA
   3039 ENUMX
   3040   BFD_RELOC_PPC64_DTPREL16_HIGHER
   3041 ENUMX
   3042   BFD_RELOC_PPC64_DTPREL16_HIGHERA
   3043 ENUMX
   3044   BFD_RELOC_PPC64_DTPREL16_HIGHEST
   3045 ENUMX
   3046   BFD_RELOC_PPC64_DTPREL16_HIGHESTA
   3047 ENUMX
   3048   BFD_RELOC_PPC64_TPREL34
   3049 ENUMX
   3050   BFD_RELOC_PPC64_DTPREL34
   3051 ENUMX
   3052   BFD_RELOC_PPC64_GOT_TLSGD_PCREL34
   3053 ENUMX
   3054   BFD_RELOC_PPC64_GOT_TLSLD_PCREL34
   3055 ENUMX
   3056   BFD_RELOC_PPC64_GOT_TPREL_PCREL34
   3057 ENUMX
   3058   BFD_RELOC_PPC64_GOT_DTPREL_PCREL34
   3059 ENUMX
   3060   BFD_RELOC_PPC64_TLS_PCREL
   3061 ENUMDOC
   3062   PowerPC and PowerPC64 thread-local storage relocations.
   3063 
   3064 ENUM
   3065   BFD_RELOC_I370_D12
   3066 ENUMDOC
   3067   IBM 370/390 relocations
   3068 
   3069 ENUM
   3070   BFD_RELOC_CTOR
   3071 ENUMDOC
   3072   The type of reloc used to build a constructor table - at the moment
   3073   probably a 32 bit wide absolute relocation, but the target can choose.
   3074   It generally does map to one of the other relocation types.
   3075 
   3076 ENUM
   3077   BFD_RELOC_ARM_PCREL_BRANCH
   3078 ENUMDOC
   3079   ARM 26 bit pc-relative branch.  The lowest two bits must be zero and are
   3080   not stored in the instruction.
   3081 ENUM
   3082   BFD_RELOC_ARM_PCREL_BLX
   3083 ENUMDOC
   3084   ARM 26 bit pc-relative branch.  The lowest bit must be zero and is
   3085   not stored in the instruction.  The 2nd lowest bit comes from a 1 bit
   3086   field in the instruction.
   3087 ENUM
   3088   BFD_RELOC_THUMB_PCREL_BLX
   3089 ENUMDOC
   3090   Thumb 22 bit pc-relative branch.  The lowest bit must be zero and is
   3091   not stored in the instruction.  The 2nd lowest bit comes from a 1 bit
   3092   field in the instruction.
   3093 ENUM
   3094   BFD_RELOC_ARM_PCREL_CALL
   3095 ENUMDOC
   3096   ARM 26-bit pc-relative branch for an unconditional BL or BLX instruction.
   3097 ENUM
   3098   BFD_RELOC_ARM_PCREL_JUMP
   3099 ENUMDOC
   3100   ARM 26-bit pc-relative branch for B or conditional BL instruction.
   3101 
   3102 ENUM
   3103   BFD_RELOC_THUMB_PCREL_BRANCH5
   3104 ENUMDOC
   3105   ARM 5-bit pc-relative branch for Branch Future instructions.
   3106 
   3107 ENUM
   3108   BFD_RELOC_THUMB_PCREL_BFCSEL
   3109 ENUMDOC
   3110   ARM 6-bit pc-relative branch for BFCSEL instruction.
   3111 
   3112 ENUM
   3113   BFD_RELOC_ARM_THUMB_BF17
   3114 ENUMDOC
   3115   ARM 17-bit pc-relative branch for Branch Future instructions.
   3116 
   3117 ENUM
   3118   BFD_RELOC_ARM_THUMB_BF13
   3119 ENUMDOC
   3120   ARM 13-bit pc-relative branch for BFCSEL instruction.
   3121 
   3122 ENUM
   3123   BFD_RELOC_ARM_THUMB_BF19
   3124 ENUMDOC
   3125   ARM 19-bit pc-relative branch for Branch Future Link instruction.
   3126 
   3127 ENUM
   3128   BFD_RELOC_ARM_THUMB_LOOP12
   3129 ENUMDOC
   3130   ARM 12-bit pc-relative branch for Low Overhead Loop instructions.
   3131 
   3132 ENUM
   3133   BFD_RELOC_THUMB_PCREL_BRANCH7
   3134 ENUMX
   3135   BFD_RELOC_THUMB_PCREL_BRANCH9
   3136 ENUMX
   3137   BFD_RELOC_THUMB_PCREL_BRANCH12
   3138 ENUMX
   3139   BFD_RELOC_THUMB_PCREL_BRANCH20
   3140 ENUMX
   3141   BFD_RELOC_THUMB_PCREL_BRANCH23
   3142 ENUMX
   3143   BFD_RELOC_THUMB_PCREL_BRANCH25
   3144 ENUMDOC
   3145   Thumb 7-, 9-, 12-, 20-, 23-, and 25-bit pc-relative branches.
   3146   The lowest bit must be zero and is not stored in the instruction.
   3147   Note that the corresponding ELF R_ARM_THM_JUMPnn constant has an
   3148   "nn" one smaller in all cases.  Note further that BRANCH23
   3149   corresponds to R_ARM_THM_CALL.
   3150 
   3151 ENUM
   3152   BFD_RELOC_ARM_OFFSET_IMM
   3153 ENUMDOC
   3154   12-bit immediate offset, used in ARM-format ldr and str instructions.
   3155 
   3156 ENUM
   3157   BFD_RELOC_ARM_THUMB_OFFSET
   3158 ENUMDOC
   3159   5-bit immediate offset, used in Thumb-format ldr and str instructions.
   3160 
   3161 ENUM
   3162   BFD_RELOC_ARM_TARGET1
   3163 ENUMDOC
   3164   Pc-relative or absolute relocation depending on target.  Used for
   3165   entries in .init_array sections.
   3166 ENUM
   3167   BFD_RELOC_ARM_ROSEGREL32
   3168 ENUMDOC
   3169   Read-only segment base relative address.
   3170 ENUM
   3171   BFD_RELOC_ARM_SBREL32
   3172 ENUMDOC
   3173   Data segment base relative address.
   3174 ENUM
   3175   BFD_RELOC_ARM_TARGET2
   3176 ENUMDOC
   3177   This reloc is used for references to RTTI data from exception handling
   3178   tables.  The actual definition depends on the target.  It may be a
   3179   pc-relative or some form of GOT-indirect relocation.
   3180 ENUM
   3181   BFD_RELOC_ARM_PREL31
   3182 ENUMDOC
   3183   31-bit PC relative address.
   3184 ENUM
   3185   BFD_RELOC_ARM_MOVW
   3186 ENUMX
   3187   BFD_RELOC_ARM_MOVT
   3188 ENUMX
   3189   BFD_RELOC_ARM_MOVW_PCREL
   3190 ENUMX
   3191   BFD_RELOC_ARM_MOVT_PCREL
   3192 ENUMX
   3193   BFD_RELOC_ARM_THUMB_MOVW
   3194 ENUMX
   3195   BFD_RELOC_ARM_THUMB_MOVT
   3196 ENUMX
   3197   BFD_RELOC_ARM_THUMB_MOVW_PCREL
   3198 ENUMX
   3199   BFD_RELOC_ARM_THUMB_MOVT_PCREL
   3200 ENUMDOC
   3201   Low and High halfword relocations for MOVW and MOVT instructions.
   3202 
   3203 ENUM
   3204   BFD_RELOC_ARM_GOTFUNCDESC
   3205 ENUMX
   3206   BFD_RELOC_ARM_GOTOFFFUNCDESC
   3207 ENUMX
   3208   BFD_RELOC_ARM_FUNCDESC
   3209 ENUMX
   3210   BFD_RELOC_ARM_FUNCDESC_VALUE
   3211 ENUMX
   3212   BFD_RELOC_ARM_TLS_GD32_FDPIC
   3213 ENUMX
   3214   BFD_RELOC_ARM_TLS_LDM32_FDPIC
   3215 ENUMX
   3216   BFD_RELOC_ARM_TLS_IE32_FDPIC
   3217 ENUMDOC
   3218   ARM FDPIC specific relocations.
   3219 
   3220 ENUM
   3221   BFD_RELOC_ARM_JUMP_SLOT
   3222 ENUMX
   3223   BFD_RELOC_ARM_GLOB_DAT
   3224 ENUMX
   3225   BFD_RELOC_ARM_GOT32
   3226 ENUMX
   3227   BFD_RELOC_ARM_PLT32
   3228 ENUMX
   3229   BFD_RELOC_ARM_RELATIVE
   3230 ENUMX
   3231   BFD_RELOC_ARM_GOTOFF
   3232 ENUMX
   3233   BFD_RELOC_ARM_GOTPC
   3234 ENUMX
   3235   BFD_RELOC_ARM_GOT_PREL
   3236 ENUMDOC
   3237   Relocations for setting up GOTs and PLTs for shared libraries.
   3238 
   3239 ENUM
   3240   BFD_RELOC_ARM_TLS_GD32
   3241 ENUMX
   3242   BFD_RELOC_ARM_TLS_LDO32
   3243 ENUMX
   3244   BFD_RELOC_ARM_TLS_LDM32
   3245 ENUMX
   3246   BFD_RELOC_ARM_TLS_DTPOFF32
   3247 ENUMX
   3248   BFD_RELOC_ARM_TLS_DTPMOD32
   3249 ENUMX
   3250   BFD_RELOC_ARM_TLS_TPOFF32
   3251 ENUMX
   3252   BFD_RELOC_ARM_TLS_IE32
   3253 ENUMX
   3254   BFD_RELOC_ARM_TLS_LE32
   3255 ENUMX
   3256   BFD_RELOC_ARM_TLS_GOTDESC
   3257 ENUMX
   3258   BFD_RELOC_ARM_TLS_CALL
   3259 ENUMX
   3260   BFD_RELOC_ARM_THM_TLS_CALL
   3261 ENUMX
   3262   BFD_RELOC_ARM_TLS_DESCSEQ
   3263 ENUMX
   3264   BFD_RELOC_ARM_THM_TLS_DESCSEQ
   3265 ENUMX
   3266   BFD_RELOC_ARM_TLS_DESC
   3267 ENUMDOC
   3268   ARM thread-local storage relocations.
   3269 
   3270 ENUM
   3271   BFD_RELOC_ARM_ALU_PC_G0_NC
   3272 ENUMX
   3273   BFD_RELOC_ARM_ALU_PC_G0
   3274 ENUMX
   3275   BFD_RELOC_ARM_ALU_PC_G1_NC
   3276 ENUMX
   3277   BFD_RELOC_ARM_ALU_PC_G1
   3278 ENUMX
   3279   BFD_RELOC_ARM_ALU_PC_G2
   3280 ENUMX
   3281   BFD_RELOC_ARM_LDR_PC_G0
   3282 ENUMX
   3283   BFD_RELOC_ARM_LDR_PC_G1
   3284 ENUMX
   3285   BFD_RELOC_ARM_LDR_PC_G2
   3286 ENUMX
   3287   BFD_RELOC_ARM_LDRS_PC_G0
   3288 ENUMX
   3289   BFD_RELOC_ARM_LDRS_PC_G1
   3290 ENUMX
   3291   BFD_RELOC_ARM_LDRS_PC_G2
   3292 ENUMX
   3293   BFD_RELOC_ARM_LDC_PC_G0
   3294 ENUMX
   3295   BFD_RELOC_ARM_LDC_PC_G1
   3296 ENUMX
   3297   BFD_RELOC_ARM_LDC_PC_G2
   3298 ENUMX
   3299   BFD_RELOC_ARM_ALU_SB_G0_NC
   3300 ENUMX
   3301   BFD_RELOC_ARM_ALU_SB_G0
   3302 ENUMX
   3303   BFD_RELOC_ARM_ALU_SB_G1_NC
   3304 ENUMX
   3305   BFD_RELOC_ARM_ALU_SB_G1
   3306 ENUMX
   3307   BFD_RELOC_ARM_ALU_SB_G2
   3308 ENUMX
   3309   BFD_RELOC_ARM_LDR_SB_G0
   3310 ENUMX
   3311   BFD_RELOC_ARM_LDR_SB_G1
   3312 ENUMX
   3313   BFD_RELOC_ARM_LDR_SB_G2
   3314 ENUMX
   3315   BFD_RELOC_ARM_LDRS_SB_G0
   3316 ENUMX
   3317   BFD_RELOC_ARM_LDRS_SB_G1
   3318 ENUMX
   3319   BFD_RELOC_ARM_LDRS_SB_G2
   3320 ENUMX
   3321   BFD_RELOC_ARM_LDC_SB_G0
   3322 ENUMX
   3323   BFD_RELOC_ARM_LDC_SB_G1
   3324 ENUMX
   3325   BFD_RELOC_ARM_LDC_SB_G2
   3326 ENUMDOC
   3327   ARM group relocations.
   3328 
   3329 ENUM
   3330   BFD_RELOC_ARM_V4BX
   3331 ENUMDOC
   3332   Annotation of BX instructions.
   3333 
   3334 ENUM
   3335   BFD_RELOC_ARM_IRELATIVE
   3336 ENUMDOC
   3337   ARM support for STT_GNU_IFUNC.
   3338 
   3339 ENUM
   3340   BFD_RELOC_ARM_THUMB_ALU_ABS_G0_NC
   3341 ENUMX
   3342   BFD_RELOC_ARM_THUMB_ALU_ABS_G1_NC
   3343 ENUMX
   3344   BFD_RELOC_ARM_THUMB_ALU_ABS_G2_NC
   3345 ENUMX
   3346   BFD_RELOC_ARM_THUMB_ALU_ABS_G3_NC
   3347 ENUMDOC
   3348   Thumb1 relocations to support execute-only code.
   3349 
   3350 ENUM
   3351   BFD_RELOC_ARM_IMMEDIATE
   3352 ENUMX
   3353   BFD_RELOC_ARM_ADRL_IMMEDIATE
   3354 ENUMX
   3355   BFD_RELOC_ARM_T32_IMMEDIATE
   3356 ENUMX
   3357   BFD_RELOC_ARM_T32_ADD_IMM
   3358 ENUMX
   3359   BFD_RELOC_ARM_T32_IMM12
   3360 ENUMX
   3361   BFD_RELOC_ARM_T32_ADD_PC12
   3362 ENUMX
   3363   BFD_RELOC_ARM_SHIFT_IMM
   3364 ENUMX
   3365   BFD_RELOC_ARM_SMC
   3366 ENUMX
   3367   BFD_RELOC_ARM_HVC
   3368 ENUMX
   3369   BFD_RELOC_ARM_SWI
   3370 ENUMX
   3371   BFD_RELOC_ARM_MULTI
   3372 ENUMX
   3373   BFD_RELOC_ARM_CP_OFF_IMM
   3374 ENUMX
   3375   BFD_RELOC_ARM_CP_OFF_IMM_S2
   3376 ENUMX
   3377   BFD_RELOC_ARM_T32_CP_OFF_IMM
   3378 ENUMX
   3379   BFD_RELOC_ARM_T32_CP_OFF_IMM_S2
   3380 ENUMX
   3381   BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM
   3382 ENUMX
   3383   BFD_RELOC_ARM_ADR_IMM
   3384 ENUMX
   3385   BFD_RELOC_ARM_LDR_IMM
   3386 ENUMX
   3387   BFD_RELOC_ARM_LITERAL
   3388 ENUMX
   3389   BFD_RELOC_ARM_IN_POOL
   3390 ENUMX
   3391   BFD_RELOC_ARM_OFFSET_IMM8
   3392 ENUMX
   3393   BFD_RELOC_ARM_T32_OFFSET_U8
   3394 ENUMX
   3395   BFD_RELOC_ARM_T32_OFFSET_IMM
   3396 ENUMX
   3397   BFD_RELOC_ARM_HWLITERAL
   3398 ENUMX
   3399   BFD_RELOC_ARM_THUMB_ADD
   3400 ENUMX
   3401   BFD_RELOC_ARM_THUMB_IMM
   3402 ENUMX
   3403   BFD_RELOC_ARM_THUMB_SHIFT
   3404 ENUMDOC
   3405   These relocs are only used within the ARM assembler.  They are not
   3406   (at present) written to any object files.
   3407 
   3408 ENUM
   3409   BFD_RELOC_SH_PCDISP8BY2
   3410 ENUMX
   3411   BFD_RELOC_SH_PCDISP12BY2
   3412 ENUMX
   3413   BFD_RELOC_SH_IMM3
   3414 ENUMX
   3415   BFD_RELOC_SH_IMM3U
   3416 ENUMX
   3417   BFD_RELOC_SH_DISP12
   3418 ENUMX
   3419   BFD_RELOC_SH_DISP12BY2
   3420 ENUMX
   3421   BFD_RELOC_SH_DISP12BY4
   3422 ENUMX
   3423   BFD_RELOC_SH_DISP12BY8
   3424 ENUMX
   3425   BFD_RELOC_SH_DISP20
   3426 ENUMX
   3427   BFD_RELOC_SH_DISP20BY8
   3428 ENUMX
   3429   BFD_RELOC_SH_IMM4
   3430 ENUMX
   3431   BFD_RELOC_SH_IMM4BY2
   3432 ENUMX
   3433   BFD_RELOC_SH_IMM4BY4
   3434 ENUMX
   3435   BFD_RELOC_SH_IMM8
   3436 ENUMX
   3437   BFD_RELOC_SH_IMM8BY2
   3438 ENUMX
   3439   BFD_RELOC_SH_IMM8BY4
   3440 ENUMX
   3441   BFD_RELOC_SH_PCRELIMM8BY2
   3442 ENUMX
   3443   BFD_RELOC_SH_PCRELIMM8BY4
   3444 ENUMX
   3445   BFD_RELOC_SH_SWITCH16
   3446 ENUMX
   3447   BFD_RELOC_SH_SWITCH32
   3448 ENUMX
   3449   BFD_RELOC_SH_USES
   3450 ENUMX
   3451   BFD_RELOC_SH_COUNT
   3452 ENUMX
   3453   BFD_RELOC_SH_ALIGN
   3454 ENUMX
   3455   BFD_RELOC_SH_CODE
   3456 ENUMX
   3457   BFD_RELOC_SH_DATA
   3458 ENUMX
   3459   BFD_RELOC_SH_LABEL
   3460 ENUMX
   3461   BFD_RELOC_SH_LOOP_START
   3462 ENUMX
   3463   BFD_RELOC_SH_LOOP_END
   3464 ENUMX
   3465   BFD_RELOC_SH_COPY
   3466 ENUMX
   3467   BFD_RELOC_SH_GLOB_DAT
   3468 ENUMX
   3469   BFD_RELOC_SH_JMP_SLOT
   3470 ENUMX
   3471   BFD_RELOC_SH_RELATIVE
   3472 ENUMX
   3473   BFD_RELOC_SH_GOTPC
   3474 ENUMX
   3475   BFD_RELOC_SH_GOT_LOW16
   3476 ENUMX
   3477   BFD_RELOC_SH_GOT_MEDLOW16
   3478 ENUMX
   3479   BFD_RELOC_SH_GOT_MEDHI16
   3480 ENUMX
   3481   BFD_RELOC_SH_GOT_HI16
   3482 ENUMX
   3483   BFD_RELOC_SH_GOTPLT_LOW16
   3484 ENUMX
   3485   BFD_RELOC_SH_GOTPLT_MEDLOW16
   3486 ENUMX
   3487   BFD_RELOC_SH_GOTPLT_MEDHI16
   3488 ENUMX
   3489   BFD_RELOC_SH_GOTPLT_HI16
   3490 ENUMX
   3491   BFD_RELOC_SH_PLT_LOW16
   3492 ENUMX
   3493   BFD_RELOC_SH_PLT_MEDLOW16
   3494 ENUMX
   3495   BFD_RELOC_SH_PLT_MEDHI16
   3496 ENUMX
   3497   BFD_RELOC_SH_PLT_HI16
   3498 ENUMX
   3499   BFD_RELOC_SH_GOTOFF_LOW16
   3500 ENUMX
   3501   BFD_RELOC_SH_GOTOFF_MEDLOW16
   3502 ENUMX
   3503   BFD_RELOC_SH_GOTOFF_MEDHI16
   3504 ENUMX
   3505   BFD_RELOC_SH_GOTOFF_HI16
   3506 ENUMX
   3507   BFD_RELOC_SH_GOTPC_LOW16
   3508 ENUMX
   3509   BFD_RELOC_SH_GOTPC_MEDLOW16
   3510 ENUMX
   3511   BFD_RELOC_SH_GOTPC_MEDHI16
   3512 ENUMX
   3513   BFD_RELOC_SH_GOTPC_HI16
   3514 ENUMX
   3515   BFD_RELOC_SH_COPY64
   3516 ENUMX
   3517   BFD_RELOC_SH_GLOB_DAT64
   3518 ENUMX
   3519   BFD_RELOC_SH_JMP_SLOT64
   3520 ENUMX
   3521   BFD_RELOC_SH_RELATIVE64
   3522 ENUMX
   3523   BFD_RELOC_SH_GOT10BY4
   3524 ENUMX
   3525   BFD_RELOC_SH_GOT10BY8
   3526 ENUMX
   3527   BFD_RELOC_SH_GOTPLT10BY4
   3528 ENUMX
   3529   BFD_RELOC_SH_GOTPLT10BY8
   3530 ENUMX
   3531   BFD_RELOC_SH_GOTPLT32
   3532 ENUMX
   3533   BFD_RELOC_SH_SHMEDIA_CODE
   3534 ENUMX
   3535   BFD_RELOC_SH_IMMU5
   3536 ENUMX
   3537   BFD_RELOC_SH_IMMS6
   3538 ENUMX
   3539   BFD_RELOC_SH_IMMS6BY32
   3540 ENUMX
   3541   BFD_RELOC_SH_IMMU6
   3542 ENUMX
   3543   BFD_RELOC_SH_IMMS10
   3544 ENUMX
   3545   BFD_RELOC_SH_IMMS10BY2
   3546 ENUMX
   3547   BFD_RELOC_SH_IMMS10BY4
   3548 ENUMX
   3549   BFD_RELOC_SH_IMMS10BY8
   3550 ENUMX
   3551   BFD_RELOC_SH_IMMS16
   3552 ENUMX
   3553   BFD_RELOC_SH_IMMU16
   3554 ENUMX
   3555   BFD_RELOC_SH_IMM_LOW16
   3556 ENUMX
   3557   BFD_RELOC_SH_IMM_LOW16_PCREL
   3558 ENUMX
   3559   BFD_RELOC_SH_IMM_MEDLOW16
   3560 ENUMX
   3561   BFD_RELOC_SH_IMM_MEDLOW16_PCREL
   3562 ENUMX
   3563   BFD_RELOC_SH_IMM_MEDHI16
   3564 ENUMX
   3565   BFD_RELOC_SH_IMM_MEDHI16_PCREL
   3566 ENUMX
   3567   BFD_RELOC_SH_IMM_HI16
   3568 ENUMX
   3569   BFD_RELOC_SH_IMM_HI16_PCREL
   3570 ENUMX
   3571   BFD_RELOC_SH_PT_16
   3572 ENUMX
   3573   BFD_RELOC_SH_TLS_GD_32
   3574 ENUMX
   3575   BFD_RELOC_SH_TLS_LD_32
   3576 ENUMX
   3577   BFD_RELOC_SH_TLS_LDO_32
   3578 ENUMX
   3579   BFD_RELOC_SH_TLS_IE_32
   3580 ENUMX
   3581   BFD_RELOC_SH_TLS_LE_32
   3582 ENUMX
   3583   BFD_RELOC_SH_TLS_DTPMOD32
   3584 ENUMX
   3585   BFD_RELOC_SH_TLS_DTPOFF32
   3586 ENUMX
   3587   BFD_RELOC_SH_TLS_TPOFF32
   3588 ENUMX
   3589   BFD_RELOC_SH_GOT20
   3590 ENUMX
   3591   BFD_RELOC_SH_GOTOFF20
   3592 ENUMX
   3593   BFD_RELOC_SH_GOTFUNCDESC
   3594 ENUMX
   3595   BFD_RELOC_SH_GOTFUNCDESC20
   3596 ENUMX
   3597   BFD_RELOC_SH_GOTOFFFUNCDESC
   3598 ENUMX
   3599   BFD_RELOC_SH_GOTOFFFUNCDESC20
   3600 ENUMX
   3601   BFD_RELOC_SH_FUNCDESC
   3602 ENUMDOC
   3603   Renesas / SuperH SH relocs.  Not all of these appear in object files.
   3604 
   3605 ENUM
   3606   BFD_RELOC_ARC_NONE
   3607 ENUMX
   3608   BFD_RELOC_ARC_8
   3609 ENUMX
   3610   BFD_RELOC_ARC_16
   3611 ENUMX
   3612   BFD_RELOC_ARC_24
   3613 ENUMX
   3614   BFD_RELOC_ARC_32
   3615 ENUMX
   3616   BFD_RELOC_ARC_N8
   3617 ENUMX
   3618   BFD_RELOC_ARC_N16
   3619 ENUMX
   3620   BFD_RELOC_ARC_N24
   3621 ENUMX
   3622   BFD_RELOC_ARC_N32
   3623 ENUMX
   3624   BFD_RELOC_ARC_SDA
   3625 ENUMX
   3626   BFD_RELOC_ARC_SECTOFF
   3627 ENUMX
   3628   BFD_RELOC_ARC_S21H_PCREL
   3629 ENUMX
   3630   BFD_RELOC_ARC_S21W_PCREL
   3631 ENUMX
   3632   BFD_RELOC_ARC_S25H_PCREL
   3633 ENUMX
   3634   BFD_RELOC_ARC_S25W_PCREL
   3635 ENUMX
   3636   BFD_RELOC_ARC_SDA32
   3637 ENUMX
   3638   BFD_RELOC_ARC_SDA_LDST
   3639 ENUMX
   3640   BFD_RELOC_ARC_SDA_LDST1
   3641 ENUMX
   3642   BFD_RELOC_ARC_SDA_LDST2
   3643 ENUMX
   3644   BFD_RELOC_ARC_SDA16_LD
   3645 ENUMX
   3646   BFD_RELOC_ARC_SDA16_LD1
   3647 ENUMX
   3648   BFD_RELOC_ARC_SDA16_LD2
   3649 ENUMX
   3650   BFD_RELOC_ARC_S13_PCREL
   3651 ENUMX
   3652   BFD_RELOC_ARC_W
   3653 ENUMX
   3654   BFD_RELOC_ARC_32_ME
   3655 ENUMX
   3656   BFD_RELOC_ARC_32_ME_S
   3657 ENUMX
   3658   BFD_RELOC_ARC_N32_ME
   3659 ENUMX
   3660   BFD_RELOC_ARC_SECTOFF_ME
   3661 ENUMX
   3662   BFD_RELOC_ARC_SDA32_ME
   3663 ENUMX
   3664   BFD_RELOC_ARC_W_ME
   3665 ENUMX
   3666   BFD_RELOC_AC_SECTOFF_U8
   3667 ENUMX
   3668   BFD_RELOC_AC_SECTOFF_U8_1
   3669 ENUMX
   3670   BFD_RELOC_AC_SECTOFF_U8_2
   3671 ENUMX
   3672   BFD_RELOC_AC_SECTOFF_S9
   3673 ENUMX
   3674   BFD_RELOC_AC_SECTOFF_S9_1
   3675 ENUMX
   3676   BFD_RELOC_AC_SECTOFF_S9_2
   3677 ENUMX
   3678   BFD_RELOC_ARC_SECTOFF_ME_1
   3679 ENUMX
   3680   BFD_RELOC_ARC_SECTOFF_ME_2
   3681 ENUMX
   3682   BFD_RELOC_ARC_SECTOFF_1
   3683 ENUMX
   3684   BFD_RELOC_ARC_SECTOFF_2
   3685 ENUMX
   3686   BFD_RELOC_ARC_SDA_12
   3687 ENUMX
   3688   BFD_RELOC_ARC_SDA16_ST2
   3689 ENUMX
   3690   BFD_RELOC_ARC_32_PCREL
   3691 ENUMX
   3692   BFD_RELOC_ARC_PC32
   3693 ENUMX
   3694   BFD_RELOC_ARC_GOT32
   3695 ENUMX
   3696   BFD_RELOC_ARC_GOTPC32
   3697 ENUMX
   3698   BFD_RELOC_ARC_PLT32
   3699 ENUMX
   3700   BFD_RELOC_ARC_COPY
   3701 ENUMX
   3702   BFD_RELOC_ARC_GLOB_DAT
   3703 ENUMX
   3704   BFD_RELOC_ARC_JMP_SLOT
   3705 ENUMX
   3706   BFD_RELOC_ARC_RELATIVE
   3707 ENUMX
   3708   BFD_RELOC_ARC_GOTOFF
   3709 ENUMX
   3710   BFD_RELOC_ARC_GOTPC
   3711 ENUMX
   3712   BFD_RELOC_ARC_S21W_PCREL_PLT
   3713 ENUMX
   3714   BFD_RELOC_ARC_S25H_PCREL_PLT
   3715 ENUMX
   3716   BFD_RELOC_ARC_TLS_DTPMOD
   3717 ENUMX
   3718   BFD_RELOC_ARC_TLS_TPOFF
   3719 ENUMX
   3720   BFD_RELOC_ARC_TLS_GD_GOT
   3721 ENUMX
   3722   BFD_RELOC_ARC_TLS_GD_LD
   3723 ENUMX
   3724   BFD_RELOC_ARC_TLS_GD_CALL
   3725 ENUMX
   3726   BFD_RELOC_ARC_TLS_IE_GOT
   3727 ENUMX
   3728   BFD_RELOC_ARC_TLS_DTPOFF
   3729 ENUMX
   3730   BFD_RELOC_ARC_TLS_DTPOFF_S9
   3731 ENUMX
   3732   BFD_RELOC_ARC_TLS_LE_S9
   3733 ENUMX
   3734   BFD_RELOC_ARC_TLS_LE_32
   3735 ENUMX
   3736   BFD_RELOC_ARC_S25W_PCREL_PLT
   3737 ENUMX
   3738   BFD_RELOC_ARC_S21H_PCREL_PLT
   3739 ENUMX
   3740   BFD_RELOC_ARC_NPS_CMEM16
   3741 ENUMX
   3742   BFD_RELOC_ARC_JLI_SECTOFF
   3743 ENUMDOC
   3744   ARC relocs.
   3745 
   3746 ENUM
   3747   BFD_RELOC_BFIN_16_IMM
   3748 ENUMDOC
   3749   ADI Blackfin 16 bit immediate absolute reloc.
   3750 ENUM
   3751   BFD_RELOC_BFIN_16_HIGH
   3752 ENUMDOC
   3753   ADI Blackfin 16 bit immediate absolute reloc higher 16 bits.
   3754 ENUM
   3755   BFD_RELOC_BFIN_4_PCREL
   3756 ENUMDOC
   3757   ADI Blackfin 'a' part of LSETUP.
   3758 ENUM
   3759   BFD_RELOC_BFIN_5_PCREL
   3760 ENUMDOC
   3761   ADI Blackfin.
   3762 ENUM
   3763   BFD_RELOC_BFIN_16_LOW
   3764 ENUMDOC
   3765   ADI Blackfin 16 bit immediate absolute reloc lower 16 bits.
   3766 ENUM
   3767   BFD_RELOC_BFIN_10_PCREL
   3768 ENUMDOC
   3769   ADI Blackfin.
   3770 ENUM
   3771   BFD_RELOC_BFIN_11_PCREL
   3772 ENUMDOC
   3773   ADI Blackfin 'b' part of LSETUP.
   3774 ENUM
   3775   BFD_RELOC_BFIN_12_PCREL_JUMP
   3776 ENUMDOC
   3777   ADI Blackfin.
   3778 ENUM
   3779   BFD_RELOC_BFIN_12_PCREL_JUMP_S
   3780 ENUMDOC
   3781   ADI Blackfin Short jump, pcrel.
   3782 ENUM
   3783   BFD_RELOC_BFIN_24_PCREL_CALL_X
   3784 ENUMDOC
   3785   ADI Blackfin Call.x not implemented.
   3786 ENUM
   3787   BFD_RELOC_BFIN_24_PCREL_JUMP_L
   3788 ENUMDOC
   3789   ADI Blackfin Long Jump pcrel.
   3790 ENUM
   3791   BFD_RELOC_BFIN_GOT17M4
   3792 ENUMX
   3793   BFD_RELOC_BFIN_GOTHI
   3794 ENUMX
   3795   BFD_RELOC_BFIN_GOTLO
   3796 ENUMX
   3797   BFD_RELOC_BFIN_FUNCDESC
   3798 ENUMX
   3799   BFD_RELOC_BFIN_FUNCDESC_GOT17M4
   3800 ENUMX
   3801   BFD_RELOC_BFIN_FUNCDESC_GOTHI
   3802 ENUMX
   3803   BFD_RELOC_BFIN_FUNCDESC_GOTLO
   3804 ENUMX
   3805   BFD_RELOC_BFIN_FUNCDESC_VALUE
   3806 ENUMX
   3807   BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4
   3808 ENUMX
   3809   BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI
   3810 ENUMX
   3811   BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO
   3812 ENUMX
   3813   BFD_RELOC_BFIN_GOTOFF17M4
   3814 ENUMX
   3815   BFD_RELOC_BFIN_GOTOFFHI
   3816 ENUMX
   3817   BFD_RELOC_BFIN_GOTOFFLO
   3818 ENUMDOC
   3819   ADI Blackfin FD-PIC relocations.
   3820 ENUM
   3821   BFD_RELOC_BFIN_GOT
   3822 ENUMDOC
   3823   ADI Blackfin GOT relocation.
   3824 ENUM
   3825   BFD_RELOC_BFIN_PLTPC
   3826 ENUMDOC
   3827   ADI Blackfin PLTPC relocation.
   3828 ENUM
   3829   BFD_ARELOC_BFIN_PUSH
   3830 ENUMDOC
   3831   ADI Blackfin arithmetic relocation.
   3832 ENUM
   3833   BFD_ARELOC_BFIN_CONST
   3834 ENUMDOC
   3835   ADI Blackfin arithmetic relocation.
   3836 ENUM
   3837   BFD_ARELOC_BFIN_ADD
   3838 ENUMDOC
   3839   ADI Blackfin arithmetic relocation.
   3840 ENUM
   3841   BFD_ARELOC_BFIN_SUB
   3842 ENUMDOC
   3843   ADI Blackfin arithmetic relocation.
   3844 ENUM
   3845   BFD_ARELOC_BFIN_MULT
   3846 ENUMDOC
   3847   ADI Blackfin arithmetic relocation.
   3848 ENUM
   3849   BFD_ARELOC_BFIN_DIV
   3850 ENUMDOC
   3851   ADI Blackfin arithmetic relocation.
   3852 ENUM
   3853   BFD_ARELOC_BFIN_MOD
   3854 ENUMDOC
   3855   ADI Blackfin arithmetic relocation.
   3856 ENUM
   3857   BFD_ARELOC_BFIN_LSHIFT
   3858 ENUMDOC
   3859   ADI Blackfin arithmetic relocation.
   3860 ENUM
   3861   BFD_ARELOC_BFIN_RSHIFT
   3862 ENUMDOC
   3863   ADI Blackfin arithmetic relocation.
   3864 ENUM
   3865   BFD_ARELOC_BFIN_AND
   3866 ENUMDOC
   3867   ADI Blackfin arithmetic relocation.
   3868 ENUM
   3869   BFD_ARELOC_BFIN_OR
   3870 ENUMDOC
   3871   ADI Blackfin arithmetic relocation.
   3872 ENUM
   3873   BFD_ARELOC_BFIN_XOR
   3874 ENUMDOC
   3875   ADI Blackfin arithmetic relocation.
   3876 ENUM
   3877   BFD_ARELOC_BFIN_LAND
   3878 ENUMDOC
   3879   ADI Blackfin arithmetic relocation.
   3880 ENUM
   3881   BFD_ARELOC_BFIN_LOR
   3882 ENUMDOC
   3883   ADI Blackfin arithmetic relocation.
   3884 ENUM
   3885   BFD_ARELOC_BFIN_LEN
   3886 ENUMDOC
   3887   ADI Blackfin arithmetic relocation.
   3888 ENUM
   3889   BFD_ARELOC_BFIN_NEG
   3890 ENUMDOC
   3891   ADI Blackfin arithmetic relocation.
   3892 ENUM
   3893   BFD_ARELOC_BFIN_COMP
   3894 ENUMDOC
   3895   ADI Blackfin arithmetic relocation.
   3896 ENUM
   3897   BFD_ARELOC_BFIN_PAGE
   3898 ENUMDOC
   3899   ADI Blackfin arithmetic relocation.
   3900 ENUM
   3901   BFD_ARELOC_BFIN_HWPAGE
   3902 ENUMDOC
   3903   ADI Blackfin arithmetic relocation.
   3904 ENUM
   3905   BFD_ARELOC_BFIN_ADDR
   3906 ENUMDOC
   3907   ADI Blackfin arithmetic relocation.
   3908 
   3909 ENUM
   3910   BFD_RELOC_D10V_10_PCREL_R
   3911 ENUMDOC
   3912   Mitsubishi D10V relocs.
   3913   This is a 10-bit reloc with the right 2 bits
   3914   assumed to be 0.
   3915 ENUM
   3916   BFD_RELOC_D10V_10_PCREL_L
   3917 ENUMDOC
   3918   Mitsubishi D10V relocs.
   3919   This is a 10-bit reloc with the right 2 bits
   3920   assumed to be 0.  This is the same as the previous reloc
   3921   except it is in the left container, i.e.,
   3922   shifted left 15 bits.
   3923 ENUM
   3924   BFD_RELOC_D10V_18
   3925 ENUMDOC
   3926   This is an 18-bit reloc with the right 2 bits
   3927   assumed to be 0.
   3928 ENUM
   3929   BFD_RELOC_D10V_18_PCREL
   3930 ENUMDOC
   3931   This is an 18-bit reloc with the right 2 bits
   3932   assumed to be 0.
   3933 
   3934 ENUM
   3935   BFD_RELOC_D30V_6
   3936 ENUMDOC
   3937   Mitsubishi D30V relocs.
   3938   This is a 6-bit absolute reloc.
   3939 ENUM
   3940   BFD_RELOC_D30V_9_PCREL
   3941 ENUMDOC
   3942   This is a 6-bit pc-relative reloc with
   3943   the right 3 bits assumed to be 0.
   3944 ENUM
   3945   BFD_RELOC_D30V_9_PCREL_R
   3946 ENUMDOC
   3947   This is a 6-bit pc-relative reloc with
   3948   the right 3 bits assumed to be 0. Same
   3949   as the previous reloc but on the right side
   3950   of the container.
   3951 ENUM
   3952   BFD_RELOC_D30V_15
   3953 ENUMDOC
   3954   This is a 12-bit absolute reloc with the
   3955   right 3 bitsassumed to be 0.
   3956 ENUM
   3957   BFD_RELOC_D30V_15_PCREL
   3958 ENUMDOC
   3959   This is a 12-bit pc-relative reloc with
   3960   the right 3 bits assumed to be 0.
   3961 ENUM
   3962   BFD_RELOC_D30V_15_PCREL_R
   3963 ENUMDOC
   3964   This is a 12-bit pc-relative reloc with
   3965   the right 3 bits assumed to be 0. Same
   3966   as the previous reloc but on the right side
   3967   of the container.
   3968 ENUM
   3969   BFD_RELOC_D30V_21
   3970 ENUMDOC
   3971   This is an 18-bit absolute reloc with
   3972   the right 3 bits assumed to be 0.
   3973 ENUM
   3974   BFD_RELOC_D30V_21_PCREL
   3975 ENUMDOC
   3976   This is an 18-bit pc-relative reloc with
   3977   the right 3 bits assumed to be 0.
   3978 ENUM
   3979   BFD_RELOC_D30V_21_PCREL_R
   3980 ENUMDOC
   3981   This is an 18-bit pc-relative reloc with
   3982   the right 3 bits assumed to be 0. Same
   3983   as the previous reloc but on the right side
   3984   of the container.
   3985 ENUM
   3986   BFD_RELOC_D30V_32
   3987 ENUMDOC
   3988   This is a 32-bit absolute reloc.
   3989 ENUM
   3990   BFD_RELOC_D30V_32_PCREL
   3991 ENUMDOC
   3992   This is a 32-bit pc-relative reloc.
   3993 
   3994 ENUM
   3995   BFD_RELOC_DLX_HI16_S
   3996 ENUMDOC
   3997   DLX relocs
   3998 ENUM
   3999   BFD_RELOC_DLX_LO16
   4000 ENUMDOC
   4001   DLX relocs
   4002 ENUM
   4003   BFD_RELOC_DLX_JMP26
   4004 ENUMDOC
   4005   DLX relocs
   4006 
   4007 ENUM
   4008   BFD_RELOC_M32C_HI8
   4009 ENUMX
   4010   BFD_RELOC_M32C_RL_JUMP
   4011 ENUMX
   4012   BFD_RELOC_M32C_RL_1ADDR
   4013 ENUMX
   4014   BFD_RELOC_M32C_RL_2ADDR
   4015 ENUMDOC
   4016   Renesas M16C/M32C Relocations.
   4017 
   4018 ENUM
   4019   BFD_RELOC_M32R_24
   4020 ENUMDOC
   4021   Renesas M32R (formerly Mitsubishi M32R) relocs.
   4022   This is a 24 bit absolute address.
   4023 ENUM
   4024   BFD_RELOC_M32R_10_PCREL
   4025 ENUMDOC
   4026   This is a 10-bit pc-relative reloc with the right 2 bits assumed to be 0.
   4027 ENUM
   4028   BFD_RELOC_M32R_18_PCREL
   4029 ENUMDOC
   4030   This is an 18-bit reloc with the right 2 bits assumed to be 0.
   4031 ENUM
   4032   BFD_RELOC_M32R_26_PCREL
   4033 ENUMDOC
   4034   This is a 26-bit reloc with the right 2 bits assumed to be 0.
   4035 ENUM
   4036   BFD_RELOC_M32R_HI16_ULO
   4037 ENUMDOC
   4038   This is a 16-bit reloc containing the high 16 bits of an address
   4039   used when the lower 16 bits are treated as unsigned.
   4040 ENUM
   4041   BFD_RELOC_M32R_HI16_SLO
   4042 ENUMDOC
   4043   This is a 16-bit reloc containing the high 16 bits of an address
   4044   used when the lower 16 bits are treated as signed.
   4045 ENUM
   4046   BFD_RELOC_M32R_LO16
   4047 ENUMDOC
   4048   This is a 16-bit reloc containing the lower 16 bits of an address.
   4049 ENUM
   4050   BFD_RELOC_M32R_SDA16
   4051 ENUMDOC
   4052   This is a 16-bit reloc containing the small data area offset for use in
   4053   add3, load, and store instructions.
   4054 ENUM
   4055   BFD_RELOC_M32R_GOT24
   4056 ENUMX
   4057   BFD_RELOC_M32R_26_PLTREL
   4058 ENUMX
   4059   BFD_RELOC_M32R_COPY
   4060 ENUMX
   4061   BFD_RELOC_M32R_GLOB_DAT
   4062 ENUMX
   4063   BFD_RELOC_M32R_JMP_SLOT
   4064 ENUMX
   4065   BFD_RELOC_M32R_RELATIVE
   4066 ENUMX
   4067   BFD_RELOC_M32R_GOTOFF
   4068 ENUMX
   4069   BFD_RELOC_M32R_GOTOFF_HI_ULO
   4070 ENUMX
   4071   BFD_RELOC_M32R_GOTOFF_HI_SLO
   4072 ENUMX
   4073   BFD_RELOC_M32R_GOTOFF_LO
   4074 ENUMX
   4075   BFD_RELOC_M32R_GOTPC24
   4076 ENUMX
   4077   BFD_RELOC_M32R_GOT16_HI_ULO
   4078 ENUMX
   4079   BFD_RELOC_M32R_GOT16_HI_SLO
   4080 ENUMX
   4081   BFD_RELOC_M32R_GOT16_LO
   4082 ENUMX
   4083   BFD_RELOC_M32R_GOTPC_HI_ULO
   4084 ENUMX
   4085   BFD_RELOC_M32R_GOTPC_HI_SLO
   4086 ENUMX
   4087   BFD_RELOC_M32R_GOTPC_LO
   4088 ENUMDOC
   4089   For PIC.
   4090 
   4091 
   4092 ENUM
   4093   BFD_RELOC_NDS32_20
   4094 ENUMDOC
   4095   NDS32 relocs.
   4096   This is a 20 bit absolute address.
   4097 ENUM
   4098   BFD_RELOC_NDS32_9_PCREL
   4099 ENUMDOC
   4100   This is a 9-bit pc-relative reloc with the right 1 bit assumed to be 0.
   4101 ENUM
   4102   BFD_RELOC_NDS32_WORD_9_PCREL
   4103 ENUMDOC
   4104   This is a 9-bit pc-relative reloc with the right 1 bit assumed to be 0.
   4105 ENUM
   4106   BFD_RELOC_NDS32_15_PCREL
   4107 ENUMDOC
   4108   This is an 15-bit reloc with the right 1 bit assumed to be 0.
   4109 ENUM
   4110   BFD_RELOC_NDS32_17_PCREL
   4111 ENUMDOC
   4112   This is an 17-bit reloc with the right 1 bit assumed to be 0.
   4113 ENUM
   4114   BFD_RELOC_NDS32_25_PCREL
   4115 ENUMDOC
   4116   This is a 25-bit reloc with the right 1 bit assumed to be 0.
   4117 ENUM
   4118   BFD_RELOC_NDS32_HI20
   4119 ENUMDOC
   4120   This is a 20-bit reloc containing the high 20 bits of an address
   4121   used with the lower 12 bits
   4122 ENUM
   4123   BFD_RELOC_NDS32_LO12S3
   4124 ENUMDOC
   4125   This is a 12-bit reloc containing the lower 12 bits of an address
   4126   then shift right by 3. This is used with ldi,sdi...
   4127 ENUM
   4128   BFD_RELOC_NDS32_LO12S2
   4129 ENUMDOC
   4130   This is a 12-bit reloc containing the lower 12 bits of an address
   4131   then shift left by 2. This is used with lwi,swi...
   4132 ENUM
   4133   BFD_RELOC_NDS32_LO12S1
   4134 ENUMDOC
   4135   This is a 12-bit reloc containing the lower 12 bits of an address
   4136   then shift left by 1. This is used with lhi,shi...
   4137 ENUM
   4138   BFD_RELOC_NDS32_LO12S0
   4139 ENUMDOC
   4140   This is a 12-bit reloc containing the lower 12 bits of an address
   4141   then shift left by 0. This is used with lbisbi...
   4142 ENUM
   4143   BFD_RELOC_NDS32_LO12S0_ORI
   4144 ENUMDOC
   4145   This is a 12-bit reloc containing the lower 12 bits of an address
   4146   then shift left by 0. This is only used with branch relaxations
   4147 ENUM
   4148   BFD_RELOC_NDS32_SDA15S3
   4149 ENUMDOC
   4150   This is a 15-bit reloc containing the small data area 18-bit signed offset
   4151   and shift left by 3 for use in ldi, sdi...
   4152 ENUM
   4153   BFD_RELOC_NDS32_SDA15S2
   4154 ENUMDOC
   4155   This is a 15-bit reloc containing the small data area 17-bit signed offset
   4156   and shift left by 2 for use in lwi, swi...
   4157 ENUM
   4158   BFD_RELOC_NDS32_SDA15S1
   4159 ENUMDOC
   4160   This is a 15-bit reloc containing the small data area 16-bit signed offset
   4161   and shift left by 1 for use in lhi, shi...
   4162 ENUM
   4163   BFD_RELOC_NDS32_SDA15S0
   4164 ENUMDOC
   4165   This is a 15-bit reloc containing the small data area 15-bit signed offset
   4166   and shift left by 0 for use in lbi, sbi...
   4167 ENUM
   4168   BFD_RELOC_NDS32_SDA16S3
   4169 ENUMDOC
   4170   This is a 16-bit reloc containing the small data area 16-bit signed offset
   4171   and shift left by 3
   4172 ENUM
   4173   BFD_RELOC_NDS32_SDA17S2
   4174 ENUMDOC
   4175   This is a 17-bit reloc containing the small data area 17-bit signed offset
   4176   and shift left by 2 for use in lwi.gp, swi.gp...
   4177 ENUM
   4178   BFD_RELOC_NDS32_SDA18S1
   4179 ENUMDOC
   4180   This is a 18-bit reloc containing the small data area 18-bit signed offset
   4181   and shift left by 1 for use in lhi.gp, shi.gp...
   4182 ENUM
   4183   BFD_RELOC_NDS32_SDA19S0
   4184 ENUMDOC
   4185   This is a 19-bit reloc containing the small data area 19-bit signed offset
   4186   and shift left by 0 for use in lbi.gp, sbi.gp...
   4187 ENUM
   4188   BFD_RELOC_NDS32_GOT20
   4189 ENUMX
   4190   BFD_RELOC_NDS32_9_PLTREL
   4191 ENUMX
   4192   BFD_RELOC_NDS32_25_PLTREL
   4193 ENUMX
   4194   BFD_RELOC_NDS32_COPY
   4195 ENUMX
   4196   BFD_RELOC_NDS32_GLOB_DAT
   4197 ENUMX
   4198   BFD_RELOC_NDS32_JMP_SLOT
   4199 ENUMX
   4200   BFD_RELOC_NDS32_RELATIVE
   4201 ENUMX
   4202   BFD_RELOC_NDS32_GOTOFF
   4203 ENUMX
   4204   BFD_RELOC_NDS32_GOTOFF_HI20
   4205 ENUMX
   4206   BFD_RELOC_NDS32_GOTOFF_LO12
   4207 ENUMX
   4208   BFD_RELOC_NDS32_GOTPC20
   4209 ENUMX
   4210   BFD_RELOC_NDS32_GOT_HI20
   4211 ENUMX
   4212   BFD_RELOC_NDS32_GOT_LO12
   4213 ENUMX
   4214   BFD_RELOC_NDS32_GOTPC_HI20
   4215 ENUMX
   4216   BFD_RELOC_NDS32_GOTPC_LO12
   4217 ENUMDOC
   4218   for PIC
   4219 ENUM
   4220   BFD_RELOC_NDS32_INSN16
   4221 ENUMX
   4222   BFD_RELOC_NDS32_LABEL
   4223 ENUMX
   4224   BFD_RELOC_NDS32_LONGCALL1
   4225 ENUMX
   4226   BFD_RELOC_NDS32_LONGCALL2
   4227 ENUMX
   4228   BFD_RELOC_NDS32_LONGCALL3
   4229 ENUMX
   4230   BFD_RELOC_NDS32_LONGJUMP1
   4231 ENUMX
   4232   BFD_RELOC_NDS32_LONGJUMP2
   4233 ENUMX
   4234   BFD_RELOC_NDS32_LONGJUMP3
   4235 ENUMX
   4236   BFD_RELOC_NDS32_LOADSTORE
   4237 ENUMX
   4238   BFD_RELOC_NDS32_9_FIXED
   4239 ENUMX
   4240   BFD_RELOC_NDS32_15_FIXED
   4241 ENUMX
   4242   BFD_RELOC_NDS32_17_FIXED
   4243 ENUMX
   4244   BFD_RELOC_NDS32_25_FIXED
   4245 ENUMX
   4246   BFD_RELOC_NDS32_LONGCALL4
   4247 ENUMX
   4248   BFD_RELOC_NDS32_LONGCALL5
   4249 ENUMX
   4250   BFD_RELOC_NDS32_LONGCALL6
   4251 ENUMX
   4252   BFD_RELOC_NDS32_LONGJUMP4
   4253 ENUMX
   4254   BFD_RELOC_NDS32_LONGJUMP5
   4255 ENUMX
   4256   BFD_RELOC_NDS32_LONGJUMP6
   4257 ENUMX
   4258   BFD_RELOC_NDS32_LONGJUMP7
   4259 ENUMDOC
   4260   for relax
   4261 ENUM
   4262   BFD_RELOC_NDS32_PLTREL_HI20
   4263 ENUMX
   4264   BFD_RELOC_NDS32_PLTREL_LO12
   4265 ENUMX
   4266   BFD_RELOC_NDS32_PLT_GOTREL_HI20
   4267 ENUMX
   4268   BFD_RELOC_NDS32_PLT_GOTREL_LO12
   4269 ENUMDOC
   4270   for PIC
   4271 ENUM
   4272   BFD_RELOC_NDS32_SDA12S2_DP
   4273 ENUMX
   4274   BFD_RELOC_NDS32_SDA12S2_SP
   4275 ENUMX
   4276   BFD_RELOC_NDS32_LO12S2_DP
   4277 ENUMX
   4278   BFD_RELOC_NDS32_LO12S2_SP
   4279 ENUMDOC
   4280   for floating point
   4281 ENUM
   4282   BFD_RELOC_NDS32_DWARF2_OP1
   4283 ENUMX
   4284   BFD_RELOC_NDS32_DWARF2_OP2
   4285 ENUMX
   4286   BFD_RELOC_NDS32_DWARF2_LEB
   4287 ENUMDOC
   4288   for dwarf2 debug_line.
   4289 ENUM
   4290   BFD_RELOC_NDS32_UPDATE_TA
   4291 ENUMDOC
   4292   for eliminate 16-bit instructions
   4293 ENUM
   4294   BFD_RELOC_NDS32_PLT_GOTREL_LO20
   4295 ENUMX
   4296   BFD_RELOC_NDS32_PLT_GOTREL_LO15
   4297 ENUMX
   4298   BFD_RELOC_NDS32_PLT_GOTREL_LO19
   4299 ENUMX
   4300   BFD_RELOC_NDS32_GOT_LO15
   4301 ENUMX
   4302   BFD_RELOC_NDS32_GOT_LO19
   4303 ENUMX
   4304   BFD_RELOC_NDS32_GOTOFF_LO15
   4305 ENUMX
   4306   BFD_RELOC_NDS32_GOTOFF_LO19
   4307 ENUMX
   4308   BFD_RELOC_NDS32_GOT15S2
   4309 ENUMX
   4310   BFD_RELOC_NDS32_GOT17S2
   4311 ENUMDOC
   4312   for PIC object relaxation
   4313 ENUM
   4314   BFD_RELOC_NDS32_5
   4315 ENUMDOC
   4316   NDS32 relocs.
   4317   This is a 5 bit absolute address.
   4318 ENUM
   4319   BFD_RELOC_NDS32_10_UPCREL
   4320 ENUMDOC
   4321   This is a 10-bit unsigned pc-relative reloc with the right 1 bit assumed to be 0.
   4322 ENUM
   4323   BFD_RELOC_NDS32_SDA_FP7U2_RELA
   4324 ENUMDOC
   4325   If fp were omitted, fp can used as another gp.
   4326 ENUM
   4327   BFD_RELOC_NDS32_RELAX_ENTRY
   4328 ENUMX
   4329   BFD_RELOC_NDS32_GOT_SUFF
   4330 ENUMX
   4331   BFD_RELOC_NDS32_GOTOFF_SUFF
   4332 ENUMX
   4333   BFD_RELOC_NDS32_PLT_GOT_SUFF
   4334 ENUMX
   4335   BFD_RELOC_NDS32_MULCALL_SUFF
   4336 ENUMX
   4337   BFD_RELOC_NDS32_PTR
   4338 ENUMX
   4339   BFD_RELOC_NDS32_PTR_COUNT
   4340 ENUMX
   4341   BFD_RELOC_NDS32_PTR_RESOLVED
   4342 ENUMX
   4343   BFD_RELOC_NDS32_PLTBLOCK
   4344 ENUMX
   4345   BFD_RELOC_NDS32_RELAX_REGION_BEGIN
   4346 ENUMX
   4347   BFD_RELOC_NDS32_RELAX_REGION_END
   4348 ENUMX
   4349   BFD_RELOC_NDS32_MINUEND
   4350 ENUMX
   4351   BFD_RELOC_NDS32_SUBTRAHEND
   4352 ENUMX
   4353   BFD_RELOC_NDS32_DIFF8
   4354 ENUMX
   4355   BFD_RELOC_NDS32_DIFF16
   4356 ENUMX
   4357   BFD_RELOC_NDS32_DIFF32
   4358 ENUMX
   4359   BFD_RELOC_NDS32_DIFF_ULEB128
   4360 ENUMX
   4361   BFD_RELOC_NDS32_EMPTY
   4362 ENUMDOC
   4363   relaxation relative relocation types
   4364 ENUM
   4365   BFD_RELOC_NDS32_25_ABS
   4366 ENUMDOC
   4367   This is a 25 bit absolute address.
   4368 ENUM
   4369   BFD_RELOC_NDS32_DATA
   4370 ENUMX
   4371   BFD_RELOC_NDS32_TRAN
   4372 ENUMX
   4373   BFD_RELOC_NDS32_17IFC_PCREL
   4374 ENUMX
   4375   BFD_RELOC_NDS32_10IFCU_PCREL
   4376 ENUMDOC
   4377   For ex9 and ifc using.
   4378 ENUM
   4379   BFD_RELOC_NDS32_TPOFF
   4380 ENUMX
   4381   BFD_RELOC_NDS32_GOTTPOFF
   4382 ENUMX
   4383   BFD_RELOC_NDS32_TLS_LE_HI20
   4384 ENUMX
   4385   BFD_RELOC_NDS32_TLS_LE_LO12
   4386 ENUMX
   4387   BFD_RELOC_NDS32_TLS_LE_20
   4388 ENUMX
   4389   BFD_RELOC_NDS32_TLS_LE_15S0
   4390 ENUMX
   4391   BFD_RELOC_NDS32_TLS_LE_15S1
   4392 ENUMX
   4393   BFD_RELOC_NDS32_TLS_LE_15S2
   4394 ENUMX
   4395   BFD_RELOC_NDS32_TLS_LE_ADD
   4396 ENUMX
   4397   BFD_RELOC_NDS32_TLS_LE_LS
   4398 ENUMX
   4399   BFD_RELOC_NDS32_TLS_IE_HI20
   4400 ENUMX
   4401   BFD_RELOC_NDS32_TLS_IE_LO12
   4402 ENUMX
   4403   BFD_RELOC_NDS32_TLS_IE_LO12S2
   4404 ENUMX
   4405   BFD_RELOC_NDS32_TLS_IEGP_HI20
   4406 ENUMX
   4407   BFD_RELOC_NDS32_TLS_IEGP_LO12
   4408 ENUMX
   4409   BFD_RELOC_NDS32_TLS_IEGP_LO12S2
   4410 ENUMX
   4411   BFD_RELOC_NDS32_TLS_IEGP_LW
   4412 ENUMX
   4413   BFD_RELOC_NDS32_TLS_DESC
   4414 ENUMX
   4415   BFD_RELOC_NDS32_TLS_DESC_HI20
   4416 ENUMX
   4417   BFD_RELOC_NDS32_TLS_DESC_LO12
   4418 ENUMX
   4419   BFD_RELOC_NDS32_TLS_DESC_20
   4420 ENUMX
   4421   BFD_RELOC_NDS32_TLS_DESC_SDA17S2
   4422 ENUMX
   4423   BFD_RELOC_NDS32_TLS_DESC_ADD
   4424 ENUMX
   4425   BFD_RELOC_NDS32_TLS_DESC_FUNC
   4426 ENUMX
   4427   BFD_RELOC_NDS32_TLS_DESC_CALL
   4428 ENUMX
   4429   BFD_RELOC_NDS32_TLS_DESC_MEM
   4430 ENUMX
   4431   BFD_RELOC_NDS32_REMOVE
   4432 ENUMX
   4433   BFD_RELOC_NDS32_GROUP
   4434 ENUMDOC
   4435   For TLS.
   4436 ENUM
   4437   BFD_RELOC_NDS32_LSI
   4438 ENUMDOC
   4439   For floating load store relaxation.
   4440 
   4441 
   4442 ENUM
   4443   BFD_RELOC_V850_9_PCREL
   4444 ENUMDOC
   4445   This is a 9-bit reloc
   4446 ENUM
   4447   BFD_RELOC_V850_22_PCREL
   4448 ENUMDOC
   4449   This is a 22-bit reloc
   4450 
   4451 ENUM
   4452   BFD_RELOC_V850_SDA_16_16_OFFSET
   4453 ENUMDOC
   4454   This is a 16 bit offset from the short data area pointer.
   4455 ENUM
   4456   BFD_RELOC_V850_SDA_15_16_OFFSET
   4457 ENUMDOC
   4458   This is a 16 bit offset (of which only 15 bits are used) from the
   4459   short data area pointer.
   4460 ENUM
   4461   BFD_RELOC_V850_ZDA_16_16_OFFSET
   4462 ENUMDOC
   4463   This is a 16 bit offset from the zero data area pointer.
   4464 ENUM
   4465   BFD_RELOC_V850_ZDA_15_16_OFFSET
   4466 ENUMDOC
   4467   This is a 16 bit offset (of which only 15 bits are used) from the
   4468   zero data area pointer.
   4469 ENUM
   4470   BFD_RELOC_V850_TDA_6_8_OFFSET
   4471 ENUMDOC
   4472   This is an 8 bit offset (of which only 6 bits are used) from the
   4473   tiny data area pointer.
   4474 ENUM
   4475   BFD_RELOC_V850_TDA_7_8_OFFSET
   4476 ENUMDOC
   4477   This is an 8bit offset (of which only 7 bits are used) from the tiny
   4478   data area pointer.
   4479 ENUM
   4480   BFD_RELOC_V850_TDA_7_7_OFFSET
   4481 ENUMDOC
   4482   This is a 7 bit offset from the tiny data area pointer.
   4483 ENUM
   4484   BFD_RELOC_V850_TDA_16_16_OFFSET
   4485 ENUMDOC
   4486   This is a 16 bit offset from the tiny data area pointer.
   4487 COMMENT
   4488 ENUM
   4489   BFD_RELOC_V850_TDA_4_5_OFFSET
   4490 ENUMDOC
   4491   This is a 5 bit offset (of which only 4 bits are used) from the tiny
   4492   data area pointer.
   4493 ENUM
   4494   BFD_RELOC_V850_TDA_4_4_OFFSET
   4495 ENUMDOC
   4496   This is a 4 bit offset from the tiny data area pointer.
   4497 ENUM
   4498   BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET
   4499 ENUMDOC
   4500   This is a 16 bit offset from the short data area pointer, with the
   4501   bits placed non-contiguously in the instruction.
   4502 ENUM
   4503   BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET
   4504 ENUMDOC
   4505   This is a 16 bit offset from the zero data area pointer, with the
   4506   bits placed non-contiguously in the instruction.
   4507 ENUM
   4508   BFD_RELOC_V850_CALLT_6_7_OFFSET
   4509 ENUMDOC
   4510   This is a 6 bit offset from the call table base pointer.
   4511 ENUM
   4512   BFD_RELOC_V850_CALLT_16_16_OFFSET
   4513 ENUMDOC
   4514   This is a 16 bit offset from the call table base pointer.
   4515 ENUM
   4516   BFD_RELOC_V850_LONGCALL
   4517 ENUMDOC
   4518   Used for relaxing indirect function calls.
   4519 ENUM
   4520   BFD_RELOC_V850_LONGJUMP
   4521 ENUMDOC
   4522   Used for relaxing indirect jumps.
   4523 ENUM
   4524   BFD_RELOC_V850_ALIGN
   4525 ENUMDOC
   4526   Used to maintain alignment whilst relaxing.
   4527 ENUM
   4528   BFD_RELOC_V850_LO16_SPLIT_OFFSET
   4529 ENUMDOC
   4530   This is a variation of BFD_RELOC_LO16 that can be used in v850e ld.bu
   4531   instructions.
   4532 ENUM
   4533   BFD_RELOC_V850_16_PCREL
   4534 ENUMDOC
   4535   This is a 16-bit reloc.
   4536 ENUM
   4537   BFD_RELOC_V850_17_PCREL
   4538 ENUMDOC
   4539   This is a 17-bit reloc.
   4540 ENUM
   4541   BFD_RELOC_V850_23
   4542 ENUMDOC
   4543   This is a 23-bit reloc.
   4544 ENUM
   4545   BFD_RELOC_V850_32_PCREL
   4546 ENUMDOC
   4547   This is a 32-bit reloc.
   4548 ENUM
   4549   BFD_RELOC_V850_32_ABS
   4550 ENUMDOC
   4551   This is a 32-bit reloc.
   4552 ENUM
   4553   BFD_RELOC_V850_16_SPLIT_OFFSET
   4554 ENUMDOC
   4555   This is a 16-bit reloc.
   4556 ENUM
   4557   BFD_RELOC_V850_16_S1
   4558 ENUMDOC
   4559   This is a 16-bit reloc.
   4560 ENUM
   4561   BFD_RELOC_V850_LO16_S1
   4562 ENUMDOC
   4563   Low 16 bits. 16 bit shifted by 1.
   4564 ENUM
   4565   BFD_RELOC_V850_CALLT_15_16_OFFSET
   4566 ENUMDOC
   4567   This is a 16 bit offset from the call table base pointer.
   4568 ENUM
   4569   BFD_RELOC_V850_32_GOTPCREL
   4570 ENUMDOC
   4571   DSO relocations.
   4572 ENUM
   4573   BFD_RELOC_V850_16_GOT
   4574 ENUMDOC
   4575   DSO relocations.
   4576 ENUM
   4577   BFD_RELOC_V850_32_GOT
   4578 ENUMDOC
   4579   DSO relocations.
   4580 ENUM
   4581   BFD_RELOC_V850_22_PLT_PCREL
   4582 ENUMDOC
   4583   DSO relocations.
   4584 ENUM
   4585   BFD_RELOC_V850_32_PLT_PCREL
   4586 ENUMDOC
   4587   DSO relocations.
   4588 ENUM
   4589   BFD_RELOC_V850_COPY
   4590 ENUMDOC
   4591   DSO relocations.
   4592 ENUM
   4593   BFD_RELOC_V850_GLOB_DAT
   4594 ENUMDOC
   4595   DSO relocations.
   4596 ENUM
   4597   BFD_RELOC_V850_JMP_SLOT
   4598 ENUMDOC
   4599   DSO relocations.
   4600 ENUM
   4601   BFD_RELOC_V850_RELATIVE
   4602 ENUMDOC
   4603   DSO relocations.
   4604 ENUM
   4605   BFD_RELOC_V850_16_GOTOFF
   4606 ENUMDOC
   4607   DSO relocations.
   4608 ENUM
   4609   BFD_RELOC_V850_32_GOTOFF
   4610 ENUMDOC
   4611   DSO relocations.
   4612 ENUM
   4613   BFD_RELOC_V850_CODE
   4614 ENUMDOC
   4615   start code.
   4616 ENUM
   4617   BFD_RELOC_V850_DATA
   4618 ENUMDOC
   4619   start data in text.
   4620 
   4621 ENUM
   4622   BFD_RELOC_TIC30_LDP
   4623 ENUMDOC
   4624   This is a 8bit DP reloc for the tms320c30, where the most
   4625   significant 8 bits of a 24 bit word are placed into the least
   4626   significant 8 bits of the opcode.
   4627 
   4628 ENUM
   4629   BFD_RELOC_TIC54X_PARTLS7
   4630 ENUMDOC
   4631   This is a 7bit reloc for the tms320c54x, where the least
   4632   significant 7 bits of a 16 bit word are placed into the least
   4633   significant 7 bits of the opcode.
   4634 
   4635 ENUM
   4636   BFD_RELOC_TIC54X_PARTMS9
   4637 ENUMDOC
   4638   This is a 9bit DP reloc for the tms320c54x, where the most
   4639   significant 9 bits of a 16 bit word are placed into the least
   4640   significant 9 bits of the opcode.
   4641 
   4642 ENUM
   4643   BFD_RELOC_TIC54X_23
   4644 ENUMDOC
   4645   This is an extended address 23-bit reloc for the tms320c54x.
   4646 
   4647 ENUM
   4648   BFD_RELOC_TIC54X_16_OF_23
   4649 ENUMDOC
   4650   This is a 16-bit reloc for the tms320c54x, where the least
   4651   significant 16 bits of a 23-bit extended address are placed into
   4652   the opcode.
   4653 
   4654 ENUM
   4655   BFD_RELOC_TIC54X_MS7_OF_23
   4656 ENUMDOC
   4657   This is a reloc for the tms320c54x, where the most
   4658   significant 7 bits of a 23-bit extended address are placed into
   4659   the opcode.
   4660 
   4661 ENUM
   4662   BFD_RELOC_C6000_PCR_S21
   4663 ENUMX
   4664   BFD_RELOC_C6000_PCR_S12
   4665 ENUMX
   4666   BFD_RELOC_C6000_PCR_S10
   4667 ENUMX
   4668   BFD_RELOC_C6000_PCR_S7
   4669 ENUMX
   4670   BFD_RELOC_C6000_ABS_S16
   4671 ENUMX
   4672   BFD_RELOC_C6000_ABS_L16
   4673 ENUMX
   4674   BFD_RELOC_C6000_ABS_H16
   4675 ENUMX
   4676   BFD_RELOC_C6000_SBR_U15_B
   4677 ENUMX
   4678   BFD_RELOC_C6000_SBR_U15_H
   4679 ENUMX
   4680   BFD_RELOC_C6000_SBR_U15_W
   4681 ENUMX
   4682   BFD_RELOC_C6000_SBR_S16
   4683 ENUMX
   4684   BFD_RELOC_C6000_SBR_L16_B
   4685 ENUMX
   4686   BFD_RELOC_C6000_SBR_L16_H
   4687 ENUMX
   4688   BFD_RELOC_C6000_SBR_L16_W
   4689 ENUMX
   4690   BFD_RELOC_C6000_SBR_H16_B
   4691 ENUMX
   4692   BFD_RELOC_C6000_SBR_H16_H
   4693 ENUMX
   4694   BFD_RELOC_C6000_SBR_H16_W
   4695 ENUMX
   4696   BFD_RELOC_C6000_SBR_GOT_U15_W
   4697 ENUMX
   4698   BFD_RELOC_C6000_SBR_GOT_L16_W
   4699 ENUMX
   4700   BFD_RELOC_C6000_SBR_GOT_H16_W
   4701 ENUMX
   4702   BFD_RELOC_C6000_DSBT_INDEX
   4703 ENUMX
   4704   BFD_RELOC_C6000_PREL31
   4705 ENUMX
   4706   BFD_RELOC_C6000_COPY
   4707 ENUMX
   4708   BFD_RELOC_C6000_JUMP_SLOT
   4709 ENUMX
   4710   BFD_RELOC_C6000_EHTYPE
   4711 ENUMX
   4712   BFD_RELOC_C6000_PCR_H16
   4713 ENUMX
   4714   BFD_RELOC_C6000_PCR_L16
   4715 ENUMX
   4716   BFD_RELOC_C6000_ALIGN
   4717 ENUMX
   4718   BFD_RELOC_C6000_FPHEAD
   4719 ENUMX
   4720   BFD_RELOC_C6000_NOCMP
   4721 ENUMDOC
   4722   TMS320C6000 relocations.
   4723 
   4724 ENUM
   4725   BFD_RELOC_FR30_48
   4726 ENUMDOC
   4727   This is a 48 bit reloc for the FR30 that stores 32 bits.
   4728 ENUM
   4729   BFD_RELOC_FR30_20
   4730 ENUMDOC
   4731   This is a 32 bit reloc for the FR30 that stores 20 bits split up into
   4732   two sections.
   4733 ENUM
   4734   BFD_RELOC_FR30_6_IN_4
   4735 ENUMDOC
   4736   This is a 16 bit reloc for the FR30 that stores a 6 bit word offset in
   4737   4 bits.
   4738 ENUM
   4739   BFD_RELOC_FR30_8_IN_8
   4740 ENUMDOC
   4741   This is a 16 bit reloc for the FR30 that stores an 8 bit byte offset
   4742   into 8 bits.
   4743 ENUM
   4744   BFD_RELOC_FR30_9_IN_8
   4745 ENUMDOC
   4746   This is a 16 bit reloc for the FR30 that stores a 9 bit short offset
   4747   into 8 bits.
   4748 ENUM
   4749   BFD_RELOC_FR30_10_IN_8
   4750 ENUMDOC
   4751   This is a 16 bit reloc for the FR30 that stores a 10 bit word offset
   4752   into 8 bits.
   4753 ENUM
   4754   BFD_RELOC_FR30_9_PCREL
   4755 ENUMDOC
   4756   This is a 16 bit reloc for the FR30 that stores a 9 bit pc relative
   4757   short offset into 8 bits.
   4758 ENUM
   4759   BFD_RELOC_FR30_12_PCREL
   4760 ENUMDOC
   4761   This is a 16 bit reloc for the FR30 that stores a 12 bit pc relative
   4762   short offset into 11 bits.
   4763 
   4764 ENUM
   4765   BFD_RELOC_MCORE_PCREL_IMM8BY4
   4766 ENUMX
   4767   BFD_RELOC_MCORE_PCREL_IMM11BY2
   4768 ENUMX
   4769   BFD_RELOC_MCORE_PCREL_IMM4BY2
   4770 ENUMX
   4771   BFD_RELOC_MCORE_PCREL_32
   4772 ENUMX
   4773   BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2
   4774 ENUMX
   4775   BFD_RELOC_MCORE_RVA
   4776 ENUMDOC
   4777   Motorola Mcore relocations.
   4778 
   4779 ENUM
   4780   BFD_RELOC_MEP_8
   4781 ENUMX
   4782   BFD_RELOC_MEP_16
   4783 ENUMX
   4784   BFD_RELOC_MEP_32
   4785 ENUMX
   4786   BFD_RELOC_MEP_PCREL8A2
   4787 ENUMX
   4788   BFD_RELOC_MEP_PCREL12A2
   4789 ENUMX
   4790   BFD_RELOC_MEP_PCREL17A2
   4791 ENUMX
   4792   BFD_RELOC_MEP_PCREL24A2
   4793 ENUMX
   4794   BFD_RELOC_MEP_PCABS24A2
   4795 ENUMX
   4796   BFD_RELOC_MEP_LOW16
   4797 ENUMX
   4798   BFD_RELOC_MEP_HI16U
   4799 ENUMX
   4800   BFD_RELOC_MEP_HI16S
   4801 ENUMX
   4802   BFD_RELOC_MEP_GPREL
   4803 ENUMX
   4804   BFD_RELOC_MEP_TPREL
   4805 ENUMX
   4806   BFD_RELOC_MEP_TPREL7
   4807 ENUMX
   4808   BFD_RELOC_MEP_TPREL7A2
   4809 ENUMX
   4810   BFD_RELOC_MEP_TPREL7A4
   4811 ENUMX
   4812   BFD_RELOC_MEP_UIMM24
   4813 ENUMX
   4814   BFD_RELOC_MEP_ADDR24A4
   4815 ENUMX
   4816   BFD_RELOC_MEP_GNU_VTINHERIT
   4817 ENUMX
   4818   BFD_RELOC_MEP_GNU_VTENTRY
   4819 ENUMDOC
   4820   Toshiba Media Processor Relocations.
   4821 COMMENT
   4822 
   4823 ENUM
   4824   BFD_RELOC_METAG_HIADDR16
   4825 ENUMX
   4826   BFD_RELOC_METAG_LOADDR16
   4827 ENUMX
   4828   BFD_RELOC_METAG_RELBRANCH
   4829 ENUMX
   4830   BFD_RELOC_METAG_GETSETOFF
   4831 ENUMX
   4832   BFD_RELOC_METAG_HIOG
   4833 ENUMX
   4834   BFD_RELOC_METAG_LOOG
   4835 ENUMX
   4836   BFD_RELOC_METAG_REL8
   4837 ENUMX
   4838   BFD_RELOC_METAG_REL16
   4839 ENUMX
   4840   BFD_RELOC_METAG_HI16_GOTOFF
   4841 ENUMX
   4842   BFD_RELOC_METAG_LO16_GOTOFF
   4843 ENUMX
   4844   BFD_RELOC_METAG_GETSET_GOTOFF
   4845 ENUMX
   4846   BFD_RELOC_METAG_GETSET_GOT
   4847 ENUMX
   4848   BFD_RELOC_METAG_HI16_GOTPC
   4849 ENUMX
   4850   BFD_RELOC_METAG_LO16_GOTPC
   4851 ENUMX
   4852   BFD_RELOC_METAG_HI16_PLT
   4853 ENUMX
   4854   BFD_RELOC_METAG_LO16_PLT
   4855 ENUMX
   4856   BFD_RELOC_METAG_RELBRANCH_PLT
   4857 ENUMX
   4858   BFD_RELOC_METAG_GOTOFF
   4859 ENUMX
   4860   BFD_RELOC_METAG_PLT
   4861 ENUMX
   4862   BFD_RELOC_METAG_COPY
   4863 ENUMX
   4864   BFD_RELOC_METAG_JMP_SLOT
   4865 ENUMX
   4866   BFD_RELOC_METAG_RELATIVE
   4867 ENUMX
   4868   BFD_RELOC_METAG_GLOB_DAT
   4869 ENUMX
   4870   BFD_RELOC_METAG_TLS_GD
   4871 ENUMX
   4872   BFD_RELOC_METAG_TLS_LDM
   4873 ENUMX
   4874   BFD_RELOC_METAG_TLS_LDO_HI16
   4875 ENUMX
   4876   BFD_RELOC_METAG_TLS_LDO_LO16
   4877 ENUMX
   4878   BFD_RELOC_METAG_TLS_LDO
   4879 ENUMX
   4880   BFD_RELOC_METAG_TLS_IE
   4881 ENUMX
   4882   BFD_RELOC_METAG_TLS_IENONPIC
   4883 ENUMX
   4884   BFD_RELOC_METAG_TLS_IENONPIC_HI16
   4885 ENUMX
   4886   BFD_RELOC_METAG_TLS_IENONPIC_LO16
   4887 ENUMX
   4888   BFD_RELOC_METAG_TLS_TPOFF
   4889 ENUMX
   4890   BFD_RELOC_METAG_TLS_DTPMOD
   4891 ENUMX
   4892   BFD_RELOC_METAG_TLS_DTPOFF
   4893 ENUMX
   4894   BFD_RELOC_METAG_TLS_LE
   4895 ENUMX
   4896   BFD_RELOC_METAG_TLS_LE_HI16
   4897 ENUMX
   4898   BFD_RELOC_METAG_TLS_LE_LO16
   4899 ENUMDOC
   4900   Imagination Technologies Meta relocations.
   4901 
   4902 ENUM
   4903   BFD_RELOC_MMIX_GETA
   4904 ENUMX
   4905   BFD_RELOC_MMIX_GETA_1
   4906 ENUMX
   4907   BFD_RELOC_MMIX_GETA_2
   4908 ENUMX
   4909   BFD_RELOC_MMIX_GETA_3
   4910 ENUMDOC
   4911   These are relocations for the GETA instruction.
   4912 ENUM
   4913   BFD_RELOC_MMIX_CBRANCH
   4914 ENUMX
   4915   BFD_RELOC_MMIX_CBRANCH_J
   4916 ENUMX
   4917   BFD_RELOC_MMIX_CBRANCH_1
   4918 ENUMX
   4919   BFD_RELOC_MMIX_CBRANCH_2
   4920 ENUMX
   4921   BFD_RELOC_MMIX_CBRANCH_3
   4922 ENUMDOC
   4923   These are relocations for a conditional branch instruction.
   4924 ENUM
   4925   BFD_RELOC_MMIX_PUSHJ
   4926 ENUMX
   4927   BFD_RELOC_MMIX_PUSHJ_1
   4928 ENUMX
   4929   BFD_RELOC_MMIX_PUSHJ_2
   4930 ENUMX
   4931   BFD_RELOC_MMIX_PUSHJ_3
   4932 ENUMX
   4933   BFD_RELOC_MMIX_PUSHJ_STUBBABLE
   4934 ENUMDOC
   4935   These are relocations for the PUSHJ instruction.
   4936 ENUM
   4937   BFD_RELOC_MMIX_JMP
   4938 ENUMX
   4939   BFD_RELOC_MMIX_JMP_1
   4940 ENUMX
   4941   BFD_RELOC_MMIX_JMP_2
   4942 ENUMX
   4943   BFD_RELOC_MMIX_JMP_3
   4944 ENUMDOC
   4945   These are relocations for the JMP instruction.
   4946 ENUM
   4947   BFD_RELOC_MMIX_ADDR19
   4948 ENUMDOC
   4949   This is a relocation for a relative address as in a GETA instruction or
   4950   a branch.
   4951 ENUM
   4952   BFD_RELOC_MMIX_ADDR27
   4953 ENUMDOC
   4954   This is a relocation for a relative address as in a JMP instruction.
   4955 ENUM
   4956   BFD_RELOC_MMIX_REG_OR_BYTE
   4957 ENUMDOC
   4958   This is a relocation for an instruction field that may be a general
   4959   register or a value 0..255.
   4960 ENUM
   4961   BFD_RELOC_MMIX_REG
   4962 ENUMDOC
   4963   This is a relocation for an instruction field that may be a general
   4964   register.
   4965 ENUM
   4966   BFD_RELOC_MMIX_BASE_PLUS_OFFSET
   4967 ENUMDOC
   4968   This is a relocation for two instruction fields holding a register and
   4969   an offset, the equivalent of the relocation.
   4970 ENUM
   4971   BFD_RELOC_MMIX_LOCAL
   4972 ENUMDOC
   4973   This relocation is an assertion that the expression is not allocated as
   4974   a global register.  It does not modify contents.
   4975 
   4976 ENUM
   4977   BFD_RELOC_AVR_7_PCREL
   4978 ENUMDOC
   4979   This is a 16 bit reloc for the AVR that stores 8 bit pc relative
   4980   short offset into 7 bits.
   4981 ENUM
   4982   BFD_RELOC_AVR_13_PCREL
   4983 ENUMDOC
   4984   This is a 16 bit reloc for the AVR that stores 13 bit pc relative
   4985   short offset into 12 bits.
   4986 ENUM
   4987   BFD_RELOC_AVR_16_PM
   4988 ENUMDOC
   4989   This is a 16 bit reloc for the AVR that stores 17 bit value (usually
   4990   program memory address) into 16 bits.
   4991 ENUM
   4992   BFD_RELOC_AVR_LO8_LDI
   4993 ENUMDOC
   4994   This is a 16 bit reloc for the AVR that stores 8 bit value (usually
   4995   data memory address) into 8 bit immediate value of LDI insn.
   4996 ENUM
   4997   BFD_RELOC_AVR_HI8_LDI
   4998 ENUMDOC
   4999   This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
   5000   of data memory address) into 8 bit immediate value of LDI insn.
   5001 ENUM
   5002   BFD_RELOC_AVR_HH8_LDI
   5003 ENUMDOC
   5004   This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
   5005   of program memory address) into 8 bit immediate value of LDI insn.
   5006 ENUM
   5007   BFD_RELOC_AVR_MS8_LDI
   5008 ENUMDOC
   5009   This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
   5010   of 32 bit value) into 8 bit immediate value of LDI insn.
   5011 ENUM
   5012   BFD_RELOC_AVR_LO8_LDI_NEG
   5013 ENUMDOC
   5014   This is a 16 bit reloc for the AVR that stores negated 8 bit value
   5015   (usually data memory address) into 8 bit immediate value of SUBI insn.
   5016 ENUM
   5017   BFD_RELOC_AVR_HI8_LDI_NEG
   5018 ENUMDOC
   5019   This is a 16 bit reloc for the AVR that stores negated 8 bit value
   5020   (high 8 bit of data memory address) into 8 bit immediate value of
   5021   SUBI insn.
   5022 ENUM
   5023   BFD_RELOC_AVR_HH8_LDI_NEG
   5024 ENUMDOC
   5025   This is a 16 bit reloc for the AVR that stores negated 8 bit value
   5026   (most high 8 bit of program memory address) into 8 bit immediate value
   5027   of LDI or SUBI insn.
   5028 ENUM
   5029   BFD_RELOC_AVR_MS8_LDI_NEG
   5030 ENUMDOC
   5031   This is a 16 bit reloc for the AVR that stores negated 8 bit value (msb
   5032   of 32 bit value) into 8 bit immediate value of LDI insn.
   5033 ENUM
   5034   BFD_RELOC_AVR_LO8_LDI_PM
   5035 ENUMDOC
   5036   This is a 16 bit reloc for the AVR that stores 8 bit value (usually
   5037   command address) into 8 bit immediate value of LDI insn.
   5038 ENUM
   5039   BFD_RELOC_AVR_LO8_LDI_GS
   5040 ENUMDOC
   5041   This is a 16 bit reloc for the AVR that stores 8 bit value
   5042   (command address) into 8 bit immediate value of LDI insn. If the address
   5043   is beyond the 128k boundary, the linker inserts a jump stub for this reloc
   5044   in the lower 128k.
   5045 ENUM
   5046   BFD_RELOC_AVR_HI8_LDI_PM
   5047 ENUMDOC
   5048   This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
   5049   of command address) into 8 bit immediate value of LDI insn.
   5050 ENUM
   5051   BFD_RELOC_AVR_HI8_LDI_GS
   5052 ENUMDOC
   5053   This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
   5054   of command address) into 8 bit immediate value of LDI insn.  If the address
   5055   is beyond the 128k boundary, the linker inserts a jump stub for this reloc
   5056   below 128k.
   5057 ENUM
   5058   BFD_RELOC_AVR_HH8_LDI_PM
   5059 ENUMDOC
   5060   This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
   5061   of command address) into 8 bit immediate value of LDI insn.
   5062 ENUM
   5063   BFD_RELOC_AVR_LO8_LDI_PM_NEG
   5064 ENUMDOC
   5065   This is a 16 bit reloc for the AVR that stores negated 8 bit value
   5066   (usually command address) into 8 bit immediate value of SUBI insn.
   5067 ENUM
   5068   BFD_RELOC_AVR_HI8_LDI_PM_NEG
   5069 ENUMDOC
   5070   This is a 16 bit reloc for the AVR that stores negated 8 bit value
   5071   (high 8 bit of 16 bit command address) into 8 bit immediate value
   5072   of SUBI insn.
   5073 ENUM
   5074   BFD_RELOC_AVR_HH8_LDI_PM_NEG
   5075 ENUMDOC
   5076   This is a 16 bit reloc for the AVR that stores negated 8 bit value
   5077   (high 6 bit of 22 bit command address) into 8 bit immediate
   5078   value of SUBI insn.
   5079 ENUM
   5080   BFD_RELOC_AVR_CALL
   5081 ENUMDOC
   5082   This is a 32 bit reloc for the AVR that stores 23 bit value
   5083   into 22 bits.
   5084 ENUM
   5085   BFD_RELOC_AVR_LDI
   5086 ENUMDOC
   5087   This is a 16 bit reloc for the AVR that stores all needed bits
   5088   for absolute addressing with ldi with overflow check to linktime
   5089 ENUM
   5090   BFD_RELOC_AVR_6
   5091 ENUMDOC
   5092   This is a 6 bit reloc for the AVR that stores offset for ldd/std
   5093   instructions
   5094 ENUM
   5095   BFD_RELOC_AVR_6_ADIW
   5096 ENUMDOC
   5097   This is a 6 bit reloc for the AVR that stores offset for adiw/sbiw
   5098   instructions
   5099 ENUM
   5100   BFD_RELOC_AVR_8_LO
   5101 ENUMDOC
   5102   This is a 8 bit reloc for the AVR that stores bits 0..7 of a symbol
   5103   in .byte lo8(symbol)
   5104 ENUM
   5105   BFD_RELOC_AVR_8_HI
   5106 ENUMDOC
   5107   This is a 8 bit reloc for the AVR that stores bits 8..15 of a symbol
   5108   in .byte hi8(symbol)
   5109 ENUM
   5110   BFD_RELOC_AVR_8_HLO
   5111 ENUMDOC
   5112   This is a 8 bit reloc for the AVR that stores bits 16..23 of a symbol
   5113   in .byte hlo8(symbol)
   5114 ENUM
   5115   BFD_RELOC_AVR_DIFF8
   5116 ENUMX
   5117   BFD_RELOC_AVR_DIFF16
   5118 ENUMX
   5119   BFD_RELOC_AVR_DIFF32
   5120 ENUMDOC
   5121   AVR relocations to mark the difference of two local symbols.
   5122   These are only needed to support linker relaxation and can be ignored
   5123   when not relaxing.  The field is set to the value of the difference
   5124   assuming no relaxation.  The relocation encodes the position of the
   5125   second symbol so the linker can determine whether to adjust the field
   5126   value.
   5127 ENUM
   5128   BFD_RELOC_AVR_LDS_STS_16
   5129 ENUMDOC
   5130   This is a 7 bit reloc for the AVR that stores SRAM address for 16bit
   5131   lds and sts instructions supported only tiny core.
   5132 ENUM
   5133   BFD_RELOC_AVR_PORT6
   5134 ENUMDOC
   5135   This is a 6 bit reloc for the AVR that stores an I/O register
   5136   number for the IN and OUT instructions
   5137 ENUM
   5138   BFD_RELOC_AVR_PORT5
   5139 ENUMDOC
   5140   This is a 5 bit reloc for the AVR that stores an I/O register
   5141   number for the SBIC, SBIS, SBI and CBI instructions
   5142 
   5143 ENUM
   5144   BFD_RELOC_RISCV_HI20
   5145 ENUMX
   5146   BFD_RELOC_RISCV_PCREL_HI20
   5147 ENUMX
   5148   BFD_RELOC_RISCV_PCREL_LO12_I
   5149 ENUMX
   5150   BFD_RELOC_RISCV_PCREL_LO12_S
   5151 ENUMX
   5152   BFD_RELOC_RISCV_LO12_I
   5153 ENUMX
   5154   BFD_RELOC_RISCV_LO12_S
   5155 ENUMX
   5156   BFD_RELOC_RISCV_GPREL12_I
   5157 ENUMX
   5158   BFD_RELOC_RISCV_GPREL12_S
   5159 ENUMX
   5160   BFD_RELOC_RISCV_TPREL_HI20
   5161 ENUMX
   5162   BFD_RELOC_RISCV_TPREL_LO12_I
   5163 ENUMX
   5164   BFD_RELOC_RISCV_TPREL_LO12_S
   5165 ENUMX
   5166   BFD_RELOC_RISCV_TPREL_ADD
   5167 ENUMX
   5168   BFD_RELOC_RISCV_CALL
   5169 ENUMX
   5170   BFD_RELOC_RISCV_CALL_PLT
   5171 ENUMX
   5172   BFD_RELOC_RISCV_ADD8
   5173 ENUMX
   5174   BFD_RELOC_RISCV_ADD16
   5175 ENUMX
   5176   BFD_RELOC_RISCV_ADD32
   5177 ENUMX
   5178   BFD_RELOC_RISCV_ADD64
   5179 ENUMX
   5180   BFD_RELOC_RISCV_SUB8
   5181 ENUMX
   5182   BFD_RELOC_RISCV_SUB16
   5183 ENUMX
   5184   BFD_RELOC_RISCV_SUB32
   5185 ENUMX
   5186   BFD_RELOC_RISCV_SUB64
   5187 ENUMX
   5188   BFD_RELOC_RISCV_GOT_HI20
   5189 ENUMX
   5190   BFD_RELOC_RISCV_TLS_GOT_HI20
   5191 ENUMX
   5192   BFD_RELOC_RISCV_TLS_GD_HI20
   5193 ENUMX
   5194   BFD_RELOC_RISCV_JMP
   5195 ENUMX
   5196   BFD_RELOC_RISCV_TLS_DTPMOD32
   5197 ENUMX
   5198   BFD_RELOC_RISCV_TLS_DTPREL32
   5199 ENUMX
   5200   BFD_RELOC_RISCV_TLS_DTPMOD64
   5201 ENUMX
   5202   BFD_RELOC_RISCV_TLS_DTPREL64
   5203 ENUMX
   5204   BFD_RELOC_RISCV_TLS_TPREL32
   5205 ENUMX
   5206   BFD_RELOC_RISCV_TLS_TPREL64
   5207 ENUMX
   5208   BFD_RELOC_RISCV_ALIGN
   5209 ENUMX
   5210   BFD_RELOC_RISCV_RVC_BRANCH
   5211 ENUMX
   5212   BFD_RELOC_RISCV_RVC_JUMP
   5213 ENUMX
   5214   BFD_RELOC_RISCV_RVC_LUI
   5215 ENUMX
   5216   BFD_RELOC_RISCV_GPREL_I
   5217 ENUMX
   5218   BFD_RELOC_RISCV_GPREL_S
   5219 ENUMX
   5220   BFD_RELOC_RISCV_TPREL_I
   5221 ENUMX
   5222   BFD_RELOC_RISCV_TPREL_S
   5223 ENUMX
   5224   BFD_RELOC_RISCV_RELAX
   5225 ENUMX
   5226   BFD_RELOC_RISCV_CFA
   5227 ENUMX
   5228   BFD_RELOC_RISCV_SUB6
   5229 ENUMX
   5230   BFD_RELOC_RISCV_SET6
   5231 ENUMX
   5232   BFD_RELOC_RISCV_SET8
   5233 ENUMX
   5234   BFD_RELOC_RISCV_SET16
   5235 ENUMX
   5236   BFD_RELOC_RISCV_SET32
   5237 ENUMX
   5238   BFD_RELOC_RISCV_32_PCREL
   5239 ENUMDOC
   5240   RISC-V relocations.
   5241 
   5242 ENUM
   5243   BFD_RELOC_RL78_NEG8
   5244 ENUMX
   5245   BFD_RELOC_RL78_NEG16
   5246 ENUMX
   5247   BFD_RELOC_RL78_NEG24
   5248 ENUMX
   5249   BFD_RELOC_RL78_NEG32
   5250 ENUMX
   5251   BFD_RELOC_RL78_16_OP
   5252 ENUMX
   5253   BFD_RELOC_RL78_24_OP
   5254 ENUMX
   5255   BFD_RELOC_RL78_32_OP
   5256 ENUMX
   5257   BFD_RELOC_RL78_8U
   5258 ENUMX
   5259   BFD_RELOC_RL78_16U
   5260 ENUMX
   5261   BFD_RELOC_RL78_24U
   5262 ENUMX
   5263   BFD_RELOC_RL78_DIR3U_PCREL
   5264 ENUMX
   5265   BFD_RELOC_RL78_DIFF
   5266 ENUMX
   5267   BFD_RELOC_RL78_GPRELB
   5268 ENUMX
   5269   BFD_RELOC_RL78_GPRELW
   5270 ENUMX
   5271   BFD_RELOC_RL78_GPRELL
   5272 ENUMX
   5273   BFD_RELOC_RL78_SYM
   5274 ENUMX
   5275   BFD_RELOC_RL78_OP_SUBTRACT
   5276 ENUMX
   5277   BFD_RELOC_RL78_OP_NEG
   5278 ENUMX
   5279   BFD_RELOC_RL78_OP_AND
   5280 ENUMX
   5281   BFD_RELOC_RL78_OP_SHRA
   5282 ENUMX
   5283   BFD_RELOC_RL78_ABS8
   5284 ENUMX
   5285   BFD_RELOC_RL78_ABS16
   5286 ENUMX
   5287   BFD_RELOC_RL78_ABS16_REV
   5288 ENUMX
   5289   BFD_RELOC_RL78_ABS32
   5290 ENUMX
   5291   BFD_RELOC_RL78_ABS32_REV
   5292 ENUMX
   5293   BFD_RELOC_RL78_ABS16U
   5294 ENUMX
   5295   BFD_RELOC_RL78_ABS16UW
   5296 ENUMX
   5297   BFD_RELOC_RL78_ABS16UL
   5298 ENUMX
   5299   BFD_RELOC_RL78_RELAX
   5300 ENUMX
   5301   BFD_RELOC_RL78_HI16
   5302 ENUMX
   5303   BFD_RELOC_RL78_HI8
   5304 ENUMX
   5305   BFD_RELOC_RL78_LO16
   5306 ENUMX
   5307   BFD_RELOC_RL78_CODE
   5308 ENUMX
   5309   BFD_RELOC_RL78_SADDR
   5310 ENUMDOC
   5311   Renesas RL78 Relocations.
   5312 
   5313 ENUM
   5314   BFD_RELOC_RX_NEG8
   5315 ENUMX
   5316   BFD_RELOC_RX_NEG16
   5317 ENUMX
   5318   BFD_RELOC_RX_NEG24
   5319 ENUMX
   5320   BFD_RELOC_RX_NEG32
   5321 ENUMX
   5322   BFD_RELOC_RX_16_OP
   5323 ENUMX
   5324   BFD_RELOC_RX_24_OP
   5325 ENUMX
   5326   BFD_RELOC_RX_32_OP
   5327 ENUMX
   5328   BFD_RELOC_RX_8U
   5329 ENUMX
   5330   BFD_RELOC_RX_16U
   5331 ENUMX
   5332   BFD_RELOC_RX_24U
   5333 ENUMX
   5334   BFD_RELOC_RX_DIR3U_PCREL
   5335 ENUMX
   5336   BFD_RELOC_RX_DIFF
   5337 ENUMX
   5338   BFD_RELOC_RX_GPRELB
   5339 ENUMX
   5340   BFD_RELOC_RX_GPRELW
   5341 ENUMX
   5342   BFD_RELOC_RX_GPRELL
   5343 ENUMX
   5344   BFD_RELOC_RX_SYM
   5345 ENUMX
   5346   BFD_RELOC_RX_OP_SUBTRACT
   5347 ENUMX
   5348   BFD_RELOC_RX_OP_NEG
   5349 ENUMX
   5350   BFD_RELOC_RX_ABS8
   5351 ENUMX
   5352   BFD_RELOC_RX_ABS16
   5353 ENUMX
   5354   BFD_RELOC_RX_ABS16_REV
   5355 ENUMX
   5356   BFD_RELOC_RX_ABS32
   5357 ENUMX
   5358   BFD_RELOC_RX_ABS32_REV
   5359 ENUMX
   5360   BFD_RELOC_RX_ABS16U
   5361 ENUMX
   5362   BFD_RELOC_RX_ABS16UW
   5363 ENUMX
   5364   BFD_RELOC_RX_ABS16UL
   5365 ENUMX
   5366   BFD_RELOC_RX_RELAX
   5367 ENUMDOC
   5368   Renesas RX Relocations.
   5369 
   5370 ENUM
   5371   BFD_RELOC_390_12
   5372 ENUMDOC
   5373    Direct 12 bit.
   5374 ENUM
   5375   BFD_RELOC_390_GOT12
   5376 ENUMDOC
   5377   12 bit GOT offset.
   5378 ENUM
   5379   BFD_RELOC_390_PLT32
   5380 ENUMDOC
   5381   32 bit PC relative PLT address.
   5382 ENUM
   5383   BFD_RELOC_390_COPY
   5384 ENUMDOC
   5385   Copy symbol at runtime.
   5386 ENUM
   5387   BFD_RELOC_390_GLOB_DAT
   5388 ENUMDOC
   5389   Create GOT entry.
   5390 ENUM
   5391   BFD_RELOC_390_JMP_SLOT
   5392 ENUMDOC
   5393   Create PLT entry.
   5394 ENUM
   5395   BFD_RELOC_390_RELATIVE
   5396 ENUMDOC
   5397   Adjust by program base.
   5398 ENUM
   5399   BFD_RELOC_390_GOTPC
   5400 ENUMDOC
   5401   32 bit PC relative offset to GOT.
   5402 ENUM
   5403   BFD_RELOC_390_GOT16
   5404 ENUMDOC
   5405   16 bit GOT offset.
   5406 ENUM
   5407   BFD_RELOC_390_PC12DBL
   5408 ENUMDOC
   5409   PC relative 12 bit shifted by 1.
   5410 ENUM
   5411   BFD_RELOC_390_PLT12DBL
   5412 ENUMDOC
   5413   12 bit PC rel. PLT shifted by 1.
   5414 ENUM
   5415   BFD_RELOC_390_PC16DBL
   5416 ENUMDOC
   5417   PC relative 16 bit shifted by 1.
   5418 ENUM
   5419   BFD_RELOC_390_PLT16DBL
   5420 ENUMDOC
   5421   16 bit PC rel. PLT shifted by 1.
   5422 ENUM
   5423   BFD_RELOC_390_PC24DBL
   5424 ENUMDOC
   5425   PC relative 24 bit shifted by 1.
   5426 ENUM
   5427   BFD_RELOC_390_PLT24DBL
   5428 ENUMDOC
   5429   24 bit PC rel. PLT shifted by 1.
   5430 ENUM
   5431   BFD_RELOC_390_PC32DBL
   5432 ENUMDOC
   5433   PC relative 32 bit shifted by 1.
   5434 ENUM
   5435   BFD_RELOC_390_PLT32DBL
   5436 ENUMDOC
   5437   32 bit PC rel. PLT shifted by 1.
   5438 ENUM
   5439   BFD_RELOC_390_GOTPCDBL
   5440 ENUMDOC
   5441   32 bit PC rel. GOT shifted by 1.
   5442 ENUM
   5443   BFD_RELOC_390_GOT64
   5444 ENUMDOC
   5445   64 bit GOT offset.
   5446 ENUM
   5447   BFD_RELOC_390_PLT64
   5448 ENUMDOC
   5449   64 bit PC relative PLT address.
   5450 ENUM
   5451   BFD_RELOC_390_GOTENT
   5452 ENUMDOC
   5453   32 bit rel. offset to GOT entry.
   5454 ENUM
   5455   BFD_RELOC_390_GOTOFF64
   5456 ENUMDOC
   5457   64 bit offset to GOT.
   5458 ENUM
   5459   BFD_RELOC_390_GOTPLT12
   5460 ENUMDOC
   5461   12-bit offset to symbol-entry within GOT, with PLT handling.
   5462 ENUM
   5463   BFD_RELOC_390_GOTPLT16
   5464 ENUMDOC
   5465   16-bit offset to symbol-entry within GOT, with PLT handling.
   5466 ENUM
   5467   BFD_RELOC_390_GOTPLT32
   5468 ENUMDOC
   5469   32-bit offset to symbol-entry within GOT, with PLT handling.
   5470 ENUM
   5471   BFD_RELOC_390_GOTPLT64
   5472 ENUMDOC
   5473   64-bit offset to symbol-entry within GOT, with PLT handling.
   5474 ENUM
   5475   BFD_RELOC_390_GOTPLTENT
   5476 ENUMDOC
   5477   32-bit rel. offset to symbol-entry within GOT, with PLT handling.
   5478 ENUM
   5479   BFD_RELOC_390_PLTOFF16
   5480 ENUMDOC
   5481   16-bit rel. offset from the GOT to a PLT entry.
   5482 ENUM
   5483   BFD_RELOC_390_PLTOFF32
   5484 ENUMDOC
   5485   32-bit rel. offset from the GOT to a PLT entry.
   5486 ENUM
   5487   BFD_RELOC_390_PLTOFF64
   5488 ENUMDOC
   5489   64-bit rel. offset from the GOT to a PLT entry.
   5490 
   5491 ENUM
   5492   BFD_RELOC_390_TLS_LOAD
   5493 ENUMX
   5494   BFD_RELOC_390_TLS_GDCALL
   5495 ENUMX
   5496   BFD_RELOC_390_TLS_LDCALL
   5497 ENUMX
   5498   BFD_RELOC_390_TLS_GD32
   5499 ENUMX
   5500   BFD_RELOC_390_TLS_GD64
   5501 ENUMX
   5502   BFD_RELOC_390_TLS_GOTIE12
   5503 ENUMX
   5504   BFD_RELOC_390_TLS_GOTIE32
   5505 ENUMX
   5506   BFD_RELOC_390_TLS_GOTIE64
   5507 ENUMX
   5508   BFD_RELOC_390_TLS_LDM32
   5509 ENUMX
   5510   BFD_RELOC_390_TLS_LDM64
   5511 ENUMX
   5512   BFD_RELOC_390_TLS_IE32
   5513 ENUMX
   5514   BFD_RELOC_390_TLS_IE64
   5515 ENUMX
   5516   BFD_RELOC_390_TLS_IEENT
   5517 ENUMX
   5518   BFD_RELOC_390_TLS_LE32
   5519 ENUMX
   5520   BFD_RELOC_390_TLS_LE64
   5521 ENUMX
   5522   BFD_RELOC_390_TLS_LDO32
   5523 ENUMX
   5524   BFD_RELOC_390_TLS_LDO64
   5525 ENUMX
   5526   BFD_RELOC_390_TLS_DTPMOD
   5527 ENUMX
   5528   BFD_RELOC_390_TLS_DTPOFF
   5529 ENUMX
   5530   BFD_RELOC_390_TLS_TPOFF
   5531 ENUMDOC
   5532   s390 tls relocations.
   5533 
   5534 ENUM
   5535   BFD_RELOC_390_20
   5536 ENUMX
   5537   BFD_RELOC_390_GOT20
   5538 ENUMX
   5539   BFD_RELOC_390_GOTPLT20
   5540 ENUMX
   5541   BFD_RELOC_390_TLS_GOTIE20
   5542 ENUMDOC
   5543   Long displacement extension.
   5544 
   5545 ENUM
   5546   BFD_RELOC_390_IRELATIVE
   5547 ENUMDOC
   5548   STT_GNU_IFUNC relocation.
   5549 
   5550 ENUM
   5551   BFD_RELOC_SCORE_GPREL15
   5552 ENUMDOC
   5553   Score relocations
   5554   Low 16 bit for load/store
   5555 ENUM
   5556   BFD_RELOC_SCORE_DUMMY2
   5557 ENUMX
   5558   BFD_RELOC_SCORE_JMP
   5559 ENUMDOC
   5560   This is a 24-bit reloc with the right 1 bit assumed to be 0
   5561 ENUM
   5562   BFD_RELOC_SCORE_BRANCH
   5563 ENUMDOC
   5564   This is a 19-bit reloc with the right 1 bit assumed to be 0
   5565 ENUM
   5566   BFD_RELOC_SCORE_IMM30
   5567 ENUMDOC
   5568   This is a 32-bit reloc for 48-bit instructions.
   5569 ENUM
   5570   BFD_RELOC_SCORE_IMM32
   5571 ENUMDOC
   5572   This is a 32-bit reloc for 48-bit instructions.
   5573 ENUM
   5574   BFD_RELOC_SCORE16_JMP
   5575 ENUMDOC
   5576   This is a 11-bit reloc with the right 1 bit assumed to be 0
   5577 ENUM
   5578   BFD_RELOC_SCORE16_BRANCH
   5579 ENUMDOC
   5580   This is a 8-bit reloc with the right 1 bit assumed to be 0
   5581 ENUM
   5582   BFD_RELOC_SCORE_BCMP
   5583 ENUMDOC
   5584    This is a 9-bit reloc with the right 1 bit assumed to be 0
   5585 ENUM
   5586   BFD_RELOC_SCORE_GOT15
   5587 ENUMX
   5588   BFD_RELOC_SCORE_GOT_LO16
   5589 ENUMX
   5590   BFD_RELOC_SCORE_CALL15
   5591 ENUMX
   5592   BFD_RELOC_SCORE_DUMMY_HI16
   5593 ENUMDOC
   5594   Undocumented Score relocs
   5595 
   5596 ENUM
   5597   BFD_RELOC_IP2K_FR9
   5598 ENUMDOC
   5599   Scenix IP2K - 9-bit register number / data address
   5600 ENUM
   5601   BFD_RELOC_IP2K_BANK
   5602 ENUMDOC
   5603   Scenix IP2K - 4-bit register/data bank number
   5604 ENUM
   5605   BFD_RELOC_IP2K_ADDR16CJP
   5606 ENUMDOC
   5607   Scenix IP2K - low 13 bits of instruction word address
   5608 ENUM
   5609   BFD_RELOC_IP2K_PAGE3
   5610 ENUMDOC
   5611   Scenix IP2K - high 3 bits of instruction word address
   5612 ENUM
   5613   BFD_RELOC_IP2K_LO8DATA
   5614 ENUMX
   5615   BFD_RELOC_IP2K_HI8DATA
   5616 ENUMX
   5617   BFD_RELOC_IP2K_EX8DATA
   5618 ENUMDOC
   5619   Scenix IP2K - ext/low/high 8 bits of data address
   5620 ENUM
   5621   BFD_RELOC_IP2K_LO8INSN
   5622 ENUMX
   5623   BFD_RELOC_IP2K_HI8INSN
   5624 ENUMDOC
   5625   Scenix IP2K - low/high 8 bits of instruction word address
   5626 ENUM
   5627   BFD_RELOC_IP2K_PC_SKIP
   5628 ENUMDOC
   5629   Scenix IP2K - even/odd PC modifier to modify snb pcl.0
   5630 ENUM
   5631   BFD_RELOC_IP2K_TEXT
   5632 ENUMDOC
   5633   Scenix IP2K - 16 bit word address in text section.
   5634 ENUM
   5635   BFD_RELOC_IP2K_FR_OFFSET
   5636 ENUMDOC
   5637   Scenix IP2K - 7-bit sp or dp offset
   5638 ENUM
   5639   BFD_RELOC_VPE4KMATH_DATA
   5640 ENUMX
   5641   BFD_RELOC_VPE4KMATH_INSN
   5642 ENUMDOC
   5643   Scenix VPE4K coprocessor - data/insn-space addressing
   5644 
   5645 ENUM
   5646   BFD_RELOC_VTABLE_INHERIT
   5647 ENUMX
   5648   BFD_RELOC_VTABLE_ENTRY
   5649 ENUMDOC
   5650   These two relocations are used by the linker to determine which of
   5651   the entries in a C++ virtual function table are actually used.  When
   5652   the --gc-sections option is given, the linker will zero out the entries
   5653   that are not used, so that the code for those functions need not be
   5654   included in the output.
   5655 
   5656   VTABLE_INHERIT is a zero-space relocation used to describe to the
   5657   linker the inheritance tree of a C++ virtual function table.  The
   5658   relocation's symbol should be the parent class' vtable, and the
   5659   relocation should be located at the child vtable.
   5660 
   5661   VTABLE_ENTRY is a zero-space relocation that describes the use of a
   5662   virtual function table entry.  The reloc's symbol should refer to the
   5663   table of the class mentioned in the code.  Off of that base, an offset
   5664   describes the entry that is being used.  For Rela hosts, this offset
   5665   is stored in the reloc's addend.  For Rel hosts, we are forced to put
   5666   this offset in the reloc's section offset.
   5667 
   5668 ENUM
   5669   BFD_RELOC_IA64_IMM14
   5670 ENUMX
   5671   BFD_RELOC_IA64_IMM22
   5672 ENUMX
   5673   BFD_RELOC_IA64_IMM64
   5674 ENUMX
   5675   BFD_RELOC_IA64_DIR32MSB
   5676 ENUMX
   5677   BFD_RELOC_IA64_DIR32LSB
   5678 ENUMX
   5679   BFD_RELOC_IA64_DIR64MSB
   5680 ENUMX
   5681   BFD_RELOC_IA64_DIR64LSB
   5682 ENUMX
   5683   BFD_RELOC_IA64_GPREL22
   5684 ENUMX
   5685   BFD_RELOC_IA64_GPREL64I
   5686 ENUMX
   5687   BFD_RELOC_IA64_GPREL32MSB
   5688 ENUMX
   5689   BFD_RELOC_IA64_GPREL32LSB
   5690 ENUMX
   5691   BFD_RELOC_IA64_GPREL64MSB
   5692 ENUMX
   5693   BFD_RELOC_IA64_GPREL64LSB
   5694 ENUMX
   5695   BFD_RELOC_IA64_LTOFF22
   5696 ENUMX
   5697   BFD_RELOC_IA64_LTOFF64I
   5698 ENUMX
   5699   BFD_RELOC_IA64_PLTOFF22
   5700 ENUMX
   5701   BFD_RELOC_IA64_PLTOFF64I
   5702 ENUMX
   5703   BFD_RELOC_IA64_PLTOFF64MSB
   5704 ENUMX
   5705   BFD_RELOC_IA64_PLTOFF64LSB
   5706 ENUMX
   5707   BFD_RELOC_IA64_FPTR64I
   5708 ENUMX
   5709   BFD_RELOC_IA64_FPTR32MSB
   5710 ENUMX
   5711   BFD_RELOC_IA64_FPTR32LSB
   5712 ENUMX
   5713   BFD_RELOC_IA64_FPTR64MSB
   5714 ENUMX
   5715   BFD_RELOC_IA64_FPTR64LSB
   5716 ENUMX
   5717   BFD_RELOC_IA64_PCREL21B
   5718 ENUMX
   5719   BFD_RELOC_IA64_PCREL21BI
   5720 ENUMX
   5721   BFD_RELOC_IA64_PCREL21M
   5722 ENUMX
   5723   BFD_RELOC_IA64_PCREL21F
   5724 ENUMX
   5725   BFD_RELOC_IA64_PCREL22
   5726 ENUMX
   5727   BFD_RELOC_IA64_PCREL60B
   5728 ENUMX
   5729   BFD_RELOC_IA64_PCREL64I
   5730 ENUMX
   5731   BFD_RELOC_IA64_PCREL32MSB
   5732 ENUMX
   5733   BFD_RELOC_IA64_PCREL32LSB
   5734 ENUMX
   5735   BFD_RELOC_IA64_PCREL64MSB
   5736 ENUMX
   5737   BFD_RELOC_IA64_PCREL64LSB
   5738 ENUMX
   5739   BFD_RELOC_IA64_LTOFF_FPTR22
   5740 ENUMX
   5741   BFD_RELOC_IA64_LTOFF_FPTR64I
   5742 ENUMX
   5743   BFD_RELOC_IA64_LTOFF_FPTR32MSB
   5744 ENUMX
   5745   BFD_RELOC_IA64_LTOFF_FPTR32LSB
   5746 ENUMX
   5747   BFD_RELOC_IA64_LTOFF_FPTR64MSB
   5748 ENUMX
   5749   BFD_RELOC_IA64_LTOFF_FPTR64LSB
   5750 ENUMX
   5751   BFD_RELOC_IA64_SEGREL32MSB
   5752 ENUMX
   5753   BFD_RELOC_IA64_SEGREL32LSB
   5754 ENUMX
   5755   BFD_RELOC_IA64_SEGREL64MSB
   5756 ENUMX
   5757   BFD_RELOC_IA64_SEGREL64LSB
   5758 ENUMX
   5759   BFD_RELOC_IA64_SECREL32MSB
   5760 ENUMX
   5761   BFD_RELOC_IA64_SECREL32LSB
   5762 ENUMX
   5763   BFD_RELOC_IA64_SECREL64MSB
   5764 ENUMX
   5765   BFD_RELOC_IA64_SECREL64LSB
   5766 ENUMX
   5767   BFD_RELOC_IA64_REL32MSB
   5768 ENUMX
   5769   BFD_RELOC_IA64_REL32LSB
   5770 ENUMX
   5771   BFD_RELOC_IA64_REL64MSB
   5772 ENUMX
   5773   BFD_RELOC_IA64_REL64LSB
   5774 ENUMX
   5775   BFD_RELOC_IA64_LTV32MSB
   5776 ENUMX
   5777   BFD_RELOC_IA64_LTV32LSB
   5778 ENUMX
   5779   BFD_RELOC_IA64_LTV64MSB
   5780 ENUMX
   5781   BFD_RELOC_IA64_LTV64LSB
   5782 ENUMX
   5783   BFD_RELOC_IA64_IPLTMSB
   5784 ENUMX
   5785   BFD_RELOC_IA64_IPLTLSB
   5786 ENUMX
   5787   BFD_RELOC_IA64_COPY
   5788 ENUMX
   5789   BFD_RELOC_IA64_LTOFF22X
   5790 ENUMX
   5791   BFD_RELOC_IA64_LDXMOV
   5792 ENUMX
   5793   BFD_RELOC_IA64_TPREL14
   5794 ENUMX
   5795   BFD_RELOC_IA64_TPREL22
   5796 ENUMX
   5797   BFD_RELOC_IA64_TPREL64I
   5798 ENUMX
   5799   BFD_RELOC_IA64_TPREL64MSB
   5800 ENUMX
   5801   BFD_RELOC_IA64_TPREL64LSB
   5802 ENUMX
   5803   BFD_RELOC_IA64_LTOFF_TPREL22
   5804 ENUMX
   5805   BFD_RELOC_IA64_DTPMOD64MSB
   5806 ENUMX
   5807   BFD_RELOC_IA64_DTPMOD64LSB
   5808 ENUMX
   5809   BFD_RELOC_IA64_LTOFF_DTPMOD22
   5810 ENUMX
   5811   BFD_RELOC_IA64_DTPREL14
   5812 ENUMX
   5813   BFD_RELOC_IA64_DTPREL22
   5814 ENUMX
   5815   BFD_RELOC_IA64_DTPREL64I
   5816 ENUMX
   5817   BFD_RELOC_IA64_DTPREL32MSB
   5818 ENUMX
   5819   BFD_RELOC_IA64_DTPREL32LSB
   5820 ENUMX
   5821   BFD_RELOC_IA64_DTPREL64MSB
   5822 ENUMX
   5823   BFD_RELOC_IA64_DTPREL64LSB
   5824 ENUMX
   5825   BFD_RELOC_IA64_LTOFF_DTPREL22
   5826 ENUMDOC
   5827   Intel IA64 Relocations.
   5828 
   5829 ENUM
   5830   BFD_RELOC_M68HC11_HI8
   5831 ENUMDOC
   5832   Motorola 68HC11 reloc.
   5833   This is the 8 bit high part of an absolute address.
   5834 ENUM
   5835   BFD_RELOC_M68HC11_LO8
   5836 ENUMDOC
   5837   Motorola 68HC11 reloc.
   5838   This is the 8 bit low part of an absolute address.
   5839 ENUM
   5840   BFD_RELOC_M68HC11_3B
   5841 ENUMDOC
   5842   Motorola 68HC11 reloc.
   5843   This is the 3 bit of a value.
   5844 ENUM
   5845   BFD_RELOC_M68HC11_RL_JUMP
   5846 ENUMDOC
   5847   Motorola 68HC11 reloc.
   5848   This reloc marks the beginning of a jump/call instruction.
   5849   It is used for linker relaxation to correctly identify beginning
   5850   of instruction and change some branches to use PC-relative
   5851   addressing mode.
   5852 ENUM
   5853   BFD_RELOC_M68HC11_RL_GROUP
   5854 ENUMDOC
   5855   Motorola 68HC11 reloc.
   5856   This reloc marks a group of several instructions that gcc generates
   5857   and for which the linker relaxation pass can modify and/or remove
   5858   some of them.
   5859 ENUM
   5860   BFD_RELOC_M68HC11_LO16
   5861 ENUMDOC
   5862   Motorola 68HC11 reloc.
   5863   This is the 16-bit lower part of an address.  It is used for 'call'
   5864   instruction to specify the symbol address without any special
   5865   transformation (due to memory bank window).
   5866 ENUM
   5867   BFD_RELOC_M68HC11_PAGE
   5868 ENUMDOC
   5869   Motorola 68HC11 reloc.
   5870   This is a 8-bit reloc that specifies the page number of an address.
   5871   It is used by 'call' instruction to specify the page number of
   5872   the symbol.
   5873 ENUM
   5874   BFD_RELOC_M68HC11_24
   5875 ENUMDOC
   5876   Motorola 68HC11 reloc.
   5877   This is a 24-bit reloc that represents the address with a 16-bit
   5878   value and a 8-bit page number.  The symbol address is transformed
   5879   to follow the 16K memory bank of 68HC12 (seen as mapped in the window).
   5880 ENUM
   5881   BFD_RELOC_M68HC12_5B
   5882 ENUMDOC
   5883   Motorola 68HC12 reloc.
   5884   This is the 5 bits of a value.
   5885 ENUM
   5886   BFD_RELOC_XGATE_RL_JUMP
   5887 ENUMDOC
   5888   Freescale XGATE reloc.
   5889   This reloc marks the beginning of a bra/jal instruction.
   5890 ENUM
   5891   BFD_RELOC_XGATE_RL_GROUP
   5892 ENUMDOC
   5893   Freescale XGATE reloc.
   5894   This reloc marks a group of several instructions that gcc generates
   5895   and for which the linker relaxation pass can modify and/or remove
   5896   some of them.
   5897 ENUM
   5898   BFD_RELOC_XGATE_LO16
   5899 ENUMDOC
   5900   Freescale XGATE reloc.
   5901   This is the 16-bit lower part of an address.  It is used for the '16-bit'
   5902   instructions.
   5903 ENUM
   5904   BFD_RELOC_XGATE_GPAGE
   5905 ENUMDOC
   5906   Freescale XGATE reloc.
   5907 ENUM
   5908   BFD_RELOC_XGATE_24
   5909 ENUMDOC
   5910   Freescale XGATE reloc.
   5911 ENUM
   5912   BFD_RELOC_XGATE_PCREL_9
   5913 ENUMDOC
   5914   Freescale XGATE reloc.
   5915   This is a 9-bit pc-relative reloc.
   5916 ENUM
   5917   BFD_RELOC_XGATE_PCREL_10
   5918 ENUMDOC
   5919   Freescale XGATE reloc.
   5920   This is a 10-bit pc-relative reloc.
   5921 ENUM
   5922   BFD_RELOC_XGATE_IMM8_LO
   5923 ENUMDOC
   5924   Freescale XGATE reloc.
   5925   This is the 16-bit lower part of an address.  It is used for the '16-bit'
   5926   instructions.
   5927 ENUM
   5928   BFD_RELOC_XGATE_IMM8_HI
   5929 ENUMDOC
   5930   Freescale XGATE reloc.
   5931   This is the 16-bit higher part of an address.  It is used for the '16-bit'
   5932   instructions.
   5933 ENUM
   5934   BFD_RELOC_XGATE_IMM3
   5935 ENUMDOC
   5936   Freescale XGATE reloc.
   5937   This is a 3-bit pc-relative reloc.
   5938 ENUM
   5939   BFD_RELOC_XGATE_IMM4
   5940 ENUMDOC
   5941   Freescale XGATE reloc.
   5942   This is a 4-bit pc-relative reloc.
   5943 ENUM
   5944   BFD_RELOC_XGATE_IMM5
   5945 ENUMDOC
   5946   Freescale XGATE reloc.
   5947   This is a 5-bit pc-relative reloc.
   5948 ENUM
   5949   BFD_RELOC_M68HC12_9B
   5950 ENUMDOC
   5951   Motorola 68HC12 reloc.
   5952   This is the 9 bits of a value.
   5953 ENUM
   5954   BFD_RELOC_M68HC12_16B
   5955 ENUMDOC
   5956   Motorola 68HC12 reloc.
   5957   This is the 16 bits of a value.
   5958 ENUM
   5959   BFD_RELOC_M68HC12_9_PCREL
   5960 ENUMDOC
   5961   Motorola 68HC12/XGATE reloc.
   5962   This is a PCREL9 branch.
   5963 ENUM
   5964   BFD_RELOC_M68HC12_10_PCREL
   5965 ENUMDOC
   5966   Motorola 68HC12/XGATE reloc.
   5967   This is a PCREL10 branch.
   5968 ENUM
   5969   BFD_RELOC_M68HC12_LO8XG
   5970 ENUMDOC
   5971   Motorola 68HC12/XGATE reloc.
   5972   This is the 8 bit low part of an absolute address and immediately precedes
   5973   a matching HI8XG part.
   5974 ENUM
   5975   BFD_RELOC_M68HC12_HI8XG
   5976 ENUMDOC
   5977   Motorola 68HC12/XGATE reloc.
   5978   This is the 8 bit high part of an absolute address and immediately follows
   5979   a matching LO8XG part.
   5980 ENUM
   5981   BFD_RELOC_S12Z_15_PCREL
   5982 ENUMDOC
   5983   Freescale S12Z reloc.
   5984   This is a 15 bit relative address.  If the most significant bits are all zero
   5985   then it may be truncated to 8 bits.
   5986 
   5987 ENUM
   5988   BFD_RELOC_CR16_NUM8
   5989 ENUMX
   5990   BFD_RELOC_CR16_NUM16
   5991 ENUMX
   5992   BFD_RELOC_CR16_NUM32
   5993 ENUMX
   5994   BFD_RELOC_CR16_NUM32a
   5995 ENUMX
   5996   BFD_RELOC_CR16_REGREL0
   5997 ENUMX
   5998   BFD_RELOC_CR16_REGREL4
   5999 ENUMX
   6000   BFD_RELOC_CR16_REGREL4a
   6001 ENUMX
   6002   BFD_RELOC_CR16_REGREL14
   6003 ENUMX
   6004   BFD_RELOC_CR16_REGREL14a
   6005 ENUMX
   6006   BFD_RELOC_CR16_REGREL16
   6007 ENUMX
   6008   BFD_RELOC_CR16_REGREL20
   6009 ENUMX
   6010   BFD_RELOC_CR16_REGREL20a
   6011 ENUMX
   6012   BFD_RELOC_CR16_ABS20
   6013 ENUMX
   6014   BFD_RELOC_CR16_ABS24
   6015 ENUMX
   6016   BFD_RELOC_CR16_IMM4
   6017 ENUMX
   6018   BFD_RELOC_CR16_IMM8
   6019 ENUMX
   6020   BFD_RELOC_CR16_IMM16
   6021 ENUMX
   6022   BFD_RELOC_CR16_IMM20
   6023 ENUMX
   6024   BFD_RELOC_CR16_IMM24
   6025 ENUMX
   6026   BFD_RELOC_CR16_IMM32
   6027 ENUMX
   6028   BFD_RELOC_CR16_IMM32a
   6029 ENUMX
   6030   BFD_RELOC_CR16_DISP4
   6031 ENUMX
   6032   BFD_RELOC_CR16_DISP8
   6033 ENUMX
   6034   BFD_RELOC_CR16_DISP16
   6035 ENUMX
   6036   BFD_RELOC_CR16_DISP20
   6037 ENUMX
   6038   BFD_RELOC_CR16_DISP24
   6039 ENUMX
   6040   BFD_RELOC_CR16_DISP24a
   6041 ENUMX
   6042   BFD_RELOC_CR16_SWITCH8
   6043 ENUMX
   6044   BFD_RELOC_CR16_SWITCH16
   6045 ENUMX
   6046   BFD_RELOC_CR16_SWITCH32
   6047 ENUMX
   6048   BFD_RELOC_CR16_GOT_REGREL20
   6049 ENUMX
   6050   BFD_RELOC_CR16_GOTC_REGREL20
   6051 ENUMX
   6052   BFD_RELOC_CR16_GLOB_DAT
   6053 ENUMDOC
   6054   NS CR16 Relocations.
   6055 
   6056 ENUM
   6057   BFD_RELOC_CRX_REL4
   6058 ENUMX
   6059   BFD_RELOC_CRX_REL8
   6060 ENUMX
   6061   BFD_RELOC_CRX_REL8_CMP
   6062 ENUMX
   6063   BFD_RELOC_CRX_REL16
   6064 ENUMX
   6065   BFD_RELOC_CRX_REL24
   6066 ENUMX
   6067   BFD_RELOC_CRX_REL32
   6068 ENUMX
   6069   BFD_RELOC_CRX_REGREL12
   6070 ENUMX
   6071   BFD_RELOC_CRX_REGREL22
   6072 ENUMX
   6073   BFD_RELOC_CRX_REGREL28
   6074 ENUMX
   6075   BFD_RELOC_CRX_REGREL32
   6076 ENUMX
   6077   BFD_RELOC_CRX_ABS16
   6078 ENUMX
   6079   BFD_RELOC_CRX_ABS32
   6080 ENUMX
   6081   BFD_RELOC_CRX_NUM8
   6082 ENUMX
   6083   BFD_RELOC_CRX_NUM16
   6084 ENUMX
   6085   BFD_RELOC_CRX_NUM32
   6086 ENUMX
   6087   BFD_RELOC_CRX_IMM16
   6088 ENUMX
   6089   BFD_RELOC_CRX_IMM32
   6090 ENUMX
   6091   BFD_RELOC_CRX_SWITCH8
   6092 ENUMX
   6093   BFD_RELOC_CRX_SWITCH16
   6094 ENUMX
   6095   BFD_RELOC_CRX_SWITCH32
   6096 ENUMDOC
   6097   NS CRX Relocations.
   6098 
   6099 ENUM
   6100   BFD_RELOC_CRIS_BDISP8
   6101 ENUMX
   6102   BFD_RELOC_CRIS_UNSIGNED_5
   6103 ENUMX
   6104   BFD_RELOC_CRIS_SIGNED_6
   6105 ENUMX
   6106   BFD_RELOC_CRIS_UNSIGNED_6
   6107 ENUMX
   6108   BFD_RELOC_CRIS_SIGNED_8
   6109 ENUMX
   6110   BFD_RELOC_CRIS_UNSIGNED_8
   6111 ENUMX
   6112   BFD_RELOC_CRIS_SIGNED_16
   6113 ENUMX
   6114   BFD_RELOC_CRIS_UNSIGNED_16
   6115 ENUMX
   6116   BFD_RELOC_CRIS_LAPCQ_OFFSET
   6117 ENUMX
   6118   BFD_RELOC_CRIS_UNSIGNED_4
   6119 ENUMDOC
   6120   These relocs are only used within the CRIS assembler.  They are not
   6121   (at present) written to any object files.
   6122 ENUM
   6123   BFD_RELOC_CRIS_COPY
   6124 ENUMX
   6125   BFD_RELOC_CRIS_GLOB_DAT
   6126 ENUMX
   6127   BFD_RELOC_CRIS_JUMP_SLOT
   6128 ENUMX
   6129   BFD_RELOC_CRIS_RELATIVE
   6130 ENUMDOC
   6131   Relocs used in ELF shared libraries for CRIS.
   6132 ENUM
   6133   BFD_RELOC_CRIS_32_GOT
   6134 ENUMDOC
   6135   32-bit offset to symbol-entry within GOT.
   6136 ENUM
   6137   BFD_RELOC_CRIS_16_GOT
   6138 ENUMDOC
   6139   16-bit offset to symbol-entry within GOT.
   6140 ENUM
   6141   BFD_RELOC_CRIS_32_GOTPLT
   6142 ENUMDOC
   6143   32-bit offset to symbol-entry within GOT, with PLT handling.
   6144 ENUM
   6145   BFD_RELOC_CRIS_16_GOTPLT
   6146 ENUMDOC
   6147   16-bit offset to symbol-entry within GOT, with PLT handling.
   6148 ENUM
   6149   BFD_RELOC_CRIS_32_GOTREL
   6150 ENUMDOC
   6151   32-bit offset to symbol, relative to GOT.
   6152 ENUM
   6153   BFD_RELOC_CRIS_32_PLT_GOTREL
   6154 ENUMDOC
   6155   32-bit offset to symbol with PLT entry, relative to GOT.
   6156 ENUM
   6157   BFD_RELOC_CRIS_32_PLT_PCREL
   6158 ENUMDOC
   6159   32-bit offset to symbol with PLT entry, relative to this relocation.
   6160 
   6161 ENUM
   6162   BFD_RELOC_CRIS_32_GOT_GD
   6163 ENUMX
   6164   BFD_RELOC_CRIS_16_GOT_GD
   6165 ENUMX
   6166   BFD_RELOC_CRIS_32_GD
   6167 ENUMX
   6168   BFD_RELOC_CRIS_DTP
   6169 ENUMX
   6170   BFD_RELOC_CRIS_32_DTPREL
   6171 ENUMX
   6172   BFD_RELOC_CRIS_16_DTPREL
   6173 ENUMX
   6174   BFD_RELOC_CRIS_32_GOT_TPREL
   6175 ENUMX
   6176   BFD_RELOC_CRIS_16_GOT_TPREL
   6177 ENUMX
   6178   BFD_RELOC_CRIS_32_TPREL
   6179 ENUMX
   6180   BFD_RELOC_CRIS_16_TPREL
   6181 ENUMX
   6182   BFD_RELOC_CRIS_DTPMOD
   6183 ENUMX
   6184   BFD_RELOC_CRIS_32_IE
   6185 ENUMDOC
   6186   Relocs used in TLS code for CRIS.
   6187 
   6188 ENUM
   6189   BFD_RELOC_OR1K_REL_26
   6190 ENUMX
   6191   BFD_RELOC_OR1K_SLO16
   6192 ENUMX
   6193   BFD_RELOC_OR1K_PCREL_PG21
   6194 ENUMX
   6195   BFD_RELOC_OR1K_LO13
   6196 ENUMX
   6197   BFD_RELOC_OR1K_SLO13
   6198 ENUMX
   6199   BFD_RELOC_OR1K_GOTPC_HI16
   6200 ENUMX
   6201   BFD_RELOC_OR1K_GOTPC_LO16
   6202 ENUMX
   6203   BFD_RELOC_OR1K_GOT_AHI16
   6204 ENUMX
   6205   BFD_RELOC_OR1K_GOT16
   6206 ENUMX
   6207   BFD_RELOC_OR1K_GOT_PG21
   6208 ENUMX
   6209   BFD_RELOC_OR1K_GOT_LO13
   6210 ENUMX
   6211   BFD_RELOC_OR1K_PLT26
   6212 ENUMX
   6213   BFD_RELOC_OR1K_PLTA26
   6214 ENUMX
   6215   BFD_RELOC_OR1K_GOTOFF_SLO16
   6216 ENUMX
   6217   BFD_RELOC_OR1K_COPY
   6218 ENUMX
   6219   BFD_RELOC_OR1K_GLOB_DAT
   6220 ENUMX
   6221   BFD_RELOC_OR1K_JMP_SLOT
   6222 ENUMX
   6223   BFD_RELOC_OR1K_RELATIVE
   6224 ENUMX
   6225   BFD_RELOC_OR1K_TLS_GD_HI16
   6226 ENUMX
   6227   BFD_RELOC_OR1K_TLS_GD_LO16
   6228 ENUMX
   6229   BFD_RELOC_OR1K_TLS_GD_PG21
   6230 ENUMX
   6231   BFD_RELOC_OR1K_TLS_GD_LO13
   6232 ENUMX
   6233   BFD_RELOC_OR1K_TLS_LDM_HI16
   6234 ENUMX
   6235   BFD_RELOC_OR1K_TLS_LDM_LO16
   6236 ENUMX
   6237   BFD_RELOC_OR1K_TLS_LDM_PG21
   6238 ENUMX
   6239   BFD_RELOC_OR1K_TLS_LDM_LO13
   6240 ENUMX
   6241   BFD_RELOC_OR1K_TLS_LDO_HI16
   6242 ENUMX
   6243   BFD_RELOC_OR1K_TLS_LDO_LO16
   6244 ENUMX
   6245   BFD_RELOC_OR1K_TLS_IE_HI16
   6246 ENUMX
   6247   BFD_RELOC_OR1K_TLS_IE_AHI16
   6248 ENUMX
   6249   BFD_RELOC_OR1K_TLS_IE_LO16
   6250 ENUMX
   6251   BFD_RELOC_OR1K_TLS_IE_PG21
   6252 ENUMX
   6253   BFD_RELOC_OR1K_TLS_IE_LO13
   6254 ENUMX
   6255   BFD_RELOC_OR1K_TLS_LE_HI16
   6256 ENUMX
   6257   BFD_RELOC_OR1K_TLS_LE_AHI16
   6258 ENUMX
   6259   BFD_RELOC_OR1K_TLS_LE_LO16
   6260 ENUMX
   6261   BFD_RELOC_OR1K_TLS_LE_SLO16
   6262 ENUMX
   6263   BFD_RELOC_OR1K_TLS_TPOFF
   6264 ENUMX
   6265   BFD_RELOC_OR1K_TLS_DTPOFF
   6266 ENUMX
   6267   BFD_RELOC_OR1K_TLS_DTPMOD
   6268 ENUMDOC
   6269   OpenRISC 1000 Relocations.
   6270 
   6271 ENUM
   6272   BFD_RELOC_H8_DIR16A8
   6273 ENUMX
   6274   BFD_RELOC_H8_DIR16R8
   6275 ENUMX
   6276   BFD_RELOC_H8_DIR24A8
   6277 ENUMX
   6278   BFD_RELOC_H8_DIR24R8
   6279 ENUMX
   6280   BFD_RELOC_H8_DIR32A16
   6281 ENUMX
   6282   BFD_RELOC_H8_DISP32A16
   6283 ENUMDOC
   6284   H8 elf Relocations.
   6285 
   6286 ENUM
   6287   BFD_RELOC_XSTORMY16_REL_12
   6288 ENUMX
   6289   BFD_RELOC_XSTORMY16_12
   6290 ENUMX
   6291   BFD_RELOC_XSTORMY16_24
   6292 ENUMX
   6293   BFD_RELOC_XSTORMY16_FPTR16
   6294 ENUMDOC
   6295   Sony Xstormy16 Relocations.
   6296 
   6297 ENUM
   6298   BFD_RELOC_RELC
   6299 ENUMDOC
   6300   Self-describing complex relocations.
   6301 COMMENT
   6302 
   6303 ENUM
   6304   BFD_RELOC_VAX_GLOB_DAT
   6305 ENUMX
   6306   BFD_RELOC_VAX_JMP_SLOT
   6307 ENUMX
   6308   BFD_RELOC_VAX_RELATIVE
   6309 ENUMDOC
   6310   Relocations used by VAX ELF.
   6311 
   6312 ENUM
   6313   BFD_RELOC_MT_PC16
   6314 ENUMDOC
   6315   Morpho MT - 16 bit immediate relocation.
   6316 ENUM
   6317   BFD_RELOC_MT_HI16
   6318 ENUMDOC
   6319   Morpho MT - Hi 16 bits of an address.
   6320 ENUM
   6321   BFD_RELOC_MT_LO16
   6322 ENUMDOC
   6323   Morpho MT - Low 16 bits of an address.
   6324 ENUM
   6325   BFD_RELOC_MT_GNU_VTINHERIT
   6326 ENUMDOC
   6327   Morpho MT - Used to tell the linker which vtable entries are used.
   6328 ENUM
   6329   BFD_RELOC_MT_GNU_VTENTRY
   6330 ENUMDOC
   6331   Morpho MT - Used to tell the linker which vtable entries are used.
   6332 ENUM
   6333   BFD_RELOC_MT_PCINSN8
   6334 ENUMDOC
   6335   Morpho MT - 8 bit immediate relocation.
   6336 
   6337 ENUM
   6338   BFD_RELOC_MSP430_10_PCREL
   6339 ENUMX
   6340   BFD_RELOC_MSP430_16_PCREL
   6341 ENUMX
   6342   BFD_RELOC_MSP430_16
   6343 ENUMX
   6344   BFD_RELOC_MSP430_16_PCREL_BYTE
   6345 ENUMX
   6346   BFD_RELOC_MSP430_16_BYTE
   6347 ENUMX
   6348   BFD_RELOC_MSP430_2X_PCREL
   6349 ENUMX
   6350   BFD_RELOC_MSP430_RL_PCREL
   6351 ENUMX
   6352   BFD_RELOC_MSP430_ABS8
   6353 ENUMX
   6354   BFD_RELOC_MSP430X_PCR20_EXT_SRC
   6355 ENUMX
   6356   BFD_RELOC_MSP430X_PCR20_EXT_DST
   6357 ENUMX
   6358   BFD_RELOC_MSP430X_PCR20_EXT_ODST
   6359 ENUMX
   6360   BFD_RELOC_MSP430X_ABS20_EXT_SRC
   6361 ENUMX
   6362   BFD_RELOC_MSP430X_ABS20_EXT_DST
   6363 ENUMX
   6364   BFD_RELOC_MSP430X_ABS20_EXT_ODST
   6365 ENUMX
   6366   BFD_RELOC_MSP430X_ABS20_ADR_SRC
   6367 ENUMX
   6368   BFD_RELOC_MSP430X_ABS20_ADR_DST
   6369 ENUMX
   6370   BFD_RELOC_MSP430X_PCR16
   6371 ENUMX
   6372   BFD_RELOC_MSP430X_PCR20_CALL
   6373 ENUMX
   6374   BFD_RELOC_MSP430X_ABS16
   6375 ENUMX
   6376   BFD_RELOC_MSP430_ABS_HI16
   6377 ENUMX
   6378   BFD_RELOC_MSP430_PREL31
   6379 ENUMX
   6380   BFD_RELOC_MSP430_SYM_DIFF
   6381 ENUMX
   6382   BFD_RELOC_MSP430_SET_ULEB128
   6383 ENUMX
   6384   BFD_RELOC_MSP430_SUB_ULEB128
   6385 
   6386 ENUMDOC
   6387   msp430 specific relocation codes
   6388 
   6389 ENUM
   6390   BFD_RELOC_NIOS2_S16
   6391 ENUMX
   6392   BFD_RELOC_NIOS2_U16
   6393 ENUMX
   6394   BFD_RELOC_NIOS2_CALL26
   6395 ENUMX
   6396   BFD_RELOC_NIOS2_IMM5
   6397 ENUMX
   6398   BFD_RELOC_NIOS2_CACHE_OPX
   6399 ENUMX
   6400   BFD_RELOC_NIOS2_IMM6
   6401 ENUMX
   6402   BFD_RELOC_NIOS2_IMM8
   6403 ENUMX
   6404   BFD_RELOC_NIOS2_HI16
   6405 ENUMX
   6406   BFD_RELOC_NIOS2_LO16
   6407 ENUMX
   6408   BFD_RELOC_NIOS2_HIADJ16
   6409 ENUMX
   6410   BFD_RELOC_NIOS2_GPREL
   6411 ENUMX
   6412   BFD_RELOC_NIOS2_UJMP
   6413 ENUMX
   6414   BFD_RELOC_NIOS2_CJMP
   6415 ENUMX
   6416   BFD_RELOC_NIOS2_CALLR
   6417 ENUMX
   6418   BFD_RELOC_NIOS2_ALIGN
   6419 ENUMX
   6420   BFD_RELOC_NIOS2_GOT16
   6421 ENUMX
   6422   BFD_RELOC_NIOS2_CALL16
   6423 ENUMX
   6424   BFD_RELOC_NIOS2_GOTOFF_LO
   6425 ENUMX
   6426   BFD_RELOC_NIOS2_GOTOFF_HA
   6427 ENUMX
   6428   BFD_RELOC_NIOS2_PCREL_LO
   6429 ENUMX
   6430   BFD_RELOC_NIOS2_PCREL_HA
   6431 ENUMX
   6432   BFD_RELOC_NIOS2_TLS_GD16
   6433 ENUMX
   6434   BFD_RELOC_NIOS2_TLS_LDM16
   6435 ENUMX
   6436   BFD_RELOC_NIOS2_TLS_LDO16
   6437 ENUMX
   6438   BFD_RELOC_NIOS2_TLS_IE16
   6439 ENUMX
   6440   BFD_RELOC_NIOS2_TLS_LE16
   6441 ENUMX
   6442   BFD_RELOC_NIOS2_TLS_DTPMOD
   6443 ENUMX
   6444   BFD_RELOC_NIOS2_TLS_DTPREL
   6445 ENUMX
   6446   BFD_RELOC_NIOS2_TLS_TPREL
   6447 ENUMX
   6448   BFD_RELOC_NIOS2_COPY
   6449 ENUMX
   6450   BFD_RELOC_NIOS2_GLOB_DAT
   6451 ENUMX
   6452   BFD_RELOC_NIOS2_JUMP_SLOT
   6453 ENUMX
   6454   BFD_RELOC_NIOS2_RELATIVE
   6455 ENUMX
   6456   BFD_RELOC_NIOS2_GOTOFF
   6457 ENUMX
   6458   BFD_RELOC_NIOS2_CALL26_NOAT
   6459 ENUMX
   6460   BFD_RELOC_NIOS2_GOT_LO
   6461 ENUMX
   6462   BFD_RELOC_NIOS2_GOT_HA
   6463 ENUMX
   6464   BFD_RELOC_NIOS2_CALL_LO
   6465 ENUMX
   6466   BFD_RELOC_NIOS2_CALL_HA
   6467 ENUMX
   6468   BFD_RELOC_NIOS2_R2_S12
   6469 ENUMX
   6470   BFD_RELOC_NIOS2_R2_I10_1_PCREL
   6471 ENUMX
   6472   BFD_RELOC_NIOS2_R2_T1I7_1_PCREL
   6473 ENUMX
   6474   BFD_RELOC_NIOS2_R2_T1I7_2
   6475 ENUMX
   6476   BFD_RELOC_NIOS2_R2_T2I4
   6477 ENUMX
   6478   BFD_RELOC_NIOS2_R2_T2I4_1
   6479 ENUMX
   6480   BFD_RELOC_NIOS2_R2_T2I4_2
   6481 ENUMX
   6482   BFD_RELOC_NIOS2_R2_X1I7_2
   6483 ENUMX
   6484   BFD_RELOC_NIOS2_R2_X2L5
   6485 ENUMX
   6486   BFD_RELOC_NIOS2_R2_F1I5_2
   6487 ENUMX
   6488   BFD_RELOC_NIOS2_R2_L5I4X1
   6489 ENUMX
   6490   BFD_RELOC_NIOS2_R2_T1X1I6
   6491 ENUMX
   6492   BFD_RELOC_NIOS2_R2_T1X1I6_2
   6493 ENUMDOC
   6494   Relocations used by the Altera Nios II core.
   6495 
   6496 ENUM
   6497   BFD_RELOC_PRU_U16
   6498 ENUMDOC
   6499   PRU LDI 16-bit unsigned data-memory relocation.
   6500 ENUM
   6501   BFD_RELOC_PRU_U16_PMEMIMM
   6502 ENUMDOC
   6503   PRU LDI 16-bit unsigned instruction-memory relocation.
   6504 ENUM
   6505   BFD_RELOC_PRU_LDI32
   6506 ENUMDOC
   6507   PRU relocation for two consecutive LDI load instructions that load a
   6508   32 bit value into a register. If the higher bits are all zero, then
   6509   the second instruction may be relaxed.
   6510 ENUM
   6511   BFD_RELOC_PRU_S10_PCREL
   6512 ENUMDOC
   6513   PRU QBBx 10-bit signed PC-relative relocation.
   6514 ENUM
   6515   BFD_RELOC_PRU_U8_PCREL
   6516 ENUMDOC
   6517   PRU 8-bit unsigned relocation used for the LOOP instruction.
   6518 ENUM
   6519   BFD_RELOC_PRU_32_PMEM
   6520 ENUMX
   6521   BFD_RELOC_PRU_16_PMEM
   6522 ENUMDOC
   6523   PRU Program Memory relocations.  Used to convert from byte addressing to
   6524   32-bit word addressing.
   6525 ENUM
   6526   BFD_RELOC_PRU_GNU_DIFF8
   6527 ENUMX
   6528   BFD_RELOC_PRU_GNU_DIFF16
   6529 ENUMX
   6530   BFD_RELOC_PRU_GNU_DIFF32
   6531 ENUMX
   6532   BFD_RELOC_PRU_GNU_DIFF16_PMEM
   6533 ENUMX
   6534   BFD_RELOC_PRU_GNU_DIFF32_PMEM
   6535 ENUMDOC
   6536   PRU relocations to mark the difference of two local symbols.
   6537   These are only needed to support linker relaxation and can be ignored
   6538   when not relaxing.  The field is set to the value of the difference
   6539   assuming no relaxation.  The relocation encodes the position of the
   6540   second symbol so the linker can determine whether to adjust the field
   6541   value. The PMEM variants encode the word difference, instead of byte
   6542   difference between symbols.
   6543 
   6544 ENUM
   6545   BFD_RELOC_IQ2000_OFFSET_16
   6546 ENUMX
   6547   BFD_RELOC_IQ2000_OFFSET_21
   6548 ENUMX
   6549   BFD_RELOC_IQ2000_UHI16
   6550 ENUMDOC
   6551   IQ2000 Relocations.
   6552 
   6553 ENUM
   6554   BFD_RELOC_XTENSA_RTLD
   6555 ENUMDOC
   6556   Special Xtensa relocation used only by PLT entries in ELF shared
   6557   objects to indicate that the runtime linker should set the value
   6558   to one of its own internal functions or data structures.
   6559 ENUM
   6560   BFD_RELOC_XTENSA_GLOB_DAT
   6561 ENUMX
   6562   BFD_RELOC_XTENSA_JMP_SLOT
   6563 ENUMX
   6564   BFD_RELOC_XTENSA_RELATIVE
   6565 ENUMDOC
   6566   Xtensa relocations for ELF shared objects.
   6567 ENUM
   6568   BFD_RELOC_XTENSA_PLT
   6569 ENUMDOC
   6570   Xtensa relocation used in ELF object files for symbols that may require
   6571   PLT entries.  Otherwise, this is just a generic 32-bit relocation.
   6572 ENUM
   6573   BFD_RELOC_XTENSA_DIFF8
   6574 ENUMX
   6575   BFD_RELOC_XTENSA_DIFF16
   6576 ENUMX
   6577   BFD_RELOC_XTENSA_DIFF32
   6578 ENUMDOC
   6579   Xtensa relocations for backward compatibility.  These have been replaced
   6580   by BFD_RELOC_XTENSA_PDIFF and BFD_RELOC_XTENSA_NDIFF.
   6581   Xtensa relocations to mark the difference of two local symbols.
   6582   These are only needed to support linker relaxation and can be ignored
   6583   when not relaxing.  The field is set to the value of the difference
   6584   assuming no relaxation.  The relocation encodes the position of the
   6585   first symbol so the linker can determine whether to adjust the field
   6586   value.
   6587 ENUM
   6588   BFD_RELOC_XTENSA_SLOT0_OP
   6589 ENUMX
   6590   BFD_RELOC_XTENSA_SLOT1_OP
   6591 ENUMX
   6592   BFD_RELOC_XTENSA_SLOT2_OP
   6593 ENUMX
   6594   BFD_RELOC_XTENSA_SLOT3_OP
   6595 ENUMX
   6596   BFD_RELOC_XTENSA_SLOT4_OP
   6597 ENUMX
   6598   BFD_RELOC_XTENSA_SLOT5_OP
   6599 ENUMX
   6600   BFD_RELOC_XTENSA_SLOT6_OP
   6601 ENUMX
   6602   BFD_RELOC_XTENSA_SLOT7_OP
   6603 ENUMX
   6604   BFD_RELOC_XTENSA_SLOT8_OP
   6605 ENUMX
   6606   BFD_RELOC_XTENSA_SLOT9_OP
   6607 ENUMX
   6608   BFD_RELOC_XTENSA_SLOT10_OP
   6609 ENUMX
   6610   BFD_RELOC_XTENSA_SLOT11_OP
   6611 ENUMX
   6612   BFD_RELOC_XTENSA_SLOT12_OP
   6613 ENUMX
   6614   BFD_RELOC_XTENSA_SLOT13_OP
   6615 ENUMX
   6616   BFD_RELOC_XTENSA_SLOT14_OP
   6617 ENUMDOC
   6618   Generic Xtensa relocations for instruction operands.  Only the slot
   6619   number is encoded in the relocation.  The relocation applies to the
   6620   last PC-relative immediate operand, or if there are no PC-relative
   6621   immediates, to the last immediate operand.
   6622 ENUM
   6623   BFD_RELOC_XTENSA_SLOT0_ALT
   6624 ENUMX
   6625   BFD_RELOC_XTENSA_SLOT1_ALT
   6626 ENUMX
   6627   BFD_RELOC_XTENSA_SLOT2_ALT
   6628 ENUMX
   6629   BFD_RELOC_XTENSA_SLOT3_ALT
   6630 ENUMX
   6631   BFD_RELOC_XTENSA_SLOT4_ALT
   6632 ENUMX
   6633   BFD_RELOC_XTENSA_SLOT5_ALT
   6634 ENUMX
   6635   BFD_RELOC_XTENSA_SLOT6_ALT
   6636 ENUMX
   6637   BFD_RELOC_XTENSA_SLOT7_ALT
   6638 ENUMX
   6639   BFD_RELOC_XTENSA_SLOT8_ALT
   6640 ENUMX
   6641   BFD_RELOC_XTENSA_SLOT9_ALT
   6642 ENUMX
   6643   BFD_RELOC_XTENSA_SLOT10_ALT
   6644 ENUMX
   6645   BFD_RELOC_XTENSA_SLOT11_ALT
   6646 ENUMX
   6647   BFD_RELOC_XTENSA_SLOT12_ALT
   6648 ENUMX
   6649   BFD_RELOC_XTENSA_SLOT13_ALT
   6650 ENUMX
   6651   BFD_RELOC_XTENSA_SLOT14_ALT
   6652 ENUMDOC
   6653   Alternate Xtensa relocations.  Only the slot is encoded in the
   6654   relocation.  The meaning of these relocations is opcode-specific.
   6655 ENUM
   6656   BFD_RELOC_XTENSA_OP0
   6657 ENUMX
   6658   BFD_RELOC_XTENSA_OP1
   6659 ENUMX
   6660   BFD_RELOC_XTENSA_OP2
   6661 ENUMDOC
   6662   Xtensa relocations for backward compatibility.  These have all been
   6663   replaced by BFD_RELOC_XTENSA_SLOT0_OP.
   6664 ENUM
   6665   BFD_RELOC_XTENSA_ASM_EXPAND
   6666 ENUMDOC
   6667   Xtensa relocation to mark that the assembler expanded the
   6668   instructions from an original target.  The expansion size is
   6669   encoded in the reloc size.
   6670 ENUM
   6671   BFD_RELOC_XTENSA_ASM_SIMPLIFY
   6672 ENUMDOC
   6673   Xtensa relocation to mark that the linker should simplify
   6674   assembler-expanded instructions.  This is commonly used
   6675   internally by the linker after analysis of a
   6676   BFD_RELOC_XTENSA_ASM_EXPAND.
   6677 ENUM
   6678   BFD_RELOC_XTENSA_TLSDESC_FN
   6679 ENUMX
   6680   BFD_RELOC_XTENSA_TLSDESC_ARG
   6681 ENUMX
   6682   BFD_RELOC_XTENSA_TLS_DTPOFF
   6683 ENUMX
   6684   BFD_RELOC_XTENSA_TLS_TPOFF
   6685 ENUMX
   6686   BFD_RELOC_XTENSA_TLS_FUNC
   6687 ENUMX
   6688   BFD_RELOC_XTENSA_TLS_ARG
   6689 ENUMX
   6690   BFD_RELOC_XTENSA_TLS_CALL
   6691 ENUMDOC
   6692   Xtensa TLS relocations.
   6693 ENUM
   6694   BFD_RELOC_XTENSA_PDIFF8
   6695 ENUMX
   6696   BFD_RELOC_XTENSA_PDIFF16
   6697 ENUMX
   6698   BFD_RELOC_XTENSA_PDIFF32
   6699 ENUMX
   6700   BFD_RELOC_XTENSA_NDIFF8
   6701 ENUMX
   6702   BFD_RELOC_XTENSA_NDIFF16
   6703 ENUMX
   6704   BFD_RELOC_XTENSA_NDIFF32
   6705 ENUMDOC
   6706   Xtensa relocations to mark the difference of two local symbols.
   6707   These are only needed to support linker relaxation and can be ignored
   6708   when not relaxing.  The field is set to the value of the difference
   6709   assuming no relaxation.  The relocation encodes the position of the
   6710   subtracted symbol so the linker can determine whether to adjust the field
   6711   value.  PDIFF relocations are used for positive differences, NDIFF
   6712   relocations are used for negative differences.  The difference value
   6713   is treated as unsigned with these relocation types, giving full
   6714   8/16 value ranges.
   6715 
   6716 ENUM
   6717   BFD_RELOC_Z80_DISP8
   6718 ENUMDOC
   6719   8 bit signed offset in (ix+d) or (iy+d).
   6720 ENUM
   6721   BFD_RELOC_Z80_BYTE0
   6722 ENUMDOC
   6723   First 8 bits of multibyte (32, 24 or 16 bit) value.
   6724 ENUM
   6725   BFD_RELOC_Z80_BYTE1
   6726 ENUMDOC
   6727   Second 8 bits of multibyte (32, 24 or 16 bit) value.
   6728 ENUM
   6729   BFD_RELOC_Z80_BYTE2
   6730 ENUMDOC
   6731   Third 8 bits of multibyte (32 or 24 bit) value.
   6732 ENUM
   6733   BFD_RELOC_Z80_BYTE3
   6734 ENUMDOC
   6735   Fourth 8 bits of multibyte (32 bit) value.
   6736 ENUM
   6737   BFD_RELOC_Z80_WORD0
   6738 ENUMDOC
   6739   Lowest 16 bits of multibyte (32 or 24 bit) value.
   6740 ENUM
   6741   BFD_RELOC_Z80_WORD1
   6742 ENUMDOC
   6743   Highest 16 bits of multibyte (32 or 24 bit) value.
   6744 ENUM
   6745   BFD_RELOC_Z80_16_BE
   6746 ENUMDOC
   6747   Like BFD_RELOC_16 but big-endian.
   6748 
   6749 ENUM
   6750   BFD_RELOC_Z8K_DISP7
   6751 ENUMDOC
   6752   DJNZ offset.
   6753 ENUM
   6754   BFD_RELOC_Z8K_CALLR
   6755 ENUMDOC
   6756   CALR offset.
   6757 ENUM
   6758   BFD_RELOC_Z8K_IMM4L
   6759 ENUMDOC
   6760   4 bit value.
   6761 
   6762 ENUM
   6763    BFD_RELOC_LM32_CALL
   6764 ENUMX
   6765    BFD_RELOC_LM32_BRANCH
   6766 ENUMX
   6767    BFD_RELOC_LM32_16_GOT
   6768 ENUMX
   6769    BFD_RELOC_LM32_GOTOFF_HI16
   6770 ENUMX
   6771    BFD_RELOC_LM32_GOTOFF_LO16
   6772 ENUMX
   6773    BFD_RELOC_LM32_COPY
   6774 ENUMX
   6775    BFD_RELOC_LM32_GLOB_DAT
   6776 ENUMX
   6777    BFD_RELOC_LM32_JMP_SLOT
   6778 ENUMX
   6779    BFD_RELOC_LM32_RELATIVE
   6780 ENUMDOC
   6781  Lattice Mico32 relocations.
   6782 
   6783 ENUM
   6784   BFD_RELOC_MACH_O_SECTDIFF
   6785 ENUMDOC
   6786   Difference between two section addreses.  Must be followed by a
   6787   BFD_RELOC_MACH_O_PAIR.
   6788 ENUM
   6789   BFD_RELOC_MACH_O_LOCAL_SECTDIFF
   6790 ENUMDOC
   6791   Like BFD_RELOC_MACH_O_SECTDIFF but with a local symbol.
   6792 ENUM
   6793   BFD_RELOC_MACH_O_PAIR
   6794 ENUMDOC
   6795   Pair of relocation.  Contains the first symbol.
   6796 ENUM
   6797   BFD_RELOC_MACH_O_SUBTRACTOR32
   6798 ENUMDOC
   6799   Symbol will be substracted.  Must be followed by a BFD_RELOC_32.
   6800 ENUM
   6801   BFD_RELOC_MACH_O_SUBTRACTOR64
   6802 ENUMDOC
   6803   Symbol will be substracted.  Must be followed by a BFD_RELOC_64.
   6804 
   6805 ENUM
   6806   BFD_RELOC_MACH_O_X86_64_BRANCH32
   6807 ENUMX
   6808   BFD_RELOC_MACH_O_X86_64_BRANCH8
   6809 ENUMDOC
   6810   PCREL relocations.  They are marked as branch to create PLT entry if
   6811   required.
   6812 ENUM
   6813   BFD_RELOC_MACH_O_X86_64_GOT
   6814 ENUMDOC
   6815   Used when referencing a GOT entry.
   6816 ENUM
   6817   BFD_RELOC_MACH_O_X86_64_GOT_LOAD
   6818 ENUMDOC
   6819   Used when loading a GOT entry with movq.  It is specially marked so that
   6820   the linker could optimize the movq to a leaq if possible.
   6821 ENUM
   6822   BFD_RELOC_MACH_O_X86_64_PCREL32_1
   6823 ENUMDOC
   6824   Same as BFD_RELOC_32_PCREL but with an implicit -1 addend.
   6825 ENUM
   6826   BFD_RELOC_MACH_O_X86_64_PCREL32_2
   6827 ENUMDOC
   6828   Same as BFD_RELOC_32_PCREL but with an implicit -2 addend.
   6829 ENUM
   6830   BFD_RELOC_MACH_O_X86_64_PCREL32_4
   6831 ENUMDOC
   6832   Same as BFD_RELOC_32_PCREL but with an implicit -4 addend.
   6833 ENUM
   6834   BFD_RELOC_MACH_O_X86_64_TLV
   6835 ENUMDOC
   6836   Used when referencing a TLV entry.
   6837 
   6838 
   6839 ENUM
   6840   BFD_RELOC_MACH_O_ARM64_ADDEND
   6841 ENUMDOC
   6842   Addend for PAGE or PAGEOFF.
   6843 ENUM
   6844   BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21
   6845 ENUMDOC
   6846   Relative offset to page of GOT slot.
   6847 ENUM
   6848   BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12
   6849 ENUMDOC
   6850   Relative offset within page of GOT slot.
   6851 ENUM
   6852   BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT
   6853 ENUMDOC
   6854   Address of a GOT entry.
   6855 
   6856 ENUM
   6857   BFD_RELOC_MICROBLAZE_32_LO
   6858 ENUMDOC
   6859   This is a 32 bit reloc for the microblaze that stores the
   6860   low 16 bits of a value
   6861 ENUM
   6862   BFD_RELOC_MICROBLAZE_32_LO_PCREL
   6863 ENUMDOC
   6864   This is a 32 bit pc-relative reloc for the microblaze that
   6865   stores the low 16 bits of a value
   6866 ENUM
   6867   BFD_RELOC_MICROBLAZE_32_ROSDA
   6868 ENUMDOC
   6869   This is a 32 bit reloc for the microblaze that stores a
   6870   value relative to the read-only small data area anchor
   6871 ENUM
   6872   BFD_RELOC_MICROBLAZE_32_RWSDA
   6873 ENUMDOC
   6874   This is a 32 bit reloc for the microblaze that stores a
   6875   value relative to the read-write small data area anchor
   6876 ENUM
   6877   BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM
   6878 ENUMDOC
   6879   This is a 32 bit reloc for the microblaze to handle
   6880   expressions of the form "Symbol Op Symbol"
   6881 ENUM
   6882   BFD_RELOC_MICROBLAZE_64_NONE
   6883 ENUMDOC
   6884   This is a 64 bit reloc that stores the 32 bit pc relative
   6885   value in two words (with an imm instruction).  No relocation is
   6886   done here - only used for relaxing
   6887 ENUM
   6888   BFD_RELOC_MICROBLAZE_64_GOTPC
   6889 ENUMDOC
   6890   This is a 64 bit reloc that stores the 32 bit pc relative
   6891   value in two words (with an imm instruction).  The relocation is
   6892   PC-relative GOT offset
   6893 ENUM
   6894   BFD_RELOC_MICROBLAZE_64_GOT
   6895 ENUMDOC
   6896   This is a 64 bit reloc that stores the 32 bit pc relative
   6897   value in two words (with an imm instruction).  The relocation is
   6898   GOT offset
   6899 ENUM
   6900   BFD_RELOC_MICROBLAZE_64_PLT
   6901 ENUMDOC
   6902   This is a 64 bit reloc that stores the 32 bit pc relative
   6903   value in two words (with an imm instruction).  The relocation is
   6904   PC-relative offset into PLT
   6905 ENUM
   6906   BFD_RELOC_MICROBLAZE_64_GOTOFF
   6907 ENUMDOC
   6908   This is a 64 bit reloc that stores the 32 bit GOT relative
   6909   value in two words (with an imm instruction).  The relocation is
   6910   relative offset from _GLOBAL_OFFSET_TABLE_
   6911 ENUM
   6912   BFD_RELOC_MICROBLAZE_32_GOTOFF
   6913 ENUMDOC
   6914   This is a 32 bit reloc that stores the 32 bit GOT relative
   6915   value in a word.  The relocation is relative offset from
   6916   _GLOBAL_OFFSET_TABLE_
   6917 ENUM
   6918   BFD_RELOC_MICROBLAZE_COPY
   6919 ENUMDOC
   6920   This is used to tell the dynamic linker to copy the value out of
   6921   the dynamic object into the runtime process image.
   6922 ENUM
   6923   BFD_RELOC_MICROBLAZE_64_TLS
   6924 ENUMDOC
   6925   Unused Reloc
   6926 ENUM
   6927   BFD_RELOC_MICROBLAZE_64_TLSGD
   6928 ENUMDOC
   6929   This is a 64 bit reloc that stores the 32 bit GOT relative value
   6930   of the GOT TLS GD info entry in two words (with an imm instruction). The
   6931   relocation is GOT offset.
   6932 ENUM
   6933   BFD_RELOC_MICROBLAZE_64_TLSLD
   6934 ENUMDOC
   6935   This is a 64 bit reloc that stores the 32 bit GOT relative value
   6936   of the GOT TLS LD info entry in two words (with an imm instruction). The
   6937   relocation is GOT offset.
   6938 ENUM
   6939   BFD_RELOC_MICROBLAZE_32_TLSDTPMOD
   6940 ENUMDOC
   6941   This is a 32 bit reloc that stores the Module ID to GOT(n).
   6942 ENUM
   6943   BFD_RELOC_MICROBLAZE_32_TLSDTPREL
   6944 ENUMDOC
   6945   This is a 32 bit reloc that stores TLS offset to GOT(n+1).
   6946 ENUM
   6947   BFD_RELOC_MICROBLAZE_64_TLSDTPREL
   6948 ENUMDOC
   6949   This is a 32 bit reloc for storing TLS offset to two words (uses imm
   6950   instruction)
   6951 ENUM
   6952   BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL
   6953 ENUMDOC
   6954   This is a 64 bit reloc that stores 32-bit thread pointer relative offset
   6955   to two words (uses imm instruction).
   6956 ENUM
   6957   BFD_RELOC_MICROBLAZE_64_TLSTPREL
   6958 ENUMDOC
   6959   This is a 64 bit reloc that stores 32-bit thread pointer relative offset
   6960   to two words (uses imm instruction).
   6961 ENUM
   6962   BFD_RELOC_MICROBLAZE_64_TEXTPCREL
   6963 ENUMDOC
   6964   This is a 64 bit reloc that stores the 32 bit pc relative
   6965   value in two words (with an imm instruction).  The relocation is
   6966   PC-relative offset from start of TEXT.
   6967 ENUM
   6968   BFD_RELOC_MICROBLAZE_64_TEXTREL
   6969 ENUMDOC
   6970   This is a 64 bit reloc that stores the 32 bit offset
   6971   value in two words (with an imm instruction).  The relocation is
   6972   relative offset from start of TEXT.
   6973 
   6974 ENUM
   6975   BFD_RELOC_AARCH64_RELOC_START
   6976 ENUMDOC
   6977   AArch64 pseudo relocation code to mark the start of the AArch64
   6978   relocation enumerators.  N.B. the order of the enumerators is
   6979   important as several tables in the AArch64 bfd backend are indexed
   6980   by these enumerators; make sure they are all synced.
   6981 ENUM
   6982   BFD_RELOC_AARCH64_NULL
   6983 ENUMDOC
   6984   Deprecated AArch64 null relocation code.
   6985 ENUM
   6986   BFD_RELOC_AARCH64_NONE
   6987 ENUMDOC
   6988   AArch64 null relocation code.
   6989 ENUM
   6990   BFD_RELOC_AARCH64_64
   6991 ENUMX
   6992   BFD_RELOC_AARCH64_32
   6993 ENUMX
   6994   BFD_RELOC_AARCH64_16
   6995 ENUMDOC
   6996   Basic absolute relocations of N bits.  These are equivalent to
   6997 BFD_RELOC_N and they were added to assist the indexing of the howto
   6998 table.
   6999 ENUM
   7000   BFD_RELOC_AARCH64_64_PCREL
   7001 ENUMX
   7002   BFD_RELOC_AARCH64_32_PCREL
   7003 ENUMX
   7004   BFD_RELOC_AARCH64_16_PCREL
   7005 ENUMDOC
   7006   PC-relative relocations.  These are equivalent to BFD_RELOC_N_PCREL
   7007 and they were added to assist the indexing of the howto table.
   7008 ENUM
   7009   BFD_RELOC_AARCH64_MOVW_G0
   7010 ENUMDOC
   7011   AArch64 MOV[NZK] instruction with most significant bits 0 to 15
   7012   of an unsigned address/value.
   7013 ENUM
   7014   BFD_RELOC_AARCH64_MOVW_G0_NC
   7015 ENUMDOC
   7016   AArch64 MOV[NZK] instruction with less significant bits 0 to 15 of
   7017   an address/value.  No overflow checking.
   7018 ENUM
   7019   BFD_RELOC_AARCH64_MOVW_G1
   7020 ENUMDOC
   7021   AArch64 MOV[NZK] instruction with most significant bits 16 to 31
   7022   of an unsigned address/value.
   7023 ENUM
   7024   BFD_RELOC_AARCH64_MOVW_G1_NC
   7025 ENUMDOC
   7026   AArch64 MOV[NZK] instruction with less significant bits 16 to 31
   7027   of an address/value.  No overflow checking.
   7028 ENUM
   7029   BFD_RELOC_AARCH64_MOVW_G2
   7030 ENUMDOC
   7031   AArch64 MOV[NZK] instruction with most significant bits 32 to 47
   7032   of an unsigned address/value.
   7033 ENUM
   7034   BFD_RELOC_AARCH64_MOVW_G2_NC
   7035 ENUMDOC
   7036   AArch64 MOV[NZK] instruction with less significant bits 32 to 47
   7037   of an address/value.  No overflow checking.
   7038 ENUM
   7039   BFD_RELOC_AARCH64_MOVW_G3
   7040 ENUMDOC
   7041   AArch64 MOV[NZK] instruction with most signficant bits 48 to 64
   7042   of a signed or unsigned address/value.
   7043 ENUM
   7044   BFD_RELOC_AARCH64_MOVW_G0_S
   7045 ENUMDOC
   7046   AArch64 MOV[NZ] instruction with most significant bits 0 to 15
   7047   of a signed value.  Changes instruction to MOVZ or MOVN depending on the
   7048   value's sign.
   7049 ENUM
   7050   BFD_RELOC_AARCH64_MOVW_G1_S
   7051 ENUMDOC
   7052   AArch64 MOV[NZ] instruction with most significant bits 16 to 31
   7053   of a signed value.  Changes instruction to MOVZ or MOVN depending on the
   7054   value's sign.
   7055 ENUM
   7056   BFD_RELOC_AARCH64_MOVW_G2_S
   7057 ENUMDOC
   7058   AArch64 MOV[NZ] instruction with most significant bits 32 to 47
   7059   of a signed value.  Changes instruction to MOVZ or MOVN depending on the
   7060   value's sign.
   7061 ENUM
   7062   BFD_RELOC_AARCH64_MOVW_PREL_G0
   7063 ENUMDOC
   7064   AArch64 MOV[NZ] instruction with most significant bits 0 to 15
   7065   of a signed value.  Changes instruction to MOVZ or MOVN depending on the
   7066   value's sign.
   7067 ENUM
   7068   BFD_RELOC_AARCH64_MOVW_PREL_G0_NC
   7069 ENUMDOC
   7070   AArch64 MOV[NZ] instruction with most significant bits 0 to 15
   7071   of a signed value.  Changes instruction to MOVZ or MOVN depending on the
   7072   value's sign.
   7073 ENUM
   7074   BFD_RELOC_AARCH64_MOVW_PREL_G1
   7075 ENUMDOC
   7076   AArch64 MOVK instruction with most significant bits 16 to 31
   7077   of a signed value.
   7078 ENUM
   7079   BFD_RELOC_AARCH64_MOVW_PREL_G1_NC
   7080 ENUMDOC
   7081   AArch64 MOVK instruction with most significant bits 16 to 31
   7082   of a signed value.
   7083 ENUM
   7084   BFD_RELOC_AARCH64_MOVW_PREL_G2
   7085 ENUMDOC
   7086   AArch64 MOVK instruction with most significant bits 32 to 47
   7087   of a signed value.
   7088 ENUM
   7089   BFD_RELOC_AARCH64_MOVW_PREL_G2_NC
   7090 ENUMDOC
   7091   AArch64 MOVK instruction with most significant bits 32 to 47
   7092   of a signed value.
   7093 ENUM
   7094   BFD_RELOC_AARCH64_MOVW_PREL_G3
   7095 ENUMDOC
   7096   AArch64 MOVK instruction with most significant bits 47 to 63
   7097   of a signed value.
   7098 ENUM
   7099   BFD_RELOC_AARCH64_LD_LO19_PCREL
   7100 ENUMDOC
   7101   AArch64 Load Literal instruction, holding a 19 bit pc-relative word
   7102   offset.  The lowest two bits must be zero and are not stored in the
   7103   instruction, giving a 21 bit signed byte offset.
   7104 ENUM
   7105   BFD_RELOC_AARCH64_ADR_LO21_PCREL
   7106 ENUMDOC
   7107   AArch64 ADR instruction, holding a simple 21 bit pc-relative byte offset.
   7108 ENUM
   7109   BFD_RELOC_AARCH64_ADR_HI21_PCREL
   7110 ENUMDOC
   7111   AArch64 ADRP instruction, with bits 12 to 32 of a pc-relative page
   7112   offset, giving a 4KB aligned page base address.
   7113 ENUM
   7114   BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL
   7115 ENUMDOC
   7116   AArch64 ADRP instruction, with bits 12 to 32 of a pc-relative page
   7117   offset, giving a 4KB aligned page base address, but with no overflow
   7118   checking.
   7119 ENUM
   7120   BFD_RELOC_AARCH64_ADD_LO12
   7121 ENUMDOC
   7122   AArch64 ADD immediate instruction, holding bits 0 to 11 of the address.
   7123   Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL.
   7124 ENUM
   7125   BFD_RELOC_AARCH64_LDST8_LO12
   7126 ENUMDOC
   7127   AArch64 8-bit load/store instruction, holding bits 0 to 11 of the
   7128   address.  Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL.
   7129 ENUM
   7130   BFD_RELOC_AARCH64_TSTBR14
   7131 ENUMDOC
   7132   AArch64 14 bit pc-relative test bit and branch.
   7133   The lowest two bits must be zero and are not stored in the instruction,
   7134   giving a 16 bit signed byte offset.
   7135 ENUM
   7136   BFD_RELOC_AARCH64_BRANCH19
   7137 ENUMDOC
   7138   AArch64 19 bit pc-relative conditional branch and compare & branch.
   7139   The lowest two bits must be zero and are not stored in the instruction,
   7140   giving a 21 bit signed byte offset.
   7141 ENUM
   7142   BFD_RELOC_AARCH64_JUMP26
   7143 ENUMDOC
   7144   AArch64 26 bit pc-relative unconditional branch.
   7145   The lowest two bits must be zero and are not stored in the instruction,
   7146   giving a 28 bit signed byte offset.
   7147 ENUM
   7148   BFD_RELOC_AARCH64_CALL26
   7149 ENUMDOC
   7150   AArch64 26 bit pc-relative unconditional branch and link.
   7151   The lowest two bits must be zero and are not stored in the instruction,
   7152   giving a 28 bit signed byte offset.
   7153 ENUM
   7154   BFD_RELOC_AARCH64_LDST16_LO12
   7155 ENUMDOC
   7156   AArch64 16-bit load/store instruction, holding bits 0 to 11 of the
   7157   address.  Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL.
   7158 ENUM
   7159   BFD_RELOC_AARCH64_LDST32_LO12
   7160 ENUMDOC
   7161   AArch64 32-bit load/store instruction, holding bits 0 to 11 of the
   7162   address.  Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL.
   7163 ENUM
   7164   BFD_RELOC_AARCH64_LDST64_LO12
   7165 ENUMDOC
   7166   AArch64 64-bit load/store instruction, holding bits 0 to 11 of the
   7167   address.  Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL.
   7168 ENUM
   7169   BFD_RELOC_AARCH64_LDST128_LO12
   7170 ENUMDOC
   7171   AArch64 128-bit load/store instruction, holding bits 0 to 11 of the
   7172   address.  Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL.
   7173 ENUM
   7174   BFD_RELOC_AARCH64_GOT_LD_PREL19
   7175 ENUMDOC
   7176   AArch64 Load Literal instruction, holding a 19 bit PC relative word
   7177   offset of the global offset table entry for a symbol.  The lowest two
   7178   bits must be zero and are not stored in the instruction, giving a 21
   7179   bit signed byte offset.  This relocation type requires signed overflow
   7180   checking.
   7181 ENUM
   7182   BFD_RELOC_AARCH64_ADR_GOT_PAGE
   7183 ENUMDOC
   7184   Get to the page base of the global offset table entry for a symbol as
   7185   part of an ADRP instruction using a 21 bit PC relative value.Used in
   7186   conjunction with BFD_RELOC_AARCH64_LD64_GOT_LO12_NC.
   7187 ENUM
   7188   BFD_RELOC_AARCH64_LD64_GOT_LO12_NC
   7189 ENUMDOC
   7190   Unsigned 12 bit byte offset for 64 bit load/store from the page of
   7191   the GOT entry for this symbol.  Used in conjunction with
   7192   BFD_RELOC_AARCH64_ADR_GOT_PAGE.  Valid in LP64 ABI only.
   7193 ENUM
   7194   BFD_RELOC_AARCH64_LD32_GOT_LO12_NC
   7195 ENUMDOC
   7196   Unsigned 12 bit byte offset for 32 bit load/store from the page of
   7197   the GOT entry for this symbol.  Used in conjunction with
   7198   BFD_RELOC_AARCH64_ADR_GOT_PAGE.  Valid in ILP32 ABI only.
   7199  ENUM
   7200   BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC
   7201 ENUMDOC
   7202   Unsigned 16 bit byte offset for 64 bit load/store from the GOT entry
   7203   for this symbol.  Valid in LP64 ABI only.
   7204 ENUM
   7205   BFD_RELOC_AARCH64_MOVW_GOTOFF_G1
   7206 ENUMDOC
   7207   Unsigned 16 bit byte higher offset for 64 bit load/store from the GOT entry
   7208   for this symbol.  Valid in LP64 ABI only.
   7209 ENUM
   7210   BFD_RELOC_AARCH64_LD64_GOTOFF_LO15
   7211 ENUMDOC
   7212   Unsigned 15 bit byte offset for 64 bit load/store from the page of
   7213   the GOT entry for this symbol.  Valid in LP64 ABI only.
   7214 ENUM
   7215   BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14
   7216 ENUMDOC
   7217   Scaled 14 bit byte offset to the page base of the global offset table.
   7218 ENUM
   7219   BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15
   7220 ENUMDOC
   7221   Scaled 15 bit byte offset to the page base of the global offset table.
   7222 ENUM
   7223   BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21
   7224 ENUMDOC
   7225   Get to the page base of the global offset table entry for a symbols
   7226   tls_index structure as part of an adrp instruction using a 21 bit PC
   7227   relative value.  Used in conjunction with
   7228   BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC.
   7229 ENUM
   7230   BFD_RELOC_AARCH64_TLSGD_ADR_PREL21
   7231 ENUMDOC
   7232   AArch64 TLS General Dynamic
   7233 ENUM
   7234   BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC
   7235 ENUMDOC
   7236   Unsigned 12 bit byte offset to global offset table entry for a symbols
   7237   tls_index structure.  Used in conjunction with
   7238   BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21.
   7239 ENUM
   7240   BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC
   7241 ENUMDOC
   7242   AArch64 TLS General Dynamic relocation.
   7243 ENUM
   7244   BFD_RELOC_AARCH64_TLSGD_MOVW_G1
   7245 ENUMDOC
   7246   AArch64 TLS General Dynamic relocation.
   7247 ENUM
   7248   BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21
   7249 ENUMDOC
   7250   AArch64 TLS INITIAL EXEC relocation.
   7251 ENUM
   7252   BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC
   7253 ENUMDOC
   7254   AArch64 TLS INITIAL EXEC relocation.
   7255 ENUM
   7256   BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC
   7257 ENUMDOC
   7258   AArch64 TLS INITIAL EXEC relocation.
   7259 ENUM
   7260   BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19
   7261 ENUMDOC
   7262   AArch64 TLS INITIAL EXEC relocation.
   7263 ENUM
   7264   BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC
   7265 ENUMDOC
   7266   AArch64 TLS INITIAL EXEC relocation.
   7267 ENUM
   7268   BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1
   7269 ENUMDOC
   7270   AArch64 TLS INITIAL EXEC relocation.
   7271 ENUM
   7272   BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12
   7273 ENUMDOC
   7274   bit[23:12] of byte offset to module TLS base address.
   7275 ENUM
   7276   BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12
   7277 ENUMDOC
   7278   Unsigned 12 bit byte offset to module TLS base address.
   7279 ENUM
   7280   BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC
   7281 ENUMDOC
   7282   No overflow check version of BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12.
   7283 ENUM
   7284   BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC
   7285 ENUMDOC
   7286   Unsigned 12 bit byte offset to global offset table entry for a symbols
   7287   tls_index structure.  Used in conjunction with
   7288   BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21.
   7289 ENUM
   7290   BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21
   7291 ENUMDOC
   7292   GOT entry page address for AArch64 TLS Local Dynamic, used with ADRP
   7293   instruction.
   7294 ENUM
   7295   BFD_RELOC_AARCH64_TLSLD_ADR_PREL21
   7296 ENUMDOC
   7297   GOT entry address for AArch64 TLS Local Dynamic, used with ADR instruction.
   7298 ENUM
   7299   BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12
   7300 ENUMDOC
   7301   bit[11:1] of byte offset to module TLS base address, encoded in ldst
   7302   instructions.
   7303 ENUM
   7304   BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC
   7305 ENUMDOC
   7306   Similar as BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12, but no overflow check.
   7307 ENUM
   7308   BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12
   7309 ENUMDOC
   7310   bit[11:2] of byte offset to module TLS base address, encoded in ldst
   7311   instructions.
   7312 ENUM
   7313   BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC
   7314 ENUMDOC
   7315   Similar as BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12, but no overflow check.
   7316 ENUM
   7317   BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12
   7318 ENUMDOC
   7319   bit[11:3] of byte offset to module TLS base address, encoded in ldst
   7320   instructions.
   7321 ENUM
   7322   BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC
   7323 ENUMDOC
   7324   Similar as BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12, but no overflow check.
   7325 ENUM
   7326   BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12
   7327 ENUMDOC
   7328   bit[11:0] of byte offset to module TLS base address, encoded in ldst
   7329   instructions.
   7330 ENUM
   7331   BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC
   7332 ENUMDOC
   7333   Similar as BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12, but no overflow check.
   7334 ENUM
   7335   BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0
   7336 ENUMDOC
   7337   bit[15:0] of byte offset to module TLS base address.
   7338 ENUM
   7339   BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC
   7340 ENUMDOC
   7341   No overflow check version of BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0
   7342 ENUM
   7343   BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1
   7344 ENUMDOC
   7345   bit[31:16] of byte offset to module TLS base address.
   7346 ENUM
   7347   BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC
   7348 ENUMDOC
   7349   No overflow check version of BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1
   7350 ENUM
   7351   BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2
   7352 ENUMDOC
   7353   bit[47:32] of byte offset to module TLS base address.
   7354 ENUM
   7355   BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2
   7356 ENUMDOC
   7357   AArch64 TLS LOCAL EXEC relocation.
   7358 ENUM
   7359   BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1
   7360 ENUMDOC
   7361   AArch64 TLS LOCAL EXEC relocation.
   7362 ENUM
   7363   BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC
   7364 ENUMDOC
   7365   AArch64 TLS LOCAL EXEC relocation.
   7366 ENUM
   7367   BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0
   7368 ENUMDOC
   7369   AArch64 TLS LOCAL EXEC relocation.
   7370 ENUM
   7371   BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC
   7372 ENUMDOC
   7373   AArch64 TLS LOCAL EXEC relocation.
   7374 ENUM
   7375   BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12
   7376 ENUMDOC
   7377   AArch64 TLS LOCAL EXEC relocation.
   7378 ENUM
   7379   BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12
   7380 ENUMDOC
   7381   AArch64 TLS LOCAL EXEC relocation.
   7382 ENUM
   7383   BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC
   7384 ENUMDOC
   7385   AArch64 TLS LOCAL EXEC relocation.
   7386 ENUM
   7387   BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12
   7388 ENUMDOC
   7389   bit[11:1] of byte offset to module TLS base address, encoded in ldst
   7390   instructions.
   7391 ENUM
   7392   BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC
   7393 ENUMDOC
   7394   Similar as BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12, but no overflow check.
   7395 ENUM
   7396   BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12
   7397 ENUMDOC
   7398   bit[11:2] of byte offset to module TLS base address, encoded in ldst
   7399   instructions.
   7400 ENUM
   7401   BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC
   7402 ENUMDOC
   7403   Similar as BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12, but no overflow check.
   7404 ENUM
   7405   BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12
   7406 ENUMDOC
   7407   bit[11:3] of byte offset to module TLS base address, encoded in ldst
   7408   instructions.
   7409 ENUM
   7410   BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC
   7411 ENUMDOC
   7412   Similar as BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12, but no overflow check.
   7413 ENUM
   7414   BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12
   7415 ENUMDOC
   7416   bit[11:0] of byte offset to module TLS base address, encoded in ldst
   7417   instructions.
   7418 ENUM
   7419   BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC
   7420 ENUMDOC
   7421   Similar as BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12, but no overflow check.
   7422 ENUM
   7423   BFD_RELOC_AARCH64_TLSDESC_LD_PREL19
   7424 ENUMDOC
   7425   AArch64 TLS DESC relocation.
   7426 ENUM
   7427   BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21
   7428 ENUMDOC
   7429   AArch64 TLS DESC relocation.
   7430 ENUM
   7431   BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21
   7432 ENUMDOC
   7433   AArch64 TLS DESC relocation.
   7434 ENUM
   7435   BFD_RELOC_AARCH64_TLSDESC_LD64_LO12
   7436 ENUMDOC
   7437   AArch64 TLS DESC relocation.
   7438 ENUM
   7439   BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC
   7440 ENUMDOC
   7441   AArch64 TLS DESC relocation.
   7442 ENUM
   7443   BFD_RELOC_AARCH64_TLSDESC_ADD_LO12
   7444 ENUMDOC
   7445   AArch64 TLS DESC relocation.
   7446 ENUM
   7447   BFD_RELOC_AARCH64_TLSDESC_OFF_G1
   7448 ENUMDOC
   7449   AArch64 TLS DESC relocation.
   7450 ENUM
   7451   BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC
   7452 ENUMDOC
   7453   AArch64 TLS DESC relocation.
   7454 ENUM
   7455   BFD_RELOC_AARCH64_TLSDESC_LDR
   7456 ENUMDOC
   7457   AArch64 TLS DESC relocation.
   7458 ENUM
   7459   BFD_RELOC_AARCH64_TLSDESC_ADD
   7460 ENUMDOC
   7461   AArch64 TLS DESC relocation.
   7462 ENUM
   7463   BFD_RELOC_AARCH64_TLSDESC_CALL
   7464 ENUMDOC
   7465   AArch64 TLS DESC relocation.
   7466 ENUM
   7467   BFD_RELOC_AARCH64_COPY
   7468 ENUMDOC
   7469   AArch64 TLS relocation.
   7470 ENUM
   7471   BFD_RELOC_AARCH64_GLOB_DAT
   7472 ENUMDOC
   7473   AArch64 TLS relocation.
   7474 ENUM
   7475   BFD_RELOC_AARCH64_JUMP_SLOT
   7476 ENUMDOC
   7477   AArch64 TLS relocation.
   7478 ENUM
   7479   BFD_RELOC_AARCH64_RELATIVE
   7480 ENUMDOC
   7481   AArch64 TLS relocation.
   7482 ENUM
   7483   BFD_RELOC_AARCH64_TLS_DTPMOD
   7484 ENUMDOC
   7485   AArch64 TLS relocation.
   7486 ENUM
   7487   BFD_RELOC_AARCH64_TLS_DTPREL
   7488 ENUMDOC
   7489   AArch64 TLS relocation.
   7490 ENUM
   7491   BFD_RELOC_AARCH64_TLS_TPREL
   7492 ENUMDOC
   7493   AArch64 TLS relocation.
   7494 ENUM
   7495   BFD_RELOC_AARCH64_TLSDESC
   7496 ENUMDOC
   7497   AArch64 TLS relocation.
   7498 ENUM
   7499   BFD_RELOC_AARCH64_IRELATIVE
   7500 ENUMDOC
   7501   AArch64 support for STT_GNU_IFUNC.
   7502 ENUM
   7503   BFD_RELOC_AARCH64_RELOC_END
   7504 ENUMDOC
   7505   AArch64 pseudo relocation code to mark the end of the AArch64
   7506   relocation enumerators that have direct mapping to ELF reloc codes.
   7507   There are a few more enumerators after this one; those are mainly
   7508   used by the AArch64 assembler for the internal fixup or to select
   7509   one of the above enumerators.
   7510 ENUM
   7511   BFD_RELOC_AARCH64_GAS_INTERNAL_FIXUP
   7512 ENUMDOC
   7513   AArch64 pseudo relocation code to be used internally by the AArch64
   7514   assembler and not (currently) written to any object files.
   7515 ENUM
   7516   BFD_RELOC_AARCH64_LDST_LO12
   7517 ENUMDOC
   7518   AArch64 unspecified load/store instruction, holding bits 0 to 11 of the
   7519   address.  Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL.
   7520 ENUM
   7521   BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12
   7522 ENUMDOC
   7523   AArch64 pseudo relocation code for TLS local dynamic mode.  It's to be
   7524   used internally by the AArch64 assembler and not (currently) written to
   7525   any object files.
   7526 ENUM
   7527   BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12_NC
   7528 ENUMDOC
   7529   Similar as BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12, but no overflow check.
   7530 ENUM
   7531   BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12
   7532 ENUMDOC
   7533   AArch64 pseudo relocation code for TLS local exec mode.  It's to be
   7534   used internally by the AArch64 assembler and not (currently) written to
   7535   any object files.
   7536 ENUM
   7537   BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC
   7538 ENUMDOC
   7539   Similar as BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12, but no overflow check.
   7540 ENUM
   7541   BFD_RELOC_AARCH64_LD_GOT_LO12_NC
   7542 ENUMDOC
   7543   AArch64 pseudo relocation code to be used internally by the AArch64
   7544   assembler and not (currently) written to any object files.
   7545 ENUM
   7546   BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC
   7547 ENUMDOC
   7548   AArch64 pseudo relocation code to be used internally by the AArch64
   7549   assembler and not (currently) written to any object files.
   7550 ENUM
   7551   BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC
   7552 ENUMDOC
   7553   AArch64 pseudo relocation code to be used internally by the AArch64
   7554   assembler and not (currently) written to any object files.
   7555 ENUM
   7556   BFD_RELOC_TILEPRO_COPY
   7557 ENUMX
   7558   BFD_RELOC_TILEPRO_GLOB_DAT
   7559 ENUMX
   7560   BFD_RELOC_TILEPRO_JMP_SLOT
   7561 ENUMX
   7562   BFD_RELOC_TILEPRO_RELATIVE
   7563 ENUMX
   7564   BFD_RELOC_TILEPRO_BROFF_X1
   7565 ENUMX
   7566   BFD_RELOC_TILEPRO_JOFFLONG_X1
   7567 ENUMX
   7568   BFD_RELOC_TILEPRO_JOFFLONG_X1_PLT
   7569 ENUMX
   7570   BFD_RELOC_TILEPRO_IMM8_X0
   7571 ENUMX
   7572   BFD_RELOC_TILEPRO_IMM8_Y0
   7573 ENUMX
   7574   BFD_RELOC_TILEPRO_IMM8_X1
   7575 ENUMX
   7576   BFD_RELOC_TILEPRO_IMM8_Y1
   7577 ENUMX
   7578   BFD_RELOC_TILEPRO_DEST_IMM8_X1
   7579 ENUMX
   7580   BFD_RELOC_TILEPRO_MT_IMM15_X1
   7581 ENUMX
   7582   BFD_RELOC_TILEPRO_MF_IMM15_X1
   7583 ENUMX
   7584   BFD_RELOC_TILEPRO_IMM16_X0
   7585 ENUMX
   7586   BFD_RELOC_TILEPRO_IMM16_X1
   7587 ENUMX
   7588   BFD_RELOC_TILEPRO_IMM16_X0_LO
   7589 ENUMX
   7590   BFD_RELOC_TILEPRO_IMM16_X1_LO
   7591 ENUMX
   7592   BFD_RELOC_TILEPRO_IMM16_X0_HI
   7593 ENUMX
   7594   BFD_RELOC_TILEPRO_IMM16_X1_HI
   7595 ENUMX
   7596   BFD_RELOC_TILEPRO_IMM16_X0_HA
   7597 ENUMX
   7598   BFD_RELOC_TILEPRO_IMM16_X1_HA
   7599 ENUMX
   7600   BFD_RELOC_TILEPRO_IMM16_X0_PCREL
   7601 ENUMX
   7602   BFD_RELOC_TILEPRO_IMM16_X1_PCREL
   7603 ENUMX
   7604   BFD_RELOC_TILEPRO_IMM16_X0_LO_PCREL
   7605 ENUMX
   7606   BFD_RELOC_TILEPRO_IMM16_X1_LO_PCREL
   7607 ENUMX
   7608   BFD_RELOC_TILEPRO_IMM16_X0_HI_PCREL
   7609 ENUMX
   7610   BFD_RELOC_TILEPRO_IMM16_X1_HI_PCREL
   7611 ENUMX
   7612   BFD_RELOC_TILEPRO_IMM16_X0_HA_PCREL
   7613 ENUMX
   7614   BFD_RELOC_TILEPRO_IMM16_X1_HA_PCREL
   7615 ENUMX
   7616   BFD_RELOC_TILEPRO_IMM16_X0_GOT
   7617 ENUMX
   7618   BFD_RELOC_TILEPRO_IMM16_X1_GOT
   7619 ENUMX
   7620   BFD_RELOC_TILEPRO_IMM16_X0_GOT_LO
   7621 ENUMX
   7622   BFD_RELOC_TILEPRO_IMM16_X1_GOT_LO
   7623 ENUMX
   7624   BFD_RELOC_TILEPRO_IMM16_X0_GOT_HI
   7625 ENUMX
   7626   BFD_RELOC_TILEPRO_IMM16_X1_GOT_HI
   7627 ENUMX
   7628   BFD_RELOC_TILEPRO_IMM16_X0_GOT_HA
   7629 ENUMX
   7630   BFD_RELOC_TILEPRO_IMM16_X1_GOT_HA
   7631 ENUMX
   7632   BFD_RELOC_TILEPRO_MMSTART_X0
   7633 ENUMX
   7634   BFD_RELOC_TILEPRO_MMEND_X0
   7635 ENUMX
   7636   BFD_RELOC_TILEPRO_MMSTART_X1
   7637 ENUMX
   7638   BFD_RELOC_TILEPRO_MMEND_X1
   7639 ENUMX
   7640   BFD_RELOC_TILEPRO_SHAMT_X0
   7641 ENUMX
   7642   BFD_RELOC_TILEPRO_SHAMT_X1
   7643 ENUMX
   7644   BFD_RELOC_TILEPRO_SHAMT_Y0
   7645 ENUMX
   7646   BFD_RELOC_TILEPRO_SHAMT_Y1
   7647 ENUMX
   7648   BFD_RELOC_TILEPRO_TLS_GD_CALL
   7649 ENUMX
   7650   BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD
   7651 ENUMX
   7652   BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD
   7653 ENUMX
   7654   BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD
   7655 ENUMX
   7656   BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD
   7657 ENUMX
   7658   BFD_RELOC_TILEPRO_TLS_IE_LOAD
   7659 ENUMX
   7660   BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD
   7661 ENUMX
   7662   BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD
   7663 ENUMX
   7664   BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_LO
   7665 ENUMX
   7666   BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_LO
   7667 ENUMX
   7668   BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HI
   7669 ENUMX
   7670   BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HI
   7671 ENUMX
   7672   BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HA
   7673 ENUMX
   7674   BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HA
   7675 ENUMX
   7676   BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE
   7677 ENUMX
   7678   BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE
   7679 ENUMX
   7680   BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_LO
   7681 ENUMX
   7682   BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_LO
   7683 ENUMX
   7684   BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HI
   7685 ENUMX
   7686   BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HI
   7687 ENUMX
   7688   BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HA
   7689 ENUMX
   7690   BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HA
   7691 ENUMX
   7692   BFD_RELOC_TILEPRO_TLS_DTPMOD32
   7693 ENUMX
   7694   BFD_RELOC_TILEPRO_TLS_DTPOFF32
   7695 ENUMX
   7696   BFD_RELOC_TILEPRO_TLS_TPOFF32
   7697 ENUMX
   7698   BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE
   7699 ENUMX
   7700   BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE
   7701 ENUMX
   7702   BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO
   7703 ENUMX
   7704   BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO
   7705 ENUMX
   7706   BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI
   7707 ENUMX
   7708   BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI
   7709 ENUMX
   7710   BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA
   7711 ENUMX
   7712   BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA
   7713 ENUMDOC
   7714   Tilera TILEPro Relocations.
   7715 ENUM
   7716   BFD_RELOC_TILEGX_HW0
   7717 ENUMX
   7718   BFD_RELOC_TILEGX_HW1
   7719 ENUMX
   7720   BFD_RELOC_TILEGX_HW2
   7721 ENUMX
   7722   BFD_RELOC_TILEGX_HW3
   7723 ENUMX
   7724   BFD_RELOC_TILEGX_HW0_LAST
   7725 ENUMX
   7726   BFD_RELOC_TILEGX_HW1_LAST
   7727 ENUMX
   7728   BFD_RELOC_TILEGX_HW2_LAST
   7729 ENUMX
   7730   BFD_RELOC_TILEGX_COPY
   7731 ENUMX
   7732   BFD_RELOC_TILEGX_GLOB_DAT
   7733 ENUMX
   7734   BFD_RELOC_TILEGX_JMP_SLOT
   7735 ENUMX
   7736   BFD_RELOC_TILEGX_RELATIVE
   7737 ENUMX
   7738   BFD_RELOC_TILEGX_BROFF_X1
   7739 ENUMX
   7740   BFD_RELOC_TILEGX_JUMPOFF_X1
   7741 ENUMX
   7742   BFD_RELOC_TILEGX_JUMPOFF_X1_PLT
   7743 ENUMX
   7744   BFD_RELOC_TILEGX_IMM8_X0
   7745 ENUMX
   7746   BFD_RELOC_TILEGX_IMM8_Y0
   7747 ENUMX
   7748   BFD_RELOC_TILEGX_IMM8_X1
   7749 ENUMX
   7750   BFD_RELOC_TILEGX_IMM8_Y1
   7751 ENUMX
   7752   BFD_RELOC_TILEGX_DEST_IMM8_X1
   7753 ENUMX
   7754   BFD_RELOC_TILEGX_MT_IMM14_X1
   7755 ENUMX
   7756   BFD_RELOC_TILEGX_MF_IMM14_X1
   7757 ENUMX
   7758   BFD_RELOC_TILEGX_MMSTART_X0
   7759 ENUMX
   7760   BFD_RELOC_TILEGX_MMEND_X0
   7761 ENUMX
   7762   BFD_RELOC_TILEGX_SHAMT_X0
   7763 ENUMX
   7764   BFD_RELOC_TILEGX_SHAMT_X1
   7765 ENUMX
   7766   BFD_RELOC_TILEGX_SHAMT_Y0
   7767 ENUMX
   7768   BFD_RELOC_TILEGX_SHAMT_Y1
   7769 ENUMX
   7770   BFD_RELOC_TILEGX_IMM16_X0_HW0
   7771 ENUMX
   7772   BFD_RELOC_TILEGX_IMM16_X1_HW0
   7773 ENUMX
   7774   BFD_RELOC_TILEGX_IMM16_X0_HW1
   7775 ENUMX
   7776   BFD_RELOC_TILEGX_IMM16_X1_HW1
   7777 ENUMX
   7778   BFD_RELOC_TILEGX_IMM16_X0_HW2
   7779 ENUMX
   7780   BFD_RELOC_TILEGX_IMM16_X1_HW2
   7781 ENUMX
   7782   BFD_RELOC_TILEGX_IMM16_X0_HW3
   7783 ENUMX
   7784   BFD_RELOC_TILEGX_IMM16_X1_HW3
   7785 ENUMX
   7786   BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST
   7787 ENUMX
   7788   BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST
   7789 ENUMX
   7790   BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST
   7791 ENUMX
   7792   BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST
   7793 ENUMX
   7794   BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST
   7795 ENUMX
   7796   BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST
   7797 ENUMX
   7798   BFD_RELOC_TILEGX_IMM16_X0_HW0_PCREL
   7799 ENUMX
   7800   BFD_RELOC_TILEGX_IMM16_X1_HW0_PCREL
   7801 ENUMX
   7802   BFD_RELOC_TILEGX_IMM16_X0_HW1_PCREL
   7803 ENUMX
   7804   BFD_RELOC_TILEGX_IMM16_X1_HW1_PCREL
   7805 ENUMX
   7806   BFD_RELOC_TILEGX_IMM16_X0_HW2_PCREL
   7807 ENUMX
   7808   BFD_RELOC_TILEGX_IMM16_X1_HW2_PCREL
   7809 ENUMX
   7810   BFD_RELOC_TILEGX_IMM16_X0_HW3_PCREL
   7811 ENUMX
   7812   BFD_RELOC_TILEGX_IMM16_X1_HW3_PCREL
   7813 ENUMX
   7814   BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PCREL
   7815 ENUMX
   7816   BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PCREL
   7817 ENUMX
   7818   BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PCREL
   7819 ENUMX
   7820   BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PCREL
   7821 ENUMX
   7822   BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PCREL
   7823 ENUMX
   7824   BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PCREL
   7825 ENUMX
   7826   BFD_RELOC_TILEGX_IMM16_X0_HW0_GOT
   7827 ENUMX
   7828   BFD_RELOC_TILEGX_IMM16_X1_HW0_GOT
   7829 ENUMX
   7830   BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL
   7831 ENUMX
   7832   BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL
   7833 ENUMX
   7834   BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL
   7835 ENUMX
   7836   BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL
   7837 ENUMX
   7838   BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL
   7839 ENUMX
   7840   BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL
   7841 ENUMX
   7842   BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_GOT
   7843 ENUMX
   7844   BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_GOT
   7845 ENUMX
   7846   BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_GOT
   7847 ENUMX
   7848   BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_GOT
   7849 ENUMX
   7850   BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL
   7851 ENUMX
   7852   BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL
   7853 ENUMX
   7854   BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_GD
   7855 ENUMX
   7856   BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_GD
   7857 ENUMX
   7858   BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE
   7859 ENUMX
   7860   BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE
   7861 ENUMX
   7862   BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE
   7863 ENUMX
   7864   BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE
   7865 ENUMX
   7866   BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE
   7867 ENUMX
   7868   BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE
   7869 ENUMX
   7870   BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_GD
   7871 ENUMX
   7872   BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_GD
   7873 ENUMX
   7874   BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_GD
   7875 ENUMX
   7876   BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_GD
   7877 ENUMX
   7878   BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_IE
   7879 ENUMX
   7880   BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_IE
   7881 ENUMX
   7882   BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL
   7883 ENUMX
   7884   BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL
   7885 ENUMX
   7886   BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL
   7887 ENUMX
   7888   BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL
   7889 ENUMX
   7890   BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL
   7891 ENUMX
   7892   BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL
   7893 ENUMX
   7894   BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_IE
   7895 ENUMX
   7896   BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_IE
   7897 ENUMX
   7898   BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_IE
   7899 ENUMX
   7900   BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_IE
   7901 ENUMX
   7902   BFD_RELOC_TILEGX_TLS_DTPMOD64
   7903 ENUMX
   7904   BFD_RELOC_TILEGX_TLS_DTPOFF64
   7905 ENUMX
   7906   BFD_RELOC_TILEGX_TLS_TPOFF64
   7907 ENUMX
   7908   BFD_RELOC_TILEGX_TLS_DTPMOD32
   7909 ENUMX
   7910   BFD_RELOC_TILEGX_TLS_DTPOFF32
   7911 ENUMX
   7912   BFD_RELOC_TILEGX_TLS_TPOFF32
   7913 ENUMX
   7914   BFD_RELOC_TILEGX_TLS_GD_CALL
   7915 ENUMX
   7916   BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD
   7917 ENUMX
   7918   BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD
   7919 ENUMX
   7920   BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD
   7921 ENUMX
   7922   BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD
   7923 ENUMX
   7924   BFD_RELOC_TILEGX_TLS_IE_LOAD
   7925 ENUMX
   7926   BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD
   7927 ENUMX
   7928   BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD
   7929 ENUMX
   7930   BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD
   7931 ENUMX
   7932   BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD
   7933 ENUMDOC
   7934   Tilera TILE-Gx Relocations.
   7935 
   7936 ENUM
   7937   BFD_RELOC_BPF_64
   7938 ENUMX
   7939   BFD_RELOC_BPF_32
   7940 ENUMX
   7941   BFD_RELOC_BPF_16
   7942 ENUMX
   7943   BFD_RELOC_BPF_DISP16
   7944 ENUMX
   7945   BFD_RELOC_BPF_DISP32
   7946 ENUMDOC
   7947   Linux eBPF relocations.
   7948 
   7949 ENUM
   7950   BFD_RELOC_EPIPHANY_SIMM8
   7951 ENUMDOC
   7952   Adapteva EPIPHANY - 8 bit signed pc-relative displacement
   7953 ENUM
   7954   BFD_RELOC_EPIPHANY_SIMM24
   7955 ENUMDOC
   7956   Adapteva EPIPHANY - 24 bit signed pc-relative displacement
   7957 ENUM
   7958   BFD_RELOC_EPIPHANY_HIGH
   7959 ENUMDOC
   7960   Adapteva EPIPHANY - 16 most-significant bits of absolute address
   7961 ENUM
   7962   BFD_RELOC_EPIPHANY_LOW
   7963 ENUMDOC
   7964   Adapteva EPIPHANY - 16 least-significant bits of absolute address
   7965 ENUM
   7966   BFD_RELOC_EPIPHANY_SIMM11
   7967 ENUMDOC
   7968   Adapteva EPIPHANY - 11 bit signed number - add/sub immediate
   7969 ENUM
   7970   BFD_RELOC_EPIPHANY_IMM11
   7971 ENUMDOC
   7972   Adapteva EPIPHANY - 11 bit sign-magnitude number (ld/st displacement)
   7973 ENUM
   7974   BFD_RELOC_EPIPHANY_IMM8
   7975 ENUMDOC
   7976   Adapteva EPIPHANY - 8 bit immediate for 16 bit mov instruction.
   7977 
   7978 ENUM
   7979   BFD_RELOC_VISIUM_HI16
   7980 ENUMX
   7981   BFD_RELOC_VISIUM_LO16
   7982 ENUMX
   7983   BFD_RELOC_VISIUM_IM16
   7984 ENUMX
   7985   BFD_RELOC_VISIUM_REL16
   7986 ENUMX
   7987   BFD_RELOC_VISIUM_HI16_PCREL
   7988 ENUMX
   7989   BFD_RELOC_VISIUM_LO16_PCREL
   7990 ENUMX
   7991   BFD_RELOC_VISIUM_IM16_PCREL
   7992 ENUMDOC
   7993   Visium Relocations.
   7994 
   7995 ENUM
   7996   BFD_RELOC_WASM32_LEB128
   7997 ENUMX
   7998   BFD_RELOC_WASM32_LEB128_GOT
   7999 ENUMX
   8000   BFD_RELOC_WASM32_LEB128_GOT_CODE
   8001 ENUMX
   8002   BFD_RELOC_WASM32_LEB128_PLT
   8003 ENUMX
   8004   BFD_RELOC_WASM32_PLT_INDEX
   8005 ENUMX
   8006   BFD_RELOC_WASM32_ABS32_CODE
   8007 ENUMX
   8008   BFD_RELOC_WASM32_COPY
   8009 ENUMX
   8010   BFD_RELOC_WASM32_CODE_POINTER
   8011 ENUMX
   8012   BFD_RELOC_WASM32_INDEX
   8013 ENUMX
   8014   BFD_RELOC_WASM32_PLT_SIG
   8015 ENUMDOC
   8016   WebAssembly relocations.
   8017 
   8018 ENUM
   8019   BFD_RELOC_CKCORE_NONE
   8020 ENUMX
   8021   BFD_RELOC_CKCORE_ADDR32
   8022 ENUMX
   8023   BFD_RELOC_CKCORE_PCREL_IMM8BY4
   8024 ENUMX
   8025   BFD_RELOC_CKCORE_PCREL_IMM11BY2
   8026 ENUMX
   8027   BFD_RELOC_CKCORE_PCREL_IMM4BY2
   8028 ENUMX
   8029   BFD_RELOC_CKCORE_PCREL32
   8030 ENUMX
   8031   BFD_RELOC_CKCORE_PCREL_JSR_IMM11BY2
   8032 ENUMX
   8033   BFD_RELOC_CKCORE_GNU_VTINHERIT
   8034 ENUMX
   8035   BFD_RELOC_CKCORE_GNU_VTENTRY
   8036 ENUMX
   8037   BFD_RELOC_CKCORE_RELATIVE
   8038 ENUMX
   8039   BFD_RELOC_CKCORE_COPY
   8040 ENUMX
   8041   BFD_RELOC_CKCORE_GLOB_DAT
   8042 ENUMX
   8043   BFD_RELOC_CKCORE_JUMP_SLOT
   8044 ENUMX
   8045   BFD_RELOC_CKCORE_GOTOFF
   8046 ENUMX
   8047   BFD_RELOC_CKCORE_GOTPC
   8048 ENUMX
   8049   BFD_RELOC_CKCORE_GOT32
   8050 ENUMX
   8051   BFD_RELOC_CKCORE_PLT32
   8052 ENUMX
   8053   BFD_RELOC_CKCORE_ADDRGOT
   8054 ENUMX
   8055   BFD_RELOC_CKCORE_ADDRPLT
   8056 ENUMX
   8057   BFD_RELOC_CKCORE_PCREL_IMM26BY2
   8058 ENUMX
   8059   BFD_RELOC_CKCORE_PCREL_IMM16BY2
   8060 ENUMX
   8061   BFD_RELOC_CKCORE_PCREL_IMM16BY4
   8062 ENUMX
   8063   BFD_RELOC_CKCORE_PCREL_IMM10BY2
   8064 ENUMX
   8065   BFD_RELOC_CKCORE_PCREL_IMM10BY4
   8066 ENUMX
   8067   BFD_RELOC_CKCORE_ADDR_HI16
   8068 ENUMX
   8069   BFD_RELOC_CKCORE_ADDR_LO16
   8070 ENUMX
   8071   BFD_RELOC_CKCORE_GOTPC_HI16
   8072 ENUMX
   8073   BFD_RELOC_CKCORE_GOTPC_LO16
   8074 ENUMX
   8075   BFD_RELOC_CKCORE_GOTOFF_HI16
   8076 ENUMX
   8077   BFD_RELOC_CKCORE_GOTOFF_LO16
   8078 ENUMX
   8079   BFD_RELOC_CKCORE_GOT12
   8080 ENUMX
   8081   BFD_RELOC_CKCORE_GOT_HI16
   8082 ENUMX
   8083   BFD_RELOC_CKCORE_GOT_LO16
   8084 ENUMX
   8085   BFD_RELOC_CKCORE_PLT12
   8086 ENUMX
   8087   BFD_RELOC_CKCORE_PLT_HI16
   8088 ENUMX
   8089   BFD_RELOC_CKCORE_PLT_LO16
   8090 ENUMX
   8091   BFD_RELOC_CKCORE_ADDRGOT_HI16
   8092 ENUMX
   8093   BFD_RELOC_CKCORE_ADDRGOT_LO16
   8094 ENUMX
   8095   BFD_RELOC_CKCORE_ADDRPLT_HI16
   8096 ENUMX
   8097   BFD_RELOC_CKCORE_ADDRPLT_LO16
   8098 ENUMX
   8099   BFD_RELOC_CKCORE_PCREL_JSR_IMM26BY2
   8100 ENUMX
   8101   BFD_RELOC_CKCORE_TOFFSET_LO16
   8102 ENUMX
   8103   BFD_RELOC_CKCORE_DOFFSET_LO16
   8104 ENUMX
   8105   BFD_RELOC_CKCORE_PCREL_IMM18BY2
   8106 ENUMX
   8107   BFD_RELOC_CKCORE_DOFFSET_IMM18
   8108 ENUMX
   8109   BFD_RELOC_CKCORE_DOFFSET_IMM18BY2
   8110 ENUMX
   8111   BFD_RELOC_CKCORE_DOFFSET_IMM18BY4
   8112 ENUMX
   8113   BFD_RELOC_CKCORE_GOTOFF_IMM18
   8114 ENUMX
   8115   BFD_RELOC_CKCORE_GOT_IMM18BY4
   8116 ENUMX
   8117   BFD_RELOC_CKCORE_PLT_IMM18BY4
   8118 ENUMX
   8119   BFD_RELOC_CKCORE_PCREL_IMM7BY4
   8120 ENUMX
   8121   BFD_RELOC_CKCORE_TLS_LE32
   8122 ENUMX
   8123   BFD_RELOC_CKCORE_TLS_IE32
   8124 ENUMX
   8125   BFD_RELOC_CKCORE_TLS_GD32
   8126 ENUMX
   8127   BFD_RELOC_CKCORE_TLS_LDM32
   8128 ENUMX
   8129   BFD_RELOC_CKCORE_TLS_LDO32
   8130 ENUMX
   8131   BFD_RELOC_CKCORE_TLS_DTPMOD32
   8132 ENUMX
   8133   BFD_RELOC_CKCORE_TLS_DTPOFF32
   8134 ENUMX
   8135   BFD_RELOC_CKCORE_TLS_TPOFF32
   8136 ENUMX
   8137   BFD_RELOC_CKCORE_PCREL_FLRW_IMM8BY4
   8138 ENUMX
   8139   BFD_RELOC_CKCORE_NOJSRI
   8140 ENUMX
   8141   BFD_RELOC_CKCORE_CALLGRAPH
   8142 ENUMX
   8143   BFD_RELOC_CKCORE_IRELATIVE
   8144 ENUMX
   8145   BFD_RELOC_CKCORE_PCREL_BLOOP_IMM4BY4
   8146 ENUMX
   8147   BFD_RELOC_CKCORE_PCREL_BLOOP_IMM12BY4
   8148 ENUMDOC
   8149   C-SKY relocations.
   8150 
   8151 ENUM
   8152   BFD_RELOC_S12Z_OPR
   8153 ENUMDOC
   8154   S12Z relocations.
   8155 
   8156 ENUM
   8157   BFD_RELOC_LARCH_TLS_DTPMOD32
   8158 ENUMX
   8159   BFD_RELOC_LARCH_TLS_DTPREL32
   8160 ENUMX
   8161   BFD_RELOC_LARCH_TLS_DTPMOD64
   8162 ENUMX
   8163   BFD_RELOC_LARCH_TLS_DTPREL64
   8164 ENUMX
   8165   BFD_RELOC_LARCH_TLS_TPREL32
   8166 ENUMX
   8167   BFD_RELOC_LARCH_TLS_TPREL64
   8168 ENUMX
   8169   BFD_RELOC_LARCH_MARK_LA
   8170 ENUMX
   8171   BFD_RELOC_LARCH_MARK_PCREL
   8172 ENUMX
   8173   BFD_RELOC_LARCH_SOP_PUSH_PCREL
   8174 ENUMX
   8175   BFD_RELOC_LARCH_SOP_PUSH_ABSOLUTE
   8176 ENUMX
   8177   BFD_RELOC_LARCH_SOP_PUSH_DUP
   8178 ENUMX
   8179   BFD_RELOC_LARCH_SOP_PUSH_GPREL
   8180 ENUMX
   8181   BFD_RELOC_LARCH_SOP_PUSH_TLS_TPREL
   8182 ENUMX
   8183   BFD_RELOC_LARCH_SOP_PUSH_TLS_GOT
   8184 ENUMX
   8185   BFD_RELOC_LARCH_SOP_PUSH_TLS_GD
   8186 ENUMX
   8187   BFD_RELOC_LARCH_SOP_PUSH_PLT_PCREL
   8188 ENUMX
   8189   BFD_RELOC_LARCH_SOP_ASSERT
   8190 ENUMX
   8191   BFD_RELOC_LARCH_SOP_NOT
   8192 ENUMX
   8193   BFD_RELOC_LARCH_SOP_SUB
   8194 ENUMX
   8195   BFD_RELOC_LARCH_SOP_SL
   8196 ENUMX
   8197   BFD_RELOC_LARCH_SOP_SR
   8198 ENUMX
   8199   BFD_RELOC_LARCH_SOP_ADD
   8200 ENUMX
   8201   BFD_RELOC_LARCH_SOP_AND
   8202 ENUMX
   8203   BFD_RELOC_LARCH_SOP_IF_ELSE
   8204 ENUMX
   8205   BFD_RELOC_LARCH_SOP_POP_32_S_10_5
   8206 ENUMX
   8207   BFD_RELOC_LARCH_SOP_POP_32_U_10_12
   8208 ENUMX
   8209   BFD_RELOC_LARCH_SOP_POP_32_S_10_12
   8210 ENUMX
   8211   BFD_RELOC_LARCH_SOP_POP_32_S_10_16
   8212 ENUMX
   8213   BFD_RELOC_LARCH_SOP_POP_32_S_10_16_S2
   8214 ENUMX
   8215   BFD_RELOC_LARCH_SOP_POP_32_S_5_20
   8216 ENUMX
   8217   BFD_RELOC_LARCH_SOP_POP_32_S_0_5_10_16_S2
   8218 ENUMX
   8219   BFD_RELOC_LARCH_SOP_POP_32_S_0_10_10_16_S2
   8220 ENUMX
   8221   BFD_RELOC_LARCH_SOP_POP_32_U
   8222 ENUMX
   8223   BFD_RELOC_LARCH_ADD8
   8224 ENUMX
   8225   BFD_RELOC_LARCH_ADD16
   8226 ENUMX
   8227   BFD_RELOC_LARCH_ADD24
   8228 ENUMX
   8229   BFD_RELOC_LARCH_ADD32
   8230 ENUMX
   8231   BFD_RELOC_LARCH_ADD64
   8232 ENUMX
   8233   BFD_RELOC_LARCH_SUB8
   8234 ENUMX
   8235   BFD_RELOC_LARCH_SUB16
   8236 ENUMX
   8237   BFD_RELOC_LARCH_SUB24
   8238 ENUMX
   8239   BFD_RELOC_LARCH_SUB32
   8240 ENUMX
   8241   BFD_RELOC_LARCH_SUB64
   8242 ENUMDOC
   8243   LARCH relocations.
   8244 
   8245 ENDSENUM
   8246   BFD_RELOC_UNUSED
   8247 CODE_FRAGMENT
   8248 .
   8249 .typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
   8250 */
   8251 
   8252 /*
   8253 FUNCTION
   8254 	bfd_reloc_type_lookup
   8255 	bfd_reloc_name_lookup
   8256 
   8257 SYNOPSIS
   8258 	reloc_howto_type *bfd_reloc_type_lookup
   8259 	  (bfd *abfd, bfd_reloc_code_real_type code);
   8260 	reloc_howto_type *bfd_reloc_name_lookup
   8261 	  (bfd *abfd, const char *reloc_name);
   8262 
   8263 DESCRIPTION
   8264 	Return a pointer to a howto structure which, when
   8265 	invoked, will perform the relocation @var{code} on data from the
   8266 	architecture noted.
   8267 
   8268 */
   8269 
   8270 reloc_howto_type *
   8271 bfd_reloc_type_lookup (bfd *abfd, bfd_reloc_code_real_type code)
   8272 {
   8273   return BFD_SEND (abfd, reloc_type_lookup, (abfd, code));
   8274 }
   8275 
   8276 reloc_howto_type *
   8277 bfd_reloc_name_lookup (bfd *abfd, const char *reloc_name)
   8278 {
   8279   return BFD_SEND (abfd, reloc_name_lookup, (abfd, reloc_name));
   8280 }
   8281 
   8282 static reloc_howto_type bfd_howto_32 =
   8283 HOWTO (0, 00, 4, 32, false, 0, complain_overflow_dont, 0, "VRT32", false, 0xffffffff, 0xffffffff, true);
   8284 
   8285 /*
   8286 INTERNAL_FUNCTION
   8287 	bfd_default_reloc_type_lookup
   8288 
   8289 SYNOPSIS
   8290 	reloc_howto_type *bfd_default_reloc_type_lookup
   8291 	  (bfd *abfd, bfd_reloc_code_real_type  code);
   8292 
   8293 DESCRIPTION
   8294 	Provides a default relocation lookup routine for any architecture.
   8295 
   8296 */
   8297 
   8298 reloc_howto_type *
   8299 bfd_default_reloc_type_lookup (bfd *abfd, bfd_reloc_code_real_type code)
   8300 {
   8301   /* Very limited support is provided for relocs in generic targets
   8302      such as elf32-little.  FIXME: Should we always return NULL?  */
   8303   if (code == BFD_RELOC_CTOR
   8304       && bfd_arch_bits_per_address (abfd) == 32)
   8305     return &bfd_howto_32;
   8306   return NULL;
   8307 }
   8308 
   8309 /*
   8310 FUNCTION
   8311 	bfd_get_reloc_code_name
   8312 
   8313 SYNOPSIS
   8314 	const char *bfd_get_reloc_code_name (bfd_reloc_code_real_type code);
   8315 
   8316 DESCRIPTION
   8317 	Provides a printable name for the supplied relocation code.
   8318 	Useful mainly for printing error messages.
   8319 */
   8320 
   8321 const char *
   8322 bfd_get_reloc_code_name (bfd_reloc_code_real_type code)
   8323 {
   8324   if (code > BFD_RELOC_UNUSED)
   8325     return 0;
   8326   return bfd_reloc_code_real_names[code];
   8327 }
   8328 
   8329 /*
   8330 INTERNAL_FUNCTION
   8331 	bfd_generic_relax_section
   8332 
   8333 SYNOPSIS
   8334 	bool bfd_generic_relax_section
   8335 	  (bfd *abfd,
   8336 	   asection *section,
   8337 	   struct bfd_link_info *,
   8338 	   bool *);
   8339 
   8340 DESCRIPTION
   8341 	Provides default handling for relaxing for back ends which
   8342 	don't do relaxing.
   8343 */
   8344 
   8345 bool
   8346 bfd_generic_relax_section (bfd *abfd ATTRIBUTE_UNUSED,
   8347 			   asection *section ATTRIBUTE_UNUSED,
   8348 			   struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
   8349 			   bool *again)
   8350 {
   8351   if (bfd_link_relocatable (link_info))
   8352     (*link_info->callbacks->einfo)
   8353       (_("%P%F: --relax and -r may not be used together\n"));
   8354 
   8355   *again = false;
   8356   return true;
   8357 }
   8358 
   8359 /*
   8360 INTERNAL_FUNCTION
   8361 	bfd_generic_gc_sections
   8362 
   8363 SYNOPSIS
   8364 	bool bfd_generic_gc_sections
   8365 	  (bfd *, struct bfd_link_info *);
   8366 
   8367 DESCRIPTION
   8368 	Provides default handling for relaxing for back ends which
   8369 	don't do section gc -- i.e., does nothing.
   8370 */
   8371 
   8372 bool
   8373 bfd_generic_gc_sections (bfd *abfd ATTRIBUTE_UNUSED,
   8374 			 struct bfd_link_info *info ATTRIBUTE_UNUSED)
   8375 {
   8376   return true;
   8377 }
   8378 
   8379 /*
   8380 INTERNAL_FUNCTION
   8381 	bfd_generic_lookup_section_flags
   8382 
   8383 SYNOPSIS
   8384 	bool bfd_generic_lookup_section_flags
   8385 	  (struct bfd_link_info *, struct flag_info *, asection *);
   8386 
   8387 DESCRIPTION
   8388 	Provides default handling for section flags lookup
   8389 	-- i.e., does nothing.
   8390 	Returns FALSE if the section should be omitted, otherwise TRUE.
   8391 */
   8392 
   8393 bool
   8394 bfd_generic_lookup_section_flags (struct bfd_link_info *info ATTRIBUTE_UNUSED,
   8395 				  struct flag_info *flaginfo,
   8396 				  asection *section ATTRIBUTE_UNUSED)
   8397 {
   8398   if (flaginfo != NULL)
   8399     {
   8400       _bfd_error_handler (_("INPUT_SECTION_FLAGS are not supported"));
   8401       return false;
   8402     }
   8403   return true;
   8404 }
   8405 
   8406 /*
   8407 INTERNAL_FUNCTION
   8408 	bfd_generic_merge_sections
   8409 
   8410 SYNOPSIS
   8411 	bool bfd_generic_merge_sections
   8412 	  (bfd *, struct bfd_link_info *);
   8413 
   8414 DESCRIPTION
   8415 	Provides default handling for SEC_MERGE section merging for back ends
   8416 	which don't have SEC_MERGE support -- i.e., does nothing.
   8417 */
   8418 
   8419 bool
   8420 bfd_generic_merge_sections (bfd *abfd ATTRIBUTE_UNUSED,
   8421 			    struct bfd_link_info *link_info ATTRIBUTE_UNUSED)
   8422 {
   8423   return true;
   8424 }
   8425 
   8426 /*
   8427 INTERNAL_FUNCTION
   8428 	bfd_generic_get_relocated_section_contents
   8429 
   8430 SYNOPSIS
   8431 	bfd_byte *bfd_generic_get_relocated_section_contents
   8432 	  (bfd *abfd,
   8433 	   struct bfd_link_info *link_info,
   8434 	   struct bfd_link_order *link_order,
   8435 	   bfd_byte *data,
   8436 	   bool relocatable,
   8437 	   asymbol **symbols);
   8438 
   8439 DESCRIPTION
   8440 	Provides default handling of relocation effort for back ends
   8441 	which can't be bothered to do it efficiently.
   8442 
   8443 */
   8444 
   8445 bfd_byte *
   8446 bfd_generic_get_relocated_section_contents (bfd *abfd,
   8447 					    struct bfd_link_info *link_info,
   8448 					    struct bfd_link_order *link_order,
   8449 					    bfd_byte *data,
   8450 					    bool relocatable,
   8451 					    asymbol **symbols)
   8452 {
   8453   bfd *input_bfd = link_order->u.indirect.section->owner;
   8454   asection *input_section = link_order->u.indirect.section;
   8455   long reloc_size;
   8456   arelent **reloc_vector;
   8457   long reloc_count;
   8458 
   8459   reloc_size = bfd_get_reloc_upper_bound (input_bfd, input_section);
   8460   if (reloc_size < 0)
   8461     return NULL;
   8462 
   8463   /* Read in the section.  */
   8464   if (!bfd_get_full_section_contents (input_bfd, input_section, &data))
   8465     return NULL;
   8466 
   8467   if (data == NULL)
   8468     return NULL;
   8469 
   8470   if (reloc_size == 0)
   8471     return data;
   8472 
   8473   reloc_vector = (arelent **) bfd_malloc (reloc_size);
   8474   if (reloc_vector == NULL)
   8475     return NULL;
   8476 
   8477   reloc_count = bfd_canonicalize_reloc (input_bfd,
   8478 					input_section,
   8479 					reloc_vector,
   8480 					symbols);
   8481   if (reloc_count < 0)
   8482     goto error_return;
   8483 
   8484   if (reloc_count > 0)
   8485     {
   8486       arelent **parent;
   8487 
   8488       for (parent = reloc_vector; *parent != NULL; parent++)
   8489 	{
   8490 	  char *error_message = NULL;
   8491 	  asymbol *symbol;
   8492 	  bfd_reloc_status_type r;
   8493 
   8494 	  symbol = *(*parent)->sym_ptr_ptr;
   8495 	  /* PR ld/19628: A specially crafted input file
   8496 	     can result in a NULL symbol pointer here.  */
   8497 	  if (symbol == NULL)
   8498 	    {
   8499 	      link_info->callbacks->einfo
   8500 		/* xgettext:c-format */
   8501 		(_("%X%P: %pB(%pA): error: relocation for offset %V has no value\n"),
   8502 		 abfd, input_section, (* parent)->address);
   8503 	      goto error_return;
   8504 	    }
   8505 
   8506 	  /* Zap reloc field when the symbol is from a discarded
   8507 	     section, ignoring any addend.  Do the same when called
   8508 	     from bfd_simple_get_relocated_section_contents for
   8509 	     undefined symbols in debug sections.  This is to keep
   8510 	     debug info reasonably sane, in particular so that
   8511 	     DW_FORM_ref_addr to another file's .debug_info isn't
   8512 	     confused with an offset into the current file's
   8513 	     .debug_info.  */
   8514 	  if ((symbol->section != NULL && discarded_section (symbol->section))
   8515 	      || (symbol->section == bfd_und_section_ptr
   8516 		  && (input_section->flags & SEC_DEBUGGING) != 0
   8517 		  && link_info->input_bfds == link_info->output_bfd))
   8518 	    {
   8519 	      bfd_vma off;
   8520 	      static reloc_howto_type none_howto
   8521 		= HOWTO (0, 0, 0, 0, false, 0, complain_overflow_dont, NULL,
   8522 			 "unused", false, 0, 0, false);
   8523 
   8524 	      off = ((*parent)->address
   8525 		     * bfd_octets_per_byte (input_bfd, input_section));
   8526 	      _bfd_clear_contents ((*parent)->howto, input_bfd,
   8527 				   input_section, data, off);
   8528 	      (*parent)->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
   8529 	      (*parent)->addend = 0;
   8530 	      (*parent)->howto = &none_howto;
   8531 	      r = bfd_reloc_ok;
   8532 	    }
   8533 	  else
   8534 	    r = bfd_perform_relocation (input_bfd,
   8535 					*parent,
   8536 					data,
   8537 					input_section,
   8538 					relocatable ? abfd : NULL,
   8539 					&error_message);
   8540 
   8541 	  if (relocatable)
   8542 	    {
   8543 	      asection *os = input_section->output_section;
   8544 
   8545 	      /* A partial link, so keep the relocs.  */
   8546 	      os->orelocation[os->reloc_count] = *parent;
   8547 	      os->reloc_count++;
   8548 	    }
   8549 
   8550 	  if (r != bfd_reloc_ok)
   8551 	    {
   8552 	      switch (r)
   8553 		{
   8554 		case bfd_reloc_undefined:
   8555 		  (*link_info->callbacks->undefined_symbol)
   8556 		    (link_info, bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
   8557 		     input_bfd, input_section, (*parent)->address, true);
   8558 		  break;
   8559 		case bfd_reloc_dangerous:
   8560 		  BFD_ASSERT (error_message != NULL);
   8561 		  (*link_info->callbacks->reloc_dangerous)
   8562 		    (link_info, error_message,
   8563 		     input_bfd, input_section, (*parent)->address);
   8564 		  break;
   8565 		case bfd_reloc_overflow:
   8566 		  (*link_info->callbacks->reloc_overflow)
   8567 		    (link_info, NULL,
   8568 		     bfd_asymbol_name (*(*parent)->sym_ptr_ptr),
   8569 		     (*parent)->howto->name, (*parent)->addend,
   8570 		     input_bfd, input_section, (*parent)->address);
   8571 		  break;
   8572 		case bfd_reloc_outofrange:
   8573 		  /* PR ld/13730:
   8574 		     This error can result when processing some partially
   8575 		     complete binaries.  Do not abort, but issue an error
   8576 		     message instead.  */
   8577 		  link_info->callbacks->einfo
   8578 		    /* xgettext:c-format */
   8579 		    (_("%X%P: %pB(%pA): relocation \"%pR\" goes out of range\n"),
   8580 		     abfd, input_section, * parent);
   8581 		  goto error_return;
   8582 
   8583 		case bfd_reloc_notsupported:
   8584 		  /* PR ld/17512
   8585 		     This error can result when processing a corrupt binary.
   8586 		     Do not abort.  Issue an error message instead.  */
   8587 		  link_info->callbacks->einfo
   8588 		    /* xgettext:c-format */
   8589 		    (_("%X%P: %pB(%pA): relocation \"%pR\" is not supported\n"),
   8590 		     abfd, input_section, * parent);
   8591 		  goto error_return;
   8592 
   8593 		default:
   8594 		  /* PR 17512; file: 90c2a92e.
   8595 		     Report unexpected results, without aborting.  */
   8596 		  link_info->callbacks->einfo
   8597 		    /* xgettext:c-format */
   8598 		    (_("%X%P: %pB(%pA): relocation \"%pR\" returns an unrecognized value %x\n"),
   8599 		     abfd, input_section, * parent, r);
   8600 		  break;
   8601 		}
   8602 
   8603 	    }
   8604 	}
   8605     }
   8606 
   8607   free (reloc_vector);
   8608   return data;
   8609 
   8610  error_return:
   8611   free (reloc_vector);
   8612   return NULL;
   8613 }
   8614 
   8615 /*
   8616 INTERNAL_FUNCTION
   8617 	_bfd_generic_set_reloc
   8618 
   8619 SYNOPSIS
   8620 	void _bfd_generic_set_reloc
   8621 	  (bfd *abfd,
   8622 	   sec_ptr section,
   8623 	   arelent **relptr,
   8624 	   unsigned int count);
   8625 
   8626 DESCRIPTION
   8627 	Installs a new set of internal relocations in SECTION.
   8628 */
   8629 
   8630 void
   8631 _bfd_generic_set_reloc (bfd *abfd ATTRIBUTE_UNUSED,
   8632 			sec_ptr section,
   8633 			arelent **relptr,
   8634 			unsigned int count)
   8635 {
   8636   section->orelocation = relptr;
   8637   section->reloc_count = count;
   8638 }
   8639 
   8640 /*
   8641 INTERNAL_FUNCTION
   8642 	_bfd_unrecognized_reloc
   8643 
   8644 SYNOPSIS
   8645 	bool _bfd_unrecognized_reloc
   8646 	  (bfd * abfd,
   8647 	   sec_ptr section,
   8648 	   unsigned int r_type);
   8649 
   8650 DESCRIPTION
   8651 	Reports an unrecognized reloc.
   8652 	Written as a function in order to reduce code duplication.
   8653 	Returns FALSE so that it can be called from a return statement.
   8654 */
   8655 
   8656 bool
   8657 _bfd_unrecognized_reloc (bfd * abfd, sec_ptr section, unsigned int r_type)
   8658 {
   8659    /* xgettext:c-format */
   8660   _bfd_error_handler (_("%pB: unrecognized relocation type %#x in section `%pA'"),
   8661 		      abfd, r_type, section);
   8662 
   8663   /* PR 21803: Suggest the most likely cause of this error.  */
   8664   _bfd_error_handler (_("is this version of the linker - %s - out of date ?"),
   8665 		      BFD_VERSION_STRING);
   8666 
   8667   bfd_set_error (bfd_error_bad_value);
   8668   return false;
   8669 }
   8670 
   8671 reloc_howto_type *
   8672 _bfd_norelocs_bfd_reloc_type_lookup
   8673     (bfd *abfd,
   8674      bfd_reloc_code_real_type code ATTRIBUTE_UNUSED)
   8675 {
   8676   return (reloc_howto_type *) _bfd_ptr_bfd_null_error (abfd);
   8677 }
   8678 
   8679 reloc_howto_type *
   8680 _bfd_norelocs_bfd_reloc_name_lookup (bfd *abfd,
   8681 				     const char *reloc_name ATTRIBUTE_UNUSED)
   8682 {
   8683   return (reloc_howto_type *) _bfd_ptr_bfd_null_error (abfd);
   8684 }
   8685 
   8686 long
   8687 _bfd_nodynamic_canonicalize_dynamic_reloc (bfd *abfd,
   8688 					   arelent **relp ATTRIBUTE_UNUSED,
   8689 					   asymbol **symp ATTRIBUTE_UNUSED)
   8690 {
   8691   return _bfd_long_bfd_n1_error (abfd);
   8692 }
   8693