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