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