Add generated files.
[platform/upstream/binutils.git] / bfd / doc / reloc.texi
1 @section Relocations
2 BFD maintains relocations in much the same way it maintains
3 symbols: they are left alone until required, then read in
4 en-masse and translated into an internal form.  A common
5 routine @code{bfd_perform_relocation} acts upon the
6 canonical form to do the fixup.
7
8 Relocations are maintained on a per section basis,
9 while symbols are maintained on a per BFD basis.
10
11 All that a back end has to do to fit the BFD interface is to create
12 a @code{struct reloc_cache_entry} for each relocation
13 in a particular section, and fill in the right bits of the structures.
14
15 @menu
16 * typedef arelent::
17 * howto manager::
18 @end menu
19
20
21 @node typedef arelent, howto manager, Relocations, Relocations
22 @subsection typedef arelent
23 This is the structure of a relocation entry:
24
25
26 @example
27
28 typedef enum bfd_reloc_status
29 @{
30   /* No errors detected.  */
31   bfd_reloc_ok,
32
33   /* The relocation was performed, but there was an overflow.  */
34   bfd_reloc_overflow,
35
36   /* The address to relocate was not within the section supplied.  */
37   bfd_reloc_outofrange,
38
39   /* Used by special functions.  */
40   bfd_reloc_continue,
41
42   /* Unsupported relocation size requested.  */
43   bfd_reloc_notsupported,
44
45   /* Unused.  */
46   bfd_reloc_other,
47
48   /* The symbol to relocate against was undefined.  */
49   bfd_reloc_undefined,
50
51   /* The relocation was performed, but may not be ok - presently
52      generated only when linking i960 coff files with i960 b.out
53      symbols.  If this type is returned, the error_message argument
54      to bfd_perform_relocation will be set.  */
55   bfd_reloc_dangerous
56  @}
57  bfd_reloc_status_type;
58
59
60 typedef struct reloc_cache_entry
61 @{
62   /* A pointer into the canonical table of pointers.  */
63   struct bfd_symbol **sym_ptr_ptr;
64
65   /* offset in section.  */
66   bfd_size_type address;
67
68   /* addend for relocation value.  */
69   bfd_vma addend;
70
71   /* Pointer to how to perform the required relocation.  */
72   reloc_howto_type *howto;
73
74 @}
75 arelent;
76
77 @end example
78 @strong{Description}@*
79 Here is a description of each of the fields within an @code{arelent}:
80
81 @itemize @bullet
82
83 @item
84 @code{sym_ptr_ptr}
85 @end itemize
86 The symbol table pointer points to a pointer to the symbol
87 associated with the relocation request.  It is the pointer
88 into the table returned by the back end's
89 @code{canonicalize_symtab} action. @xref{Symbols}. The symbol is
90 referenced through a pointer to a pointer so that tools like
91 the linker can fix up all the symbols of the same name by
92 modifying only one pointer. The relocation routine looks in
93 the symbol and uses the base of the section the symbol is
94 attached to and the value of the symbol as the initial
95 relocation offset. If the symbol pointer is zero, then the
96 section provided is looked up.
97
98 @itemize @bullet
99
100 @item
101 @code{address}
102 @end itemize
103 The @code{address} field gives the offset in bytes from the base of
104 the section data which owns the relocation record to the first
105 byte of relocatable information. The actual data relocated
106 will be relative to this point; for example, a relocation
107 type which modifies the bottom two bytes of a four byte word
108 would not touch the first byte pointed to in a big endian
109 world.
110
111 @itemize @bullet
112
113 @item
114 @code{addend}
115 @end itemize
116 The @code{addend} is a value provided by the back end to be added (!)
117 to the relocation offset. Its interpretation is dependent upon
118 the howto. For example, on the 68k the code:
119
120 @example
121         char foo[];
122         main()
123                 @{
124                 return foo[0x12345678];
125                 @}
126 @end example
127
128 Could be compiled into:
129
130 @example
131         linkw fp,#-4
132         moveb @@#12345678,d0
133         extbl d0
134         unlk fp
135         rts
136 @end example
137
138 This could create a reloc pointing to @code{foo}, but leave the
139 offset in the data, something like:
140
141 @example
142 RELOCATION RECORDS FOR [.text]:
143 offset   type      value
144 00000006 32        _foo
145
146 00000000 4e56 fffc          ; linkw fp,#-4
147 00000004 1039 1234 5678     ; moveb @@#12345678,d0
148 0000000a 49c0               ; extbl d0
149 0000000c 4e5e               ; unlk fp
150 0000000e 4e75               ; rts
151 @end example
152
153 Using coff and an 88k, some instructions don't have enough
154 space in them to represent the full address range, and
155 pointers have to be loaded in two parts. So you'd get something like:
156
157 @example
158         or.u     r13,r0,hi16(_foo+0x12345678)
159         ld.b     r2,r13,lo16(_foo+0x12345678)
160         jmp      r1
161 @end example
162
163 This should create two relocs, both pointing to @code{_foo}, and with
164 0x12340000 in their addend field. The data would consist of:
165
166 @example
167 RELOCATION RECORDS FOR [.text]:
168 offset   type      value
169 00000002 HVRT16    _foo+0x12340000
170 00000006 LVRT16    _foo+0x12340000
171
172 00000000 5da05678           ; or.u r13,r0,0x5678
173 00000004 1c4d5678           ; ld.b r2,r13,0x5678
174 00000008 f400c001           ; jmp r1
175 @end example
176
177 The relocation routine digs out the value from the data, adds
178 it to the addend to get the original offset, and then adds the
179 value of @code{_foo}. Note that all 32 bits have to be kept around
180 somewhere, to cope with carry from bit 15 to bit 16.
181
182 One further example is the sparc and the a.out format. The
183 sparc has a similar problem to the 88k, in that some
184 instructions don't have room for an entire offset, but on the
185 sparc the parts are created in odd sized lumps. The designers of
186 the a.out format chose to not use the data within the section
187 for storing part of the offset; all the offset is kept within
188 the reloc. Anything in the data should be ignored.
189
190 @example
191         save %sp,-112,%sp
192         sethi %hi(_foo+0x12345678),%g2
193         ldsb [%g2+%lo(_foo+0x12345678)],%i0
194         ret
195         restore
196 @end example
197
198 Both relocs contain a pointer to @code{foo}, and the offsets
199 contain junk.
200
201 @example
202 RELOCATION RECORDS FOR [.text]:
203 offset   type      value
204 00000004 HI22      _foo+0x12345678
205 00000008 LO10      _foo+0x12345678
206
207 00000000 9de3bf90     ; save %sp,-112,%sp
208 00000004 05000000     ; sethi %hi(_foo+0),%g2
209 00000008 f048a000     ; ldsb [%g2+%lo(_foo+0)],%i0
210 0000000c 81c7e008     ; ret
211 00000010 81e80000     ; restore
212 @end example
213
214 @itemize @bullet
215
216 @item
217 @code{howto}
218 @end itemize
219 The @code{howto} field can be imagined as a
220 relocation instruction. It is a pointer to a structure which
221 contains information on what to do with all of the other
222 information in the reloc record and data section. A back end
223 would normally have a relocation instruction set and turn
224 relocations into pointers to the correct structure on input -
225 but it would be possible to create each howto field on demand.
226
227 @subsubsection @code{enum complain_overflow}
228 Indicates what sort of overflow checking should be done when
229 performing a relocation.
230
231
232 @example
233
234 enum complain_overflow
235 @{
236   /* Do not complain on overflow.  */
237   complain_overflow_dont,
238
239   /* Complain if the value overflows when considered as a signed
240      number one bit larger than the field.  ie. A bitfield of N bits
241      is allowed to represent -2**n to 2**n-1.  */
242   complain_overflow_bitfield,
243
244   /* Complain if the value overflows when considered as a signed
245      number.  */
246   complain_overflow_signed,
247
248   /* Complain if the value overflows when considered as an
249      unsigned number.  */
250   complain_overflow_unsigned
251 @};
252 @end example
253 @subsubsection @code{reloc_howto_type}
254 The @code{reloc_howto_type} is a structure which contains all the
255 information that libbfd needs to know to tie up a back end's data.
256
257
258 @example
259 struct bfd_symbol;             /* Forward declaration.  */
260
261 struct reloc_howto_struct
262 @{
263   /*  The type field has mainly a documentary use - the back end can
264       do what it wants with it, though normally the back end's
265       external idea of what a reloc number is stored
266       in this field.  For example, a PC relative word relocation
267       in a coff environment has the type 023 - because that's
268       what the outside world calls a R_PCRWORD reloc.  */
269   unsigned int type;
270
271   /*  The value the final relocation is shifted right by.  This drops
272       unwanted data from the relocation.  */
273   unsigned int rightshift;
274
275   /*  The size of the item to be relocated.  This is *not* a
276       power-of-two measure.  To get the number of bytes operated
277       on by a type of relocation, use bfd_get_reloc_size.  */
278   int size;
279
280   /*  The number of bits in the item to be relocated.  This is used
281       when doing overflow checking.  */
282   unsigned int bitsize;
283
284   /*  The relocation is relative to the field being relocated.  */
285   bfd_boolean pc_relative;
286
287   /*  The bit position of the reloc value in the destination.
288       The relocated value is left shifted by this amount.  */
289   unsigned int bitpos;
290
291   /* What type of overflow error should be checked for when
292      relocating.  */
293   enum complain_overflow complain_on_overflow;
294
295   /* If this field is non null, then the supplied function is
296      called rather than the normal function.  This allows really
297      strange relocation methods to be accommodated (e.g., i960 callj
298      instructions).  */
299   bfd_reloc_status_type (*special_function)
300     (bfd *, arelent *, struct bfd_symbol *, void *, asection *,
301      bfd *, char **);
302
303   /* The textual name of the relocation type.  */
304   char *name;
305
306   /* Some formats record a relocation addend in the section contents
307      rather than with the relocation.  For ELF formats this is the
308      distinction between USE_REL and USE_RELA (though the code checks
309      for USE_REL == 1/0).  The value of this field is TRUE if the
310      addend is recorded with the section contents; when performing a
311      partial link (ld -r) the section contents (the data) will be
312      modified.  The value of this field is FALSE if addends are
313      recorded with the relocation (in arelent.addend); when performing
314      a partial link the relocation will be modified.
315      All relocations for all ELF USE_RELA targets should set this field
316      to FALSE (values of TRUE should be looked on with suspicion).
317      However, the converse is not true: not all relocations of all ELF
318      USE_REL targets set this field to TRUE.  Why this is so is peculiar
319      to each particular target.  For relocs that aren't used in partial
320      links (e.g. GOT stuff) it doesn't matter what this is set to.  */
321   bfd_boolean partial_inplace;
322
323   /* src_mask selects the part of the instruction (or data) to be used
324      in the relocation sum.  If the target relocations don't have an
325      addend in the reloc, eg. ELF USE_REL, src_mask will normally equal
326      dst_mask to extract the addend from the section contents.  If
327      relocations do have an addend in the reloc, eg. ELF USE_RELA, this
328      field should be zero.  Non-zero values for ELF USE_RELA targets are
329      bogus as in those cases the value in the dst_mask part of the
330      section contents should be treated as garbage.  */
331   bfd_vma src_mask;
332
333   /* dst_mask selects which parts of the instruction (or data) are
334      replaced with a relocated value.  */
335   bfd_vma dst_mask;
336
337   /* When some formats create PC relative instructions, they leave
338      the value of the pc of the place being relocated in the offset
339      slot of the instruction, so that a PC relative relocation can
340      be made just by adding in an ordinary offset (e.g., sun3 a.out).
341      Some formats leave the displacement part of an instruction
342      empty (e.g., m88k bcs); this flag signals the fact.  */
343   bfd_boolean pcrel_offset;
344 @};
345
346 @end example
347 @findex The HOWTO Macro
348 @subsubsection @code{The HOWTO Macro}
349 @strong{Description}@*
350 The HOWTO define is horrible and will go away.
351 @example
352 #define HOWTO(C, R, S, B, P, BI, O, SF, NAME, INPLACE, MASKSRC, MASKDST, PC) \
353   @{ (unsigned) C, R, S, B, P, BI, O, SF, NAME, INPLACE, MASKSRC, MASKDST, PC @}
354 @end example
355
356 @strong{Description}@*
357 And will be replaced with the totally magic way. But for the
358 moment, we are compatible, so do it this way.
359 @example
360 #define NEWHOWTO(FUNCTION, NAME, SIZE, REL, IN) \
361   HOWTO (0, 0, SIZE, 0, REL, 0, complain_overflow_dont, FUNCTION, \
362          NAME, FALSE, 0, 0, IN)
363
364 @end example
365
366 @strong{Description}@*
367 This is used to fill in an empty howto entry in an array.
368 @example
369 #define EMPTY_HOWTO(C) \
370   HOWTO ((C), 0, 0, 0, FALSE, 0, complain_overflow_dont, NULL, \
371          NULL, FALSE, 0, 0, FALSE)
372
373 @end example
374
375 @strong{Description}@*
376 Helper routine to turn a symbol into a relocation value.
377 @example
378 #define HOWTO_PREPARE(relocation, symbol)               \
379   @{                                                     \
380     if (symbol != NULL)                                 \
381       @{                                                 \
382         if (bfd_is_com_section (symbol->section))       \
383           @{                                             \
384             relocation = 0;                             \
385           @}                                             \
386         else                                            \
387           @{                                             \
388             relocation = symbol->value;                 \
389           @}                                             \
390       @}                                                 \
391   @}
392
393 @end example
394
395 @findex bfd_get_reloc_size
396 @subsubsection @code{bfd_get_reloc_size}
397 @strong{Synopsis}
398 @example
399 unsigned int bfd_get_reloc_size (reloc_howto_type *);
400 @end example
401 @strong{Description}@*
402 For a reloc_howto_type that operates on a fixed number of bytes,
403 this returns the number of bytes operated on.
404
405 @findex arelent_chain
406 @subsubsection @code{arelent_chain}
407 @strong{Description}@*
408 How relocs are tied together in an @code{asection}:
409 @example
410 typedef struct relent_chain
411 @{
412   arelent relent;
413   struct relent_chain *next;
414 @}
415 arelent_chain;
416
417 @end example
418
419 @findex bfd_check_overflow
420 @subsubsection @code{bfd_check_overflow}
421 @strong{Synopsis}
422 @example
423 bfd_reloc_status_type bfd_check_overflow
424    (enum complain_overflow how,
425     unsigned int bitsize,
426     unsigned int rightshift,
427     unsigned int addrsize,
428     bfd_vma relocation);
429 @end example
430 @strong{Description}@*
431 Perform overflow checking on @var{relocation} which has
432 @var{bitsize} significant bits and will be shifted right by
433 @var{rightshift} bits, on a machine with addresses containing
434 @var{addrsize} significant bits.  The result is either of
435 @code{bfd_reloc_ok} or @code{bfd_reloc_overflow}.
436
437 @findex bfd_perform_relocation
438 @subsubsection @code{bfd_perform_relocation}
439 @strong{Synopsis}
440 @example
441 bfd_reloc_status_type bfd_perform_relocation
442    (bfd *abfd,
443     arelent *reloc_entry,
444     void *data,
445     asection *input_section,
446     bfd *output_bfd,
447     char **error_message);
448 @end example
449 @strong{Description}@*
450 If @var{output_bfd} is supplied to this function, the
451 generated image will be relocatable; the relocations are
452 copied to the output file after they have been changed to
453 reflect the new state of the world. There are two ways of
454 reflecting the results of partial linkage in an output file:
455 by modifying the output data in place, and by modifying the
456 relocation record.  Some native formats (e.g., basic a.out and
457 basic coff) have no way of specifying an addend in the
458 relocation type, so the addend has to go in the output data.
459 This is no big deal since in these formats the output data
460 slot will always be big enough for the addend. Complex reloc
461 types with addends were invented to solve just this problem.
462 The @var{error_message} argument is set to an error message if
463 this return @code{bfd_reloc_dangerous}.
464
465 @findex bfd_install_relocation
466 @subsubsection @code{bfd_install_relocation}
467 @strong{Synopsis}
468 @example
469 bfd_reloc_status_type bfd_install_relocation
470    (bfd *abfd,
471     arelent *reloc_entry,
472     void *data, bfd_vma data_start,
473     asection *input_section,
474     char **error_message);
475 @end example
476 @strong{Description}@*
477 This looks remarkably like @code{bfd_perform_relocation}, except it
478 does not expect that the section contents have been filled in.
479 I.e., it's suitable for use when creating, rather than applying
480 a relocation.
481
482 For now, this function should be considered reserved for the
483 assembler.
484
485
486 @node howto manager,  , typedef arelent, Relocations
487 @subsection The howto manager
488 When an application wants to create a relocation, but doesn't
489 know what the target machine might call it, it can find out by
490 using this bit of code.
491
492 @findex bfd_reloc_code_type
493 @subsubsection @code{bfd_reloc_code_type}
494 @strong{Description}@*
495 The insides of a reloc code.  The idea is that, eventually, there
496 will be one enumerator for every type of relocation we ever do.
497 Pass one of these values to @code{bfd_reloc_type_lookup}, and it'll
498 return a howto pointer.
499
500 This does mean that the application must determine the correct
501 enumerator value; you can't get a howto pointer from a random set
502 of attributes.
503
504 Here are the possible values for @code{enum bfd_reloc_code_real}:
505
506 @deffn {} BFD_RELOC_64
507 @deffnx {} BFD_RELOC_32
508 @deffnx {} BFD_RELOC_26
509 @deffnx {} BFD_RELOC_24
510 @deffnx {} BFD_RELOC_16
511 @deffnx {} BFD_RELOC_14
512 @deffnx {} BFD_RELOC_8
513 Basic absolute relocations of N bits.
514 @end deffn
515 @deffn {} BFD_RELOC_64_PCREL
516 @deffnx {} BFD_RELOC_32_PCREL
517 @deffnx {} BFD_RELOC_24_PCREL
518 @deffnx {} BFD_RELOC_16_PCREL
519 @deffnx {} BFD_RELOC_12_PCREL
520 @deffnx {} BFD_RELOC_8_PCREL
521 PC-relative relocations.  Sometimes these are relative to the address
522 of the relocation itself; sometimes they are relative to the start of
523 the section containing the relocation.  It depends on the specific target.
524
525 The 24-bit relocation is used in some Intel 960 configurations.
526 @end deffn
527 @deffn {} BFD_RELOC_32_SECREL
528 Section relative relocations.  Some targets need this for DWARF2.
529 @end deffn
530 @deffn {} BFD_RELOC_32_GOT_PCREL
531 @deffnx {} BFD_RELOC_16_GOT_PCREL
532 @deffnx {} BFD_RELOC_8_GOT_PCREL
533 @deffnx {} BFD_RELOC_32_GOTOFF
534 @deffnx {} BFD_RELOC_16_GOTOFF
535 @deffnx {} BFD_RELOC_LO16_GOTOFF
536 @deffnx {} BFD_RELOC_HI16_GOTOFF
537 @deffnx {} BFD_RELOC_HI16_S_GOTOFF
538 @deffnx {} BFD_RELOC_8_GOTOFF
539 @deffnx {} BFD_RELOC_64_PLT_PCREL
540 @deffnx {} BFD_RELOC_32_PLT_PCREL
541 @deffnx {} BFD_RELOC_24_PLT_PCREL
542 @deffnx {} BFD_RELOC_16_PLT_PCREL
543 @deffnx {} BFD_RELOC_8_PLT_PCREL
544 @deffnx {} BFD_RELOC_64_PLTOFF
545 @deffnx {} BFD_RELOC_32_PLTOFF
546 @deffnx {} BFD_RELOC_16_PLTOFF
547 @deffnx {} BFD_RELOC_LO16_PLTOFF
548 @deffnx {} BFD_RELOC_HI16_PLTOFF
549 @deffnx {} BFD_RELOC_HI16_S_PLTOFF
550 @deffnx {} BFD_RELOC_8_PLTOFF
551 For ELF.
552 @end deffn
553 @deffn {} BFD_RELOC_SIZE32
554 @deffnx {} BFD_RELOC_SIZE64
555 Size relocations.
556 @end deffn
557 @deffn {} BFD_RELOC_68K_GLOB_DAT
558 @deffnx {} BFD_RELOC_68K_JMP_SLOT
559 @deffnx {} BFD_RELOC_68K_RELATIVE
560 @deffnx {} BFD_RELOC_68K_TLS_GD32
561 @deffnx {} BFD_RELOC_68K_TLS_GD16
562 @deffnx {} BFD_RELOC_68K_TLS_GD8
563 @deffnx {} BFD_RELOC_68K_TLS_LDM32
564 @deffnx {} BFD_RELOC_68K_TLS_LDM16
565 @deffnx {} BFD_RELOC_68K_TLS_LDM8
566 @deffnx {} BFD_RELOC_68K_TLS_LDO32
567 @deffnx {} BFD_RELOC_68K_TLS_LDO16
568 @deffnx {} BFD_RELOC_68K_TLS_LDO8
569 @deffnx {} BFD_RELOC_68K_TLS_IE32
570 @deffnx {} BFD_RELOC_68K_TLS_IE16
571 @deffnx {} BFD_RELOC_68K_TLS_IE8
572 @deffnx {} BFD_RELOC_68K_TLS_LE32
573 @deffnx {} BFD_RELOC_68K_TLS_LE16
574 @deffnx {} BFD_RELOC_68K_TLS_LE8
575 Relocations used by 68K ELF.
576 @end deffn
577 @deffn {} BFD_RELOC_32_BASEREL
578 @deffnx {} BFD_RELOC_16_BASEREL
579 @deffnx {} BFD_RELOC_LO16_BASEREL
580 @deffnx {} BFD_RELOC_HI16_BASEREL
581 @deffnx {} BFD_RELOC_HI16_S_BASEREL
582 @deffnx {} BFD_RELOC_8_BASEREL
583 @deffnx {} BFD_RELOC_RVA
584 Linkage-table relative.
585 @end deffn
586 @deffn {} BFD_RELOC_8_FFnn
587 Absolute 8-bit relocation, but used to form an address like 0xFFnn.
588 @end deffn
589 @deffn {} BFD_RELOC_32_PCREL_S2
590 @deffnx {} BFD_RELOC_16_PCREL_S2
591 @deffnx {} BFD_RELOC_23_PCREL_S2
592 These PC-relative relocations are stored as word displacements --
593 i.e., byte displacements shifted right two bits.  The 30-bit word
594 displacement (<<32_PCREL_S2>> -- 32 bits, shifted 2) is used on the
595 SPARC.  (SPARC tools generally refer to this as <<WDISP30>>.)  The
596 signed 16-bit displacement is used on the MIPS, and the 23-bit
597 displacement is used on the Alpha.
598 @end deffn
599 @deffn {} BFD_RELOC_HI22
600 @deffnx {} BFD_RELOC_LO10
601 High 22 bits and low 10 bits of 32-bit value, placed into lower bits of
602 the target word.  These are used on the SPARC.
603 @end deffn
604 @deffn {} BFD_RELOC_GPREL16
605 @deffnx {} BFD_RELOC_GPREL32
606 For systems that allocate a Global Pointer register, these are
607 displacements off that register.  These relocation types are
608 handled specially, because the value the register will have is
609 decided relatively late.
610 @end deffn
611 @deffn {} BFD_RELOC_I960_CALLJ
612 Reloc types used for i960/b.out.
613 @end deffn
614 @deffn {} BFD_RELOC_NONE
615 @deffnx {} BFD_RELOC_SPARC_WDISP22
616 @deffnx {} BFD_RELOC_SPARC22
617 @deffnx {} BFD_RELOC_SPARC13
618 @deffnx {} BFD_RELOC_SPARC_GOT10
619 @deffnx {} BFD_RELOC_SPARC_GOT13
620 @deffnx {} BFD_RELOC_SPARC_GOT22
621 @deffnx {} BFD_RELOC_SPARC_PC10
622 @deffnx {} BFD_RELOC_SPARC_PC22
623 @deffnx {} BFD_RELOC_SPARC_WPLT30
624 @deffnx {} BFD_RELOC_SPARC_COPY
625 @deffnx {} BFD_RELOC_SPARC_GLOB_DAT
626 @deffnx {} BFD_RELOC_SPARC_JMP_SLOT
627 @deffnx {} BFD_RELOC_SPARC_RELATIVE
628 @deffnx {} BFD_RELOC_SPARC_UA16
629 @deffnx {} BFD_RELOC_SPARC_UA32
630 @deffnx {} BFD_RELOC_SPARC_UA64
631 @deffnx {} BFD_RELOC_SPARC_GOTDATA_HIX22
632 @deffnx {} BFD_RELOC_SPARC_GOTDATA_LOX10
633 @deffnx {} BFD_RELOC_SPARC_GOTDATA_OP_HIX22
634 @deffnx {} BFD_RELOC_SPARC_GOTDATA_OP_LOX10
635 @deffnx {} BFD_RELOC_SPARC_GOTDATA_OP
636 @deffnx {} BFD_RELOC_SPARC_JMP_IREL
637 @deffnx {} BFD_RELOC_SPARC_IRELATIVE
638 SPARC ELF relocations.  There is probably some overlap with other
639 relocation types already defined.
640 @end deffn
641 @deffn {} BFD_RELOC_SPARC_BASE13
642 @deffnx {} BFD_RELOC_SPARC_BASE22
643 I think these are specific to SPARC a.out (e.g., Sun 4).
644 @end deffn
645 @deffn {} BFD_RELOC_SPARC_64
646 @deffnx {} BFD_RELOC_SPARC_10
647 @deffnx {} BFD_RELOC_SPARC_11
648 @deffnx {} BFD_RELOC_SPARC_OLO10
649 @deffnx {} BFD_RELOC_SPARC_HH22
650 @deffnx {} BFD_RELOC_SPARC_HM10
651 @deffnx {} BFD_RELOC_SPARC_LM22
652 @deffnx {} BFD_RELOC_SPARC_PC_HH22
653 @deffnx {} BFD_RELOC_SPARC_PC_HM10
654 @deffnx {} BFD_RELOC_SPARC_PC_LM22
655 @deffnx {} BFD_RELOC_SPARC_WDISP16
656 @deffnx {} BFD_RELOC_SPARC_WDISP19
657 @deffnx {} BFD_RELOC_SPARC_7
658 @deffnx {} BFD_RELOC_SPARC_6
659 @deffnx {} BFD_RELOC_SPARC_5
660 @deffnx {} BFD_RELOC_SPARC_DISP64
661 @deffnx {} BFD_RELOC_SPARC_PLT32
662 @deffnx {} BFD_RELOC_SPARC_PLT64
663 @deffnx {} BFD_RELOC_SPARC_HIX22
664 @deffnx {} BFD_RELOC_SPARC_LOX10
665 @deffnx {} BFD_RELOC_SPARC_H44
666 @deffnx {} BFD_RELOC_SPARC_M44
667 @deffnx {} BFD_RELOC_SPARC_L44
668 @deffnx {} BFD_RELOC_SPARC_REGISTER
669 @deffnx {} BFD_RELOC_SPARC_H34
670 @deffnx {} BFD_RELOC_SPARC_SIZE32
671 @deffnx {} BFD_RELOC_SPARC_SIZE64
672 @deffnx {} BFD_RELOC_SPARC_WDISP10
673 SPARC64 relocations
674 @end deffn
675 @deffn {} BFD_RELOC_SPARC_REV32
676 SPARC little endian relocation
677 @end deffn
678 @deffn {} BFD_RELOC_SPARC_TLS_GD_HI22
679 @deffnx {} BFD_RELOC_SPARC_TLS_GD_LO10
680 @deffnx {} BFD_RELOC_SPARC_TLS_GD_ADD
681 @deffnx {} BFD_RELOC_SPARC_TLS_GD_CALL
682 @deffnx {} BFD_RELOC_SPARC_TLS_LDM_HI22
683 @deffnx {} BFD_RELOC_SPARC_TLS_LDM_LO10
684 @deffnx {} BFD_RELOC_SPARC_TLS_LDM_ADD
685 @deffnx {} BFD_RELOC_SPARC_TLS_LDM_CALL
686 @deffnx {} BFD_RELOC_SPARC_TLS_LDO_HIX22
687 @deffnx {} BFD_RELOC_SPARC_TLS_LDO_LOX10
688 @deffnx {} BFD_RELOC_SPARC_TLS_LDO_ADD
689 @deffnx {} BFD_RELOC_SPARC_TLS_IE_HI22
690 @deffnx {} BFD_RELOC_SPARC_TLS_IE_LO10
691 @deffnx {} BFD_RELOC_SPARC_TLS_IE_LD
692 @deffnx {} BFD_RELOC_SPARC_TLS_IE_LDX
693 @deffnx {} BFD_RELOC_SPARC_TLS_IE_ADD
694 @deffnx {} BFD_RELOC_SPARC_TLS_LE_HIX22
695 @deffnx {} BFD_RELOC_SPARC_TLS_LE_LOX10
696 @deffnx {} BFD_RELOC_SPARC_TLS_DTPMOD32
697 @deffnx {} BFD_RELOC_SPARC_TLS_DTPMOD64
698 @deffnx {} BFD_RELOC_SPARC_TLS_DTPOFF32
699 @deffnx {} BFD_RELOC_SPARC_TLS_DTPOFF64
700 @deffnx {} BFD_RELOC_SPARC_TLS_TPOFF32
701 @deffnx {} BFD_RELOC_SPARC_TLS_TPOFF64
702 SPARC TLS relocations
703 @end deffn
704 @deffn {} BFD_RELOC_SPU_IMM7
705 @deffnx {} BFD_RELOC_SPU_IMM8
706 @deffnx {} BFD_RELOC_SPU_IMM10
707 @deffnx {} BFD_RELOC_SPU_IMM10W
708 @deffnx {} BFD_RELOC_SPU_IMM16
709 @deffnx {} BFD_RELOC_SPU_IMM16W
710 @deffnx {} BFD_RELOC_SPU_IMM18
711 @deffnx {} BFD_RELOC_SPU_PCREL9a
712 @deffnx {} BFD_RELOC_SPU_PCREL9b
713 @deffnx {} BFD_RELOC_SPU_PCREL16
714 @deffnx {} BFD_RELOC_SPU_LO16
715 @deffnx {} BFD_RELOC_SPU_HI16
716 @deffnx {} BFD_RELOC_SPU_PPU32
717 @deffnx {} BFD_RELOC_SPU_PPU64
718 @deffnx {} BFD_RELOC_SPU_ADD_PIC
719 SPU Relocations.
720 @end deffn
721 @deffn {} BFD_RELOC_ALPHA_GPDISP_HI16
722 Alpha ECOFF and ELF relocations.  Some of these treat the symbol or
723 "addend" in some special way.
724 For GPDISP_HI16 ("gpdisp") relocations, the symbol is ignored when
725 writing; when reading, it will be the absolute section symbol.  The
726 addend is the displacement in bytes of the "lda" instruction from
727 the "ldah" instruction (which is at the address of this reloc).
728 @end deffn
729 @deffn {} BFD_RELOC_ALPHA_GPDISP_LO16
730 For GPDISP_LO16 ("ignore") relocations, the symbol is handled as
731 with GPDISP_HI16 relocs.  The addend is ignored when writing the
732 relocations out, and is filled in with the file's GP value on
733 reading, for convenience.
734 @end deffn
735 @deffn {} BFD_RELOC_ALPHA_GPDISP
736 The ELF GPDISP relocation is exactly the same as the GPDISP_HI16
737 relocation except that there is no accompanying GPDISP_LO16
738 relocation.
739 @end deffn
740 @deffn {} BFD_RELOC_ALPHA_LITERAL
741 @deffnx {} BFD_RELOC_ALPHA_ELF_LITERAL
742 @deffnx {} BFD_RELOC_ALPHA_LITUSE
743 The Alpha LITERAL/LITUSE relocs are produced by a symbol reference;
744 the assembler turns it into a LDQ instruction to load the address of
745 the symbol, and then fills in a register in the real instruction.
746
747 The LITERAL reloc, at the LDQ instruction, refers to the .lita
748 section symbol.  The addend is ignored when writing, but is filled
749 in with the file's GP value on reading, for convenience, as with the
750 GPDISP_LO16 reloc.
751
752 The ELF_LITERAL reloc is somewhere between 16_GOTOFF and GPDISP_LO16.
753 It should refer to the symbol to be referenced, as with 16_GOTOFF,
754 but it generates output not based on the position within the .got
755 section, but relative to the GP value chosen for the file during the
756 final link stage.
757
758 The LITUSE reloc, on the instruction using the loaded address, gives
759 information to the linker that it might be able to use to optimize
760 away some literal section references.  The symbol is ignored (read
761 as the absolute section symbol), and the "addend" indicates the type
762 of instruction using the register:
763 1 - "memory" fmt insn
764 2 - byte-manipulation (byte offset reg)
765 3 - jsr (target of branch)
766 @end deffn
767 @deffn {} BFD_RELOC_ALPHA_HINT
768 The HINT relocation indicates a value that should be filled into the
769 "hint" field of a jmp/jsr/ret instruction, for possible branch-
770 prediction logic which may be provided on some processors.
771 @end deffn
772 @deffn {} BFD_RELOC_ALPHA_LINKAGE
773 The LINKAGE relocation outputs a linkage pair in the object file,
774 which is filled by the linker.
775 @end deffn
776 @deffn {} BFD_RELOC_ALPHA_CODEADDR
777 The CODEADDR relocation outputs a STO_CA in the object file,
778 which is filled by the linker.
779 @end deffn
780 @deffn {} BFD_RELOC_ALPHA_GPREL_HI16
781 @deffnx {} BFD_RELOC_ALPHA_GPREL_LO16
782 The GPREL_HI/LO relocations together form a 32-bit offset from the
783 GP register.
784 @end deffn
785 @deffn {} BFD_RELOC_ALPHA_BRSGP
786 Like BFD_RELOC_23_PCREL_S2, except that the source and target must
787 share a common GP, and the target address is adjusted for
788 STO_ALPHA_STD_GPLOAD.
789 @end deffn
790 @deffn {} BFD_RELOC_ALPHA_NOP
791 The NOP relocation outputs a NOP if the longword displacement
792 between two procedure entry points is < 2^21.
793 @end deffn
794 @deffn {} BFD_RELOC_ALPHA_BSR
795 The BSR relocation outputs a BSR if the longword displacement
796 between two procedure entry points is < 2^21.
797 @end deffn
798 @deffn {} BFD_RELOC_ALPHA_LDA
799 The LDA relocation outputs a LDA if the longword displacement
800 between two procedure entry points is < 2^16.
801 @end deffn
802 @deffn {} BFD_RELOC_ALPHA_BOH
803 The BOH relocation outputs a BSR if the longword displacement
804 between two procedure entry points is < 2^21, or else a hint.
805 @end deffn
806 @deffn {} BFD_RELOC_ALPHA_TLSGD
807 @deffnx {} BFD_RELOC_ALPHA_TLSLDM
808 @deffnx {} BFD_RELOC_ALPHA_DTPMOD64
809 @deffnx {} BFD_RELOC_ALPHA_GOTDTPREL16
810 @deffnx {} BFD_RELOC_ALPHA_DTPREL64
811 @deffnx {} BFD_RELOC_ALPHA_DTPREL_HI16
812 @deffnx {} BFD_RELOC_ALPHA_DTPREL_LO16
813 @deffnx {} BFD_RELOC_ALPHA_DTPREL16
814 @deffnx {} BFD_RELOC_ALPHA_GOTTPREL16
815 @deffnx {} BFD_RELOC_ALPHA_TPREL64
816 @deffnx {} BFD_RELOC_ALPHA_TPREL_HI16
817 @deffnx {} BFD_RELOC_ALPHA_TPREL_LO16
818 @deffnx {} BFD_RELOC_ALPHA_TPREL16
819 Alpha thread-local storage relocations.
820 @end deffn
821 @deffn {} BFD_RELOC_MIPS_JMP
822 @deffnx {} BFD_RELOC_MICROMIPS_JMP
823 The MIPS jump instruction.
824 @end deffn
825 @deffn {} BFD_RELOC_MIPS16_JMP
826 The MIPS16 jump instruction.
827 @end deffn
828 @deffn {} BFD_RELOC_MIPS16_GPREL
829 MIPS16 GP relative reloc.
830 @end deffn
831 @deffn {} BFD_RELOC_HI16
832 High 16 bits of 32-bit value; simple reloc.
833 @end deffn
834 @deffn {} BFD_RELOC_HI16_S
835 High 16 bits of 32-bit value but the low 16 bits will be sign
836 extended and added to form the final result.  If the low 16
837 bits form a negative number, we need to add one to the high value
838 to compensate for the borrow when the low bits are added.
839 @end deffn
840 @deffn {} BFD_RELOC_LO16
841 Low 16 bits.
842 @end deffn
843 @deffn {} BFD_RELOC_HI16_PCREL
844 High 16 bits of 32-bit pc-relative value
845 @end deffn
846 @deffn {} BFD_RELOC_HI16_S_PCREL
847 High 16 bits of 32-bit pc-relative value, adjusted
848 @end deffn
849 @deffn {} BFD_RELOC_LO16_PCREL
850 Low 16 bits of pc-relative value
851 @end deffn
852 @deffn {} BFD_RELOC_MIPS16_GOT16
853 @deffnx {} BFD_RELOC_MIPS16_CALL16
854 Equivalent of BFD_RELOC_MIPS_*, but with the MIPS16 layout of
855 16-bit immediate fields
856 @end deffn
857 @deffn {} BFD_RELOC_MIPS16_HI16
858 MIPS16 high 16 bits of 32-bit value.
859 @end deffn
860 @deffn {} BFD_RELOC_MIPS16_HI16_S
861 MIPS16 high 16 bits of 32-bit value but the low 16 bits will be sign
862 extended and added to form the final result.  If the low 16
863 bits form a negative number, we need to add one to the high value
864 to compensate for the borrow when the low bits are added.
865 @end deffn
866 @deffn {} BFD_RELOC_MIPS16_LO16
867 MIPS16 low 16 bits.
868 @end deffn
869 @deffn {} BFD_RELOC_MIPS16_TLS_GD
870 @deffnx {} BFD_RELOC_MIPS16_TLS_LDM
871 @deffnx {} BFD_RELOC_MIPS16_TLS_DTPREL_HI16
872 @deffnx {} BFD_RELOC_MIPS16_TLS_DTPREL_LO16
873 @deffnx {} BFD_RELOC_MIPS16_TLS_GOTTPREL
874 @deffnx {} BFD_RELOC_MIPS16_TLS_TPREL_HI16
875 @deffnx {} BFD_RELOC_MIPS16_TLS_TPREL_LO16
876 MIPS16 TLS relocations
877 @end deffn
878 @deffn {} BFD_RELOC_MIPS_LITERAL
879 @deffnx {} BFD_RELOC_MICROMIPS_LITERAL
880 Relocation against a MIPS literal section.
881 @end deffn
882 @deffn {} BFD_RELOC_MICROMIPS_7_PCREL_S1
883 @deffnx {} BFD_RELOC_MICROMIPS_10_PCREL_S1
884 @deffnx {} BFD_RELOC_MICROMIPS_16_PCREL_S1
885 microMIPS PC-relative relocations.
886 @end deffn
887 @deffn {} BFD_RELOC_MIPS_21_PCREL_S2
888 @deffnx {} BFD_RELOC_MIPS_26_PCREL_S2
889 @deffnx {} BFD_RELOC_MIPS_18_PCREL_S3
890 @deffnx {} BFD_RELOC_MIPS_19_PCREL_S2
891 MIPS PC-relative relocations.
892 @end deffn
893 @deffn {} BFD_RELOC_MICROMIPS_GPREL16
894 @deffnx {} BFD_RELOC_MICROMIPS_HI16
895 @deffnx {} BFD_RELOC_MICROMIPS_HI16_S
896 @deffnx {} BFD_RELOC_MICROMIPS_LO16
897 microMIPS versions of generic BFD relocs.
898 @end deffn
899 @deffn {} BFD_RELOC_MIPS_GOT16
900 @deffnx {} BFD_RELOC_MICROMIPS_GOT16
901 @deffnx {} BFD_RELOC_MIPS_CALL16
902 @deffnx {} BFD_RELOC_MICROMIPS_CALL16
903 @deffnx {} BFD_RELOC_MIPS_GOT_HI16
904 @deffnx {} BFD_RELOC_MICROMIPS_GOT_HI16
905 @deffnx {} BFD_RELOC_MIPS_GOT_LO16
906 @deffnx {} BFD_RELOC_MICROMIPS_GOT_LO16
907 @deffnx {} BFD_RELOC_MIPS_CALL_HI16
908 @deffnx {} BFD_RELOC_MICROMIPS_CALL_HI16
909 @deffnx {} BFD_RELOC_MIPS_CALL_LO16
910 @deffnx {} BFD_RELOC_MICROMIPS_CALL_LO16
911 @deffnx {} BFD_RELOC_MIPS_SUB
912 @deffnx {} BFD_RELOC_MICROMIPS_SUB
913 @deffnx {} BFD_RELOC_MIPS_GOT_PAGE
914 @deffnx {} BFD_RELOC_MICROMIPS_GOT_PAGE
915 @deffnx {} BFD_RELOC_MIPS_GOT_OFST
916 @deffnx {} BFD_RELOC_MICROMIPS_GOT_OFST
917 @deffnx {} BFD_RELOC_MIPS_GOT_DISP
918 @deffnx {} BFD_RELOC_MICROMIPS_GOT_DISP
919 @deffnx {} BFD_RELOC_MIPS_SHIFT5
920 @deffnx {} BFD_RELOC_MIPS_SHIFT6
921 @deffnx {} BFD_RELOC_MIPS_INSERT_A
922 @deffnx {} BFD_RELOC_MIPS_INSERT_B
923 @deffnx {} BFD_RELOC_MIPS_DELETE
924 @deffnx {} BFD_RELOC_MIPS_HIGHEST
925 @deffnx {} BFD_RELOC_MICROMIPS_HIGHEST
926 @deffnx {} BFD_RELOC_MIPS_HIGHER
927 @deffnx {} BFD_RELOC_MICROMIPS_HIGHER
928 @deffnx {} BFD_RELOC_MIPS_SCN_DISP
929 @deffnx {} BFD_RELOC_MICROMIPS_SCN_DISP
930 @deffnx {} BFD_RELOC_MIPS_REL16
931 @deffnx {} BFD_RELOC_MIPS_RELGOT
932 @deffnx {} BFD_RELOC_MIPS_JALR
933 @deffnx {} BFD_RELOC_MICROMIPS_JALR
934 @deffnx {} BFD_RELOC_MIPS_TLS_DTPMOD32
935 @deffnx {} BFD_RELOC_MIPS_TLS_DTPREL32
936 @deffnx {} BFD_RELOC_MIPS_TLS_DTPMOD64
937 @deffnx {} BFD_RELOC_MIPS_TLS_DTPREL64
938 @deffnx {} BFD_RELOC_MIPS_TLS_GD
939 @deffnx {} BFD_RELOC_MICROMIPS_TLS_GD
940 @deffnx {} BFD_RELOC_MIPS_TLS_LDM
941 @deffnx {} BFD_RELOC_MICROMIPS_TLS_LDM
942 @deffnx {} BFD_RELOC_MIPS_TLS_DTPREL_HI16
943 @deffnx {} BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16
944 @deffnx {} BFD_RELOC_MIPS_TLS_DTPREL_LO16
945 @deffnx {} BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16
946 @deffnx {} BFD_RELOC_MIPS_TLS_GOTTPREL
947 @deffnx {} BFD_RELOC_MICROMIPS_TLS_GOTTPREL
948 @deffnx {} BFD_RELOC_MIPS_TLS_TPREL32
949 @deffnx {} BFD_RELOC_MIPS_TLS_TPREL64
950 @deffnx {} BFD_RELOC_MIPS_TLS_TPREL_HI16
951 @deffnx {} BFD_RELOC_MICROMIPS_TLS_TPREL_HI16
952 @deffnx {} BFD_RELOC_MIPS_TLS_TPREL_LO16
953 @deffnx {} BFD_RELOC_MICROMIPS_TLS_TPREL_LO16
954 @deffnx {} BFD_RELOC_MIPS_EH
955 MIPS ELF relocations.
956 @end deffn
957 @deffn {} BFD_RELOC_MIPS_COPY
958 @deffnx {} BFD_RELOC_MIPS_JUMP_SLOT
959 MIPS ELF relocations (VxWorks and PLT extensions).
960 @end deffn
961 @deffn {} BFD_RELOC_MOXIE_10_PCREL
962 Moxie ELF relocations.
963 @end deffn
964 @deffn {} BFD_RELOC_FRV_LABEL16
965 @deffnx {} BFD_RELOC_FRV_LABEL24
966 @deffnx {} BFD_RELOC_FRV_LO16
967 @deffnx {} BFD_RELOC_FRV_HI16
968 @deffnx {} BFD_RELOC_FRV_GPREL12
969 @deffnx {} BFD_RELOC_FRV_GPRELU12
970 @deffnx {} BFD_RELOC_FRV_GPREL32
971 @deffnx {} BFD_RELOC_FRV_GPRELHI
972 @deffnx {} BFD_RELOC_FRV_GPRELLO
973 @deffnx {} BFD_RELOC_FRV_GOT12
974 @deffnx {} BFD_RELOC_FRV_GOTHI
975 @deffnx {} BFD_RELOC_FRV_GOTLO
976 @deffnx {} BFD_RELOC_FRV_FUNCDESC
977 @deffnx {} BFD_RELOC_FRV_FUNCDESC_GOT12
978 @deffnx {} BFD_RELOC_FRV_FUNCDESC_GOTHI
979 @deffnx {} BFD_RELOC_FRV_FUNCDESC_GOTLO
980 @deffnx {} BFD_RELOC_FRV_FUNCDESC_VALUE
981 @deffnx {} BFD_RELOC_FRV_FUNCDESC_GOTOFF12
982 @deffnx {} BFD_RELOC_FRV_FUNCDESC_GOTOFFHI
983 @deffnx {} BFD_RELOC_FRV_FUNCDESC_GOTOFFLO
984 @deffnx {} BFD_RELOC_FRV_GOTOFF12
985 @deffnx {} BFD_RELOC_FRV_GOTOFFHI
986 @deffnx {} BFD_RELOC_FRV_GOTOFFLO
987 @deffnx {} BFD_RELOC_FRV_GETTLSOFF
988 @deffnx {} BFD_RELOC_FRV_TLSDESC_VALUE
989 @deffnx {} BFD_RELOC_FRV_GOTTLSDESC12
990 @deffnx {} BFD_RELOC_FRV_GOTTLSDESCHI
991 @deffnx {} BFD_RELOC_FRV_GOTTLSDESCLO
992 @deffnx {} BFD_RELOC_FRV_TLSMOFF12
993 @deffnx {} BFD_RELOC_FRV_TLSMOFFHI
994 @deffnx {} BFD_RELOC_FRV_TLSMOFFLO
995 @deffnx {} BFD_RELOC_FRV_GOTTLSOFF12
996 @deffnx {} BFD_RELOC_FRV_GOTTLSOFFHI
997 @deffnx {} BFD_RELOC_FRV_GOTTLSOFFLO
998 @deffnx {} BFD_RELOC_FRV_TLSOFF
999 @deffnx {} BFD_RELOC_FRV_TLSDESC_RELAX
1000 @deffnx {} BFD_RELOC_FRV_GETTLSOFF_RELAX
1001 @deffnx {} BFD_RELOC_FRV_TLSOFF_RELAX
1002 @deffnx {} BFD_RELOC_FRV_TLSMOFF
1003 Fujitsu Frv Relocations.
1004 @end deffn
1005 @deffn {} BFD_RELOC_MN10300_GOTOFF24
1006 This is a 24bit GOT-relative reloc for the mn10300.
1007 @end deffn
1008 @deffn {} BFD_RELOC_MN10300_GOT32
1009 This is a 32bit GOT-relative reloc for the mn10300, offset by two bytes
1010 in the instruction.
1011 @end deffn
1012 @deffn {} BFD_RELOC_MN10300_GOT24
1013 This is a 24bit GOT-relative reloc for the mn10300, offset by two bytes
1014 in the instruction.
1015 @end deffn
1016 @deffn {} BFD_RELOC_MN10300_GOT16
1017 This is a 16bit GOT-relative reloc for the mn10300, offset by two bytes
1018 in the instruction.
1019 @end deffn
1020 @deffn {} BFD_RELOC_MN10300_COPY
1021 Copy symbol at runtime.
1022 @end deffn
1023 @deffn {} BFD_RELOC_MN10300_GLOB_DAT
1024 Create GOT entry.
1025 @end deffn
1026 @deffn {} BFD_RELOC_MN10300_JMP_SLOT
1027 Create PLT entry.
1028 @end deffn
1029 @deffn {} BFD_RELOC_MN10300_RELATIVE
1030 Adjust by program base.
1031 @end deffn
1032 @deffn {} BFD_RELOC_MN10300_SYM_DIFF
1033 Together with another reloc targeted at the same location,
1034 allows for a value that is the difference of two symbols
1035 in the same section.
1036 @end deffn
1037 @deffn {} BFD_RELOC_MN10300_ALIGN
1038 The addend of this reloc is an alignment power that must
1039 be honoured at the offset's location, regardless of linker
1040 relaxation.
1041 @end deffn
1042 @deffn {} BFD_RELOC_MN10300_TLS_GD
1043 @deffnx {} BFD_RELOC_MN10300_TLS_LD
1044 @deffnx {} BFD_RELOC_MN10300_TLS_LDO
1045 @deffnx {} BFD_RELOC_MN10300_TLS_GOTIE
1046 @deffnx {} BFD_RELOC_MN10300_TLS_IE
1047 @deffnx {} BFD_RELOC_MN10300_TLS_LE
1048 @deffnx {} BFD_RELOC_MN10300_TLS_DTPMOD
1049 @deffnx {} BFD_RELOC_MN10300_TLS_DTPOFF
1050 @deffnx {} BFD_RELOC_MN10300_TLS_TPOFF
1051 Various TLS-related relocations.
1052 @end deffn
1053 @deffn {} BFD_RELOC_MN10300_32_PCREL
1054 This is a 32bit pcrel reloc for the mn10300, offset by two bytes in the
1055 instruction.
1056 @end deffn
1057 @deffn {} BFD_RELOC_MN10300_16_PCREL
1058 This is a 16bit pcrel reloc for the mn10300, offset by two bytes in the
1059 instruction.
1060 @end deffn
1061 @deffn {} BFD_RELOC_386_GOT32
1062 @deffnx {} BFD_RELOC_386_PLT32
1063 @deffnx {} BFD_RELOC_386_COPY
1064 @deffnx {} BFD_RELOC_386_GLOB_DAT
1065 @deffnx {} BFD_RELOC_386_JUMP_SLOT
1066 @deffnx {} BFD_RELOC_386_RELATIVE
1067 @deffnx {} BFD_RELOC_386_GOTOFF
1068 @deffnx {} BFD_RELOC_386_GOTPC
1069 @deffnx {} BFD_RELOC_386_TLS_TPOFF
1070 @deffnx {} BFD_RELOC_386_TLS_IE
1071 @deffnx {} BFD_RELOC_386_TLS_GOTIE
1072 @deffnx {} BFD_RELOC_386_TLS_LE
1073 @deffnx {} BFD_RELOC_386_TLS_GD
1074 @deffnx {} BFD_RELOC_386_TLS_LDM
1075 @deffnx {} BFD_RELOC_386_TLS_LDO_32
1076 @deffnx {} BFD_RELOC_386_TLS_IE_32
1077 @deffnx {} BFD_RELOC_386_TLS_LE_32
1078 @deffnx {} BFD_RELOC_386_TLS_DTPMOD32
1079 @deffnx {} BFD_RELOC_386_TLS_DTPOFF32
1080 @deffnx {} BFD_RELOC_386_TLS_TPOFF32
1081 @deffnx {} BFD_RELOC_386_TLS_GOTDESC
1082 @deffnx {} BFD_RELOC_386_TLS_DESC_CALL
1083 @deffnx {} BFD_RELOC_386_TLS_DESC
1084 @deffnx {} BFD_RELOC_386_IRELATIVE
1085 i386/elf relocations
1086 @end deffn
1087 @deffn {} BFD_RELOC_X86_64_GOT32
1088 @deffnx {} BFD_RELOC_X86_64_PLT32
1089 @deffnx {} BFD_RELOC_X86_64_COPY
1090 @deffnx {} BFD_RELOC_X86_64_GLOB_DAT
1091 @deffnx {} BFD_RELOC_X86_64_JUMP_SLOT
1092 @deffnx {} BFD_RELOC_X86_64_RELATIVE
1093 @deffnx {} BFD_RELOC_X86_64_GOTPCREL
1094 @deffnx {} BFD_RELOC_X86_64_32S
1095 @deffnx {} BFD_RELOC_X86_64_DTPMOD64
1096 @deffnx {} BFD_RELOC_X86_64_DTPOFF64
1097 @deffnx {} BFD_RELOC_X86_64_TPOFF64
1098 @deffnx {} BFD_RELOC_X86_64_TLSGD
1099 @deffnx {} BFD_RELOC_X86_64_TLSLD
1100 @deffnx {} BFD_RELOC_X86_64_DTPOFF32
1101 @deffnx {} BFD_RELOC_X86_64_GOTTPOFF
1102 @deffnx {} BFD_RELOC_X86_64_TPOFF32
1103 @deffnx {} BFD_RELOC_X86_64_GOTOFF64
1104 @deffnx {} BFD_RELOC_X86_64_GOTPC32
1105 @deffnx {} BFD_RELOC_X86_64_GOT64
1106 @deffnx {} BFD_RELOC_X86_64_GOTPCREL64
1107 @deffnx {} BFD_RELOC_X86_64_GOTPC64
1108 @deffnx {} BFD_RELOC_X86_64_GOTPLT64
1109 @deffnx {} BFD_RELOC_X86_64_PLTOFF64
1110 @deffnx {} BFD_RELOC_X86_64_GOTPC32_TLSDESC
1111 @deffnx {} BFD_RELOC_X86_64_TLSDESC_CALL
1112 @deffnx {} BFD_RELOC_X86_64_TLSDESC
1113 @deffnx {} BFD_RELOC_X86_64_IRELATIVE
1114 @deffnx {} BFD_RELOC_X86_64_PC32_BND
1115 @deffnx {} BFD_RELOC_X86_64_PLT32_BND
1116 x86-64/elf relocations
1117 @end deffn
1118 @deffn {} BFD_RELOC_NS32K_IMM_8
1119 @deffnx {} BFD_RELOC_NS32K_IMM_16
1120 @deffnx {} BFD_RELOC_NS32K_IMM_32
1121 @deffnx {} BFD_RELOC_NS32K_IMM_8_PCREL
1122 @deffnx {} BFD_RELOC_NS32K_IMM_16_PCREL
1123 @deffnx {} BFD_RELOC_NS32K_IMM_32_PCREL
1124 @deffnx {} BFD_RELOC_NS32K_DISP_8
1125 @deffnx {} BFD_RELOC_NS32K_DISP_16
1126 @deffnx {} BFD_RELOC_NS32K_DISP_32
1127 @deffnx {} BFD_RELOC_NS32K_DISP_8_PCREL
1128 @deffnx {} BFD_RELOC_NS32K_DISP_16_PCREL
1129 @deffnx {} BFD_RELOC_NS32K_DISP_32_PCREL
1130 ns32k relocations
1131 @end deffn
1132 @deffn {} BFD_RELOC_PDP11_DISP_8_PCREL
1133 @deffnx {} BFD_RELOC_PDP11_DISP_6_PCREL
1134 PDP11 relocations
1135 @end deffn
1136 @deffn {} BFD_RELOC_PJ_CODE_HI16
1137 @deffnx {} BFD_RELOC_PJ_CODE_LO16
1138 @deffnx {} BFD_RELOC_PJ_CODE_DIR16
1139 @deffnx {} BFD_RELOC_PJ_CODE_DIR32
1140 @deffnx {} BFD_RELOC_PJ_CODE_REL16
1141 @deffnx {} BFD_RELOC_PJ_CODE_REL32
1142 Picojava relocs.  Not all of these appear in object files.
1143 @end deffn
1144 @deffn {} BFD_RELOC_PPC_B26
1145 @deffnx {} BFD_RELOC_PPC_BA26
1146 @deffnx {} BFD_RELOC_PPC_TOC16
1147 @deffnx {} BFD_RELOC_PPC_B16
1148 @deffnx {} BFD_RELOC_PPC_B16_BRTAKEN
1149 @deffnx {} BFD_RELOC_PPC_B16_BRNTAKEN
1150 @deffnx {} BFD_RELOC_PPC_BA16
1151 @deffnx {} BFD_RELOC_PPC_BA16_BRTAKEN
1152 @deffnx {} BFD_RELOC_PPC_BA16_BRNTAKEN
1153 @deffnx {} BFD_RELOC_PPC_COPY
1154 @deffnx {} BFD_RELOC_PPC_GLOB_DAT
1155 @deffnx {} BFD_RELOC_PPC_JMP_SLOT
1156 @deffnx {} BFD_RELOC_PPC_RELATIVE
1157 @deffnx {} BFD_RELOC_PPC_LOCAL24PC
1158 @deffnx {} BFD_RELOC_PPC_EMB_NADDR32
1159 @deffnx {} BFD_RELOC_PPC_EMB_NADDR16
1160 @deffnx {} BFD_RELOC_PPC_EMB_NADDR16_LO
1161 @deffnx {} BFD_RELOC_PPC_EMB_NADDR16_HI
1162 @deffnx {} BFD_RELOC_PPC_EMB_NADDR16_HA
1163 @deffnx {} BFD_RELOC_PPC_EMB_SDAI16
1164 @deffnx {} BFD_RELOC_PPC_EMB_SDA2I16
1165 @deffnx {} BFD_RELOC_PPC_EMB_SDA2REL
1166 @deffnx {} BFD_RELOC_PPC_EMB_SDA21
1167 @deffnx {} BFD_RELOC_PPC_EMB_MRKREF
1168 @deffnx {} BFD_RELOC_PPC_EMB_RELSEC16
1169 @deffnx {} BFD_RELOC_PPC_EMB_RELST_LO
1170 @deffnx {} BFD_RELOC_PPC_EMB_RELST_HI
1171 @deffnx {} BFD_RELOC_PPC_EMB_RELST_HA
1172 @deffnx {} BFD_RELOC_PPC_EMB_BIT_FLD
1173 @deffnx {} BFD_RELOC_PPC_EMB_RELSDA
1174 @deffnx {} BFD_RELOC_PPC_VLE_REL8
1175 @deffnx {} BFD_RELOC_PPC_VLE_REL15
1176 @deffnx {} BFD_RELOC_PPC_VLE_REL24
1177 @deffnx {} BFD_RELOC_PPC_VLE_LO16A
1178 @deffnx {} BFD_RELOC_PPC_VLE_LO16D
1179 @deffnx {} BFD_RELOC_PPC_VLE_HI16A
1180 @deffnx {} BFD_RELOC_PPC_VLE_HI16D
1181 @deffnx {} BFD_RELOC_PPC_VLE_HA16A
1182 @deffnx {} BFD_RELOC_PPC_VLE_HA16D
1183 @deffnx {} BFD_RELOC_PPC_VLE_SDA21
1184 @deffnx {} BFD_RELOC_PPC_VLE_SDA21_LO
1185 @deffnx {} BFD_RELOC_PPC_VLE_SDAREL_LO16A
1186 @deffnx {} BFD_RELOC_PPC_VLE_SDAREL_LO16D
1187 @deffnx {} BFD_RELOC_PPC_VLE_SDAREL_HI16A
1188 @deffnx {} BFD_RELOC_PPC_VLE_SDAREL_HI16D
1189 @deffnx {} BFD_RELOC_PPC_VLE_SDAREL_HA16A
1190 @deffnx {} BFD_RELOC_PPC_VLE_SDAREL_HA16D
1191 @deffnx {} BFD_RELOC_PPC64_HIGHER
1192 @deffnx {} BFD_RELOC_PPC64_HIGHER_S
1193 @deffnx {} BFD_RELOC_PPC64_HIGHEST
1194 @deffnx {} BFD_RELOC_PPC64_HIGHEST_S
1195 @deffnx {} BFD_RELOC_PPC64_TOC16_LO
1196 @deffnx {} BFD_RELOC_PPC64_TOC16_HI
1197 @deffnx {} BFD_RELOC_PPC64_TOC16_HA
1198 @deffnx {} BFD_RELOC_PPC64_TOC
1199 @deffnx {} BFD_RELOC_PPC64_PLTGOT16
1200 @deffnx {} BFD_RELOC_PPC64_PLTGOT16_LO
1201 @deffnx {} BFD_RELOC_PPC64_PLTGOT16_HI
1202 @deffnx {} BFD_RELOC_PPC64_PLTGOT16_HA
1203 @deffnx {} BFD_RELOC_PPC64_ADDR16_DS
1204 @deffnx {} BFD_RELOC_PPC64_ADDR16_LO_DS
1205 @deffnx {} BFD_RELOC_PPC64_GOT16_DS
1206 @deffnx {} BFD_RELOC_PPC64_GOT16_LO_DS
1207 @deffnx {} BFD_RELOC_PPC64_PLT16_LO_DS
1208 @deffnx {} BFD_RELOC_PPC64_SECTOFF_DS
1209 @deffnx {} BFD_RELOC_PPC64_SECTOFF_LO_DS
1210 @deffnx {} BFD_RELOC_PPC64_TOC16_DS
1211 @deffnx {} BFD_RELOC_PPC64_TOC16_LO_DS
1212 @deffnx {} BFD_RELOC_PPC64_PLTGOT16_DS
1213 @deffnx {} BFD_RELOC_PPC64_PLTGOT16_LO_DS
1214 @deffnx {} BFD_RELOC_PPC64_ADDR16_HIGH
1215 @deffnx {} BFD_RELOC_PPC64_ADDR16_HIGHA
1216 @deffnx {} BFD_RELOC_PPC64_ADDR64_LOCAL
1217 Power(rs6000) and PowerPC relocations.
1218 @end deffn
1219 @deffn {} BFD_RELOC_PPC_TLS
1220 @deffnx {} BFD_RELOC_PPC_TLSGD
1221 @deffnx {} BFD_RELOC_PPC_TLSLD
1222 @deffnx {} BFD_RELOC_PPC_DTPMOD
1223 @deffnx {} BFD_RELOC_PPC_TPREL16
1224 @deffnx {} BFD_RELOC_PPC_TPREL16_LO
1225 @deffnx {} BFD_RELOC_PPC_TPREL16_HI
1226 @deffnx {} BFD_RELOC_PPC_TPREL16_HA
1227 @deffnx {} BFD_RELOC_PPC_TPREL
1228 @deffnx {} BFD_RELOC_PPC_DTPREL16
1229 @deffnx {} BFD_RELOC_PPC_DTPREL16_LO
1230 @deffnx {} BFD_RELOC_PPC_DTPREL16_HI
1231 @deffnx {} BFD_RELOC_PPC_DTPREL16_HA
1232 @deffnx {} BFD_RELOC_PPC_DTPREL
1233 @deffnx {} BFD_RELOC_PPC_GOT_TLSGD16
1234 @deffnx {} BFD_RELOC_PPC_GOT_TLSGD16_LO
1235 @deffnx {} BFD_RELOC_PPC_GOT_TLSGD16_HI
1236 @deffnx {} BFD_RELOC_PPC_GOT_TLSGD16_HA
1237 @deffnx {} BFD_RELOC_PPC_GOT_TLSLD16
1238 @deffnx {} BFD_RELOC_PPC_GOT_TLSLD16_LO
1239 @deffnx {} BFD_RELOC_PPC_GOT_TLSLD16_HI
1240 @deffnx {} BFD_RELOC_PPC_GOT_TLSLD16_HA
1241 @deffnx {} BFD_RELOC_PPC_GOT_TPREL16
1242 @deffnx {} BFD_RELOC_PPC_GOT_TPREL16_LO
1243 @deffnx {} BFD_RELOC_PPC_GOT_TPREL16_HI
1244 @deffnx {} BFD_RELOC_PPC_GOT_TPREL16_HA
1245 @deffnx {} BFD_RELOC_PPC_GOT_DTPREL16
1246 @deffnx {} BFD_RELOC_PPC_GOT_DTPREL16_LO
1247 @deffnx {} BFD_RELOC_PPC_GOT_DTPREL16_HI
1248 @deffnx {} BFD_RELOC_PPC_GOT_DTPREL16_HA
1249 @deffnx {} BFD_RELOC_PPC64_TPREL16_DS
1250 @deffnx {} BFD_RELOC_PPC64_TPREL16_LO_DS
1251 @deffnx {} BFD_RELOC_PPC64_TPREL16_HIGHER
1252 @deffnx {} BFD_RELOC_PPC64_TPREL16_HIGHERA
1253 @deffnx {} BFD_RELOC_PPC64_TPREL16_HIGHEST
1254 @deffnx {} BFD_RELOC_PPC64_TPREL16_HIGHESTA
1255 @deffnx {} BFD_RELOC_PPC64_DTPREL16_DS
1256 @deffnx {} BFD_RELOC_PPC64_DTPREL16_LO_DS
1257 @deffnx {} BFD_RELOC_PPC64_DTPREL16_HIGHER
1258 @deffnx {} BFD_RELOC_PPC64_DTPREL16_HIGHERA
1259 @deffnx {} BFD_RELOC_PPC64_DTPREL16_HIGHEST
1260 @deffnx {} BFD_RELOC_PPC64_DTPREL16_HIGHESTA
1261 @deffnx {} BFD_RELOC_PPC64_TPREL16_HIGH
1262 @deffnx {} BFD_RELOC_PPC64_TPREL16_HIGHA
1263 @deffnx {} BFD_RELOC_PPC64_DTPREL16_HIGH
1264 @deffnx {} BFD_RELOC_PPC64_DTPREL16_HIGHA
1265 PowerPC and PowerPC64 thread-local storage relocations.
1266 @end deffn
1267 @deffn {} BFD_RELOC_I370_D12
1268 IBM 370/390 relocations
1269 @end deffn
1270 @deffn {} BFD_RELOC_CTOR
1271 The type of reloc used to build a constructor table - at the moment
1272 probably a 32 bit wide absolute relocation, but the target can choose.
1273 It generally does map to one of the other relocation types.
1274 @end deffn
1275 @deffn {} BFD_RELOC_ARM_PCREL_BRANCH
1276 ARM 26 bit pc-relative branch.  The lowest two bits must be zero and are
1277 not stored in the instruction.
1278 @end deffn
1279 @deffn {} BFD_RELOC_ARM_PCREL_BLX
1280 ARM 26 bit pc-relative branch.  The lowest bit must be zero and is
1281 not stored in the instruction.  The 2nd lowest bit comes from a 1 bit
1282 field in the instruction.
1283 @end deffn
1284 @deffn {} BFD_RELOC_THUMB_PCREL_BLX
1285 Thumb 22 bit pc-relative branch.  The lowest bit must be zero and is
1286 not stored in the instruction.  The 2nd lowest bit comes from a 1 bit
1287 field in the instruction.
1288 @end deffn
1289 @deffn {} BFD_RELOC_ARM_PCREL_CALL
1290 ARM 26-bit pc-relative branch for an unconditional BL or BLX instruction.
1291 @end deffn
1292 @deffn {} BFD_RELOC_ARM_PCREL_JUMP
1293 ARM 26-bit pc-relative branch for B or conditional BL instruction.
1294 @end deffn
1295 @deffn {} BFD_RELOC_THUMB_PCREL_BRANCH7
1296 @deffnx {} BFD_RELOC_THUMB_PCREL_BRANCH9
1297 @deffnx {} BFD_RELOC_THUMB_PCREL_BRANCH12
1298 @deffnx {} BFD_RELOC_THUMB_PCREL_BRANCH20
1299 @deffnx {} BFD_RELOC_THUMB_PCREL_BRANCH23
1300 @deffnx {} BFD_RELOC_THUMB_PCREL_BRANCH25
1301 Thumb 7-, 9-, 12-, 20-, 23-, and 25-bit pc-relative branches.
1302 The lowest bit must be zero and is not stored in the instruction.
1303 Note that the corresponding ELF R_ARM_THM_JUMPnn constant has an
1304 "nn" one smaller in all cases.  Note further that BRANCH23
1305 corresponds to R_ARM_THM_CALL.
1306 @end deffn
1307 @deffn {} BFD_RELOC_ARM_OFFSET_IMM
1308 12-bit immediate offset, used in ARM-format ldr and str instructions.
1309 @end deffn
1310 @deffn {} BFD_RELOC_ARM_THUMB_OFFSET
1311 5-bit immediate offset, used in Thumb-format ldr and str instructions.
1312 @end deffn
1313 @deffn {} BFD_RELOC_ARM_TARGET1
1314 Pc-relative or absolute relocation depending on target.  Used for
1315 entries in .init_array sections.
1316 @end deffn
1317 @deffn {} BFD_RELOC_ARM_ROSEGREL32
1318 Read-only segment base relative address.
1319 @end deffn
1320 @deffn {} BFD_RELOC_ARM_SBREL32
1321 Data segment base relative address.
1322 @end deffn
1323 @deffn {} BFD_RELOC_ARM_TARGET2
1324 This reloc is used for references to RTTI data from exception handling
1325 tables.  The actual definition depends on the target.  It may be a
1326 pc-relative or some form of GOT-indirect relocation.
1327 @end deffn
1328 @deffn {} BFD_RELOC_ARM_PREL31
1329 31-bit PC relative address.
1330 @end deffn
1331 @deffn {} BFD_RELOC_ARM_MOVW
1332 @deffnx {} BFD_RELOC_ARM_MOVT
1333 @deffnx {} BFD_RELOC_ARM_MOVW_PCREL
1334 @deffnx {} BFD_RELOC_ARM_MOVT_PCREL
1335 @deffnx {} BFD_RELOC_ARM_THUMB_MOVW
1336 @deffnx {} BFD_RELOC_ARM_THUMB_MOVT
1337 @deffnx {} BFD_RELOC_ARM_THUMB_MOVW_PCREL
1338 @deffnx {} BFD_RELOC_ARM_THUMB_MOVT_PCREL
1339 Low and High halfword relocations for MOVW and MOVT instructions.
1340 @end deffn
1341 @deffn {} BFD_RELOC_ARM_JUMP_SLOT
1342 @deffnx {} BFD_RELOC_ARM_GLOB_DAT
1343 @deffnx {} BFD_RELOC_ARM_GOT32
1344 @deffnx {} BFD_RELOC_ARM_PLT32
1345 @deffnx {} BFD_RELOC_ARM_RELATIVE
1346 @deffnx {} BFD_RELOC_ARM_GOTOFF
1347 @deffnx {} BFD_RELOC_ARM_GOTPC
1348 @deffnx {} BFD_RELOC_ARM_GOT_PREL
1349 Relocations for setting up GOTs and PLTs for shared libraries.
1350 @end deffn
1351 @deffn {} BFD_RELOC_ARM_TLS_GD32
1352 @deffnx {} BFD_RELOC_ARM_TLS_LDO32
1353 @deffnx {} BFD_RELOC_ARM_TLS_LDM32
1354 @deffnx {} BFD_RELOC_ARM_TLS_DTPOFF32
1355 @deffnx {} BFD_RELOC_ARM_TLS_DTPMOD32
1356 @deffnx {} BFD_RELOC_ARM_TLS_TPOFF32
1357 @deffnx {} BFD_RELOC_ARM_TLS_IE32
1358 @deffnx {} BFD_RELOC_ARM_TLS_LE32
1359 @deffnx {} BFD_RELOC_ARM_TLS_GOTDESC
1360 @deffnx {} BFD_RELOC_ARM_TLS_CALL
1361 @deffnx {} BFD_RELOC_ARM_THM_TLS_CALL
1362 @deffnx {} BFD_RELOC_ARM_TLS_DESCSEQ
1363 @deffnx {} BFD_RELOC_ARM_THM_TLS_DESCSEQ
1364 @deffnx {} BFD_RELOC_ARM_TLS_DESC
1365 ARM thread-local storage relocations.
1366 @end deffn
1367 @deffn {} BFD_RELOC_ARM_ALU_PC_G0_NC
1368 @deffnx {} BFD_RELOC_ARM_ALU_PC_G0
1369 @deffnx {} BFD_RELOC_ARM_ALU_PC_G1_NC
1370 @deffnx {} BFD_RELOC_ARM_ALU_PC_G1
1371 @deffnx {} BFD_RELOC_ARM_ALU_PC_G2
1372 @deffnx {} BFD_RELOC_ARM_LDR_PC_G0
1373 @deffnx {} BFD_RELOC_ARM_LDR_PC_G1
1374 @deffnx {} BFD_RELOC_ARM_LDR_PC_G2
1375 @deffnx {} BFD_RELOC_ARM_LDRS_PC_G0
1376 @deffnx {} BFD_RELOC_ARM_LDRS_PC_G1
1377 @deffnx {} BFD_RELOC_ARM_LDRS_PC_G2
1378 @deffnx {} BFD_RELOC_ARM_LDC_PC_G0
1379 @deffnx {} BFD_RELOC_ARM_LDC_PC_G1
1380 @deffnx {} BFD_RELOC_ARM_LDC_PC_G2
1381 @deffnx {} BFD_RELOC_ARM_ALU_SB_G0_NC
1382 @deffnx {} BFD_RELOC_ARM_ALU_SB_G0
1383 @deffnx {} BFD_RELOC_ARM_ALU_SB_G1_NC
1384 @deffnx {} BFD_RELOC_ARM_ALU_SB_G1
1385 @deffnx {} BFD_RELOC_ARM_ALU_SB_G2
1386 @deffnx {} BFD_RELOC_ARM_LDR_SB_G0
1387 @deffnx {} BFD_RELOC_ARM_LDR_SB_G1
1388 @deffnx {} BFD_RELOC_ARM_LDR_SB_G2
1389 @deffnx {} BFD_RELOC_ARM_LDRS_SB_G0
1390 @deffnx {} BFD_RELOC_ARM_LDRS_SB_G1
1391 @deffnx {} BFD_RELOC_ARM_LDRS_SB_G2
1392 @deffnx {} BFD_RELOC_ARM_LDC_SB_G0
1393 @deffnx {} BFD_RELOC_ARM_LDC_SB_G1
1394 @deffnx {} BFD_RELOC_ARM_LDC_SB_G2
1395 ARM group relocations.
1396 @end deffn
1397 @deffn {} BFD_RELOC_ARM_V4BX
1398 Annotation of BX instructions.
1399 @end deffn
1400 @deffn {} BFD_RELOC_ARM_IRELATIVE
1401 ARM support for STT_GNU_IFUNC.
1402 @end deffn
1403 @deffn {} BFD_RELOC_ARM_IMMEDIATE
1404 @deffnx {} BFD_RELOC_ARM_ADRL_IMMEDIATE
1405 @deffnx {} BFD_RELOC_ARM_T32_IMMEDIATE
1406 @deffnx {} BFD_RELOC_ARM_T32_ADD_IMM
1407 @deffnx {} BFD_RELOC_ARM_T32_IMM12
1408 @deffnx {} BFD_RELOC_ARM_T32_ADD_PC12
1409 @deffnx {} BFD_RELOC_ARM_SHIFT_IMM
1410 @deffnx {} BFD_RELOC_ARM_SMC
1411 @deffnx {} BFD_RELOC_ARM_HVC
1412 @deffnx {} BFD_RELOC_ARM_SWI
1413 @deffnx {} BFD_RELOC_ARM_MULTI
1414 @deffnx {} BFD_RELOC_ARM_CP_OFF_IMM
1415 @deffnx {} BFD_RELOC_ARM_CP_OFF_IMM_S2
1416 @deffnx {} BFD_RELOC_ARM_T32_CP_OFF_IMM
1417 @deffnx {} BFD_RELOC_ARM_T32_CP_OFF_IMM_S2
1418 @deffnx {} BFD_RELOC_ARM_ADR_IMM
1419 @deffnx {} BFD_RELOC_ARM_LDR_IMM
1420 @deffnx {} BFD_RELOC_ARM_LITERAL
1421 @deffnx {} BFD_RELOC_ARM_IN_POOL
1422 @deffnx {} BFD_RELOC_ARM_OFFSET_IMM8
1423 @deffnx {} BFD_RELOC_ARM_T32_OFFSET_U8
1424 @deffnx {} BFD_RELOC_ARM_T32_OFFSET_IMM
1425 @deffnx {} BFD_RELOC_ARM_HWLITERAL
1426 @deffnx {} BFD_RELOC_ARM_THUMB_ADD
1427 @deffnx {} BFD_RELOC_ARM_THUMB_IMM
1428 @deffnx {} BFD_RELOC_ARM_THUMB_SHIFT
1429 These relocs are only used within the ARM assembler.  They are not
1430 (at present) written to any object files.
1431 @end deffn
1432 @deffn {} BFD_RELOC_SH_PCDISP8BY2
1433 @deffnx {} BFD_RELOC_SH_PCDISP12BY2
1434 @deffnx {} BFD_RELOC_SH_IMM3
1435 @deffnx {} BFD_RELOC_SH_IMM3U
1436 @deffnx {} BFD_RELOC_SH_DISP12
1437 @deffnx {} BFD_RELOC_SH_DISP12BY2
1438 @deffnx {} BFD_RELOC_SH_DISP12BY4
1439 @deffnx {} BFD_RELOC_SH_DISP12BY8
1440 @deffnx {} BFD_RELOC_SH_DISP20
1441 @deffnx {} BFD_RELOC_SH_DISP20BY8
1442 @deffnx {} BFD_RELOC_SH_IMM4
1443 @deffnx {} BFD_RELOC_SH_IMM4BY2
1444 @deffnx {} BFD_RELOC_SH_IMM4BY4
1445 @deffnx {} BFD_RELOC_SH_IMM8
1446 @deffnx {} BFD_RELOC_SH_IMM8BY2
1447 @deffnx {} BFD_RELOC_SH_IMM8BY4
1448 @deffnx {} BFD_RELOC_SH_PCRELIMM8BY2
1449 @deffnx {} BFD_RELOC_SH_PCRELIMM8BY4
1450 @deffnx {} BFD_RELOC_SH_SWITCH16
1451 @deffnx {} BFD_RELOC_SH_SWITCH32
1452 @deffnx {} BFD_RELOC_SH_USES
1453 @deffnx {} BFD_RELOC_SH_COUNT
1454 @deffnx {} BFD_RELOC_SH_ALIGN
1455 @deffnx {} BFD_RELOC_SH_CODE
1456 @deffnx {} BFD_RELOC_SH_DATA
1457 @deffnx {} BFD_RELOC_SH_LABEL
1458 @deffnx {} BFD_RELOC_SH_LOOP_START
1459 @deffnx {} BFD_RELOC_SH_LOOP_END
1460 @deffnx {} BFD_RELOC_SH_COPY
1461 @deffnx {} BFD_RELOC_SH_GLOB_DAT
1462 @deffnx {} BFD_RELOC_SH_JMP_SLOT
1463 @deffnx {} BFD_RELOC_SH_RELATIVE
1464 @deffnx {} BFD_RELOC_SH_GOTPC
1465 @deffnx {} BFD_RELOC_SH_GOT_LOW16
1466 @deffnx {} BFD_RELOC_SH_GOT_MEDLOW16
1467 @deffnx {} BFD_RELOC_SH_GOT_MEDHI16
1468 @deffnx {} BFD_RELOC_SH_GOT_HI16
1469 @deffnx {} BFD_RELOC_SH_GOTPLT_LOW16
1470 @deffnx {} BFD_RELOC_SH_GOTPLT_MEDLOW16
1471 @deffnx {} BFD_RELOC_SH_GOTPLT_MEDHI16
1472 @deffnx {} BFD_RELOC_SH_GOTPLT_HI16
1473 @deffnx {} BFD_RELOC_SH_PLT_LOW16
1474 @deffnx {} BFD_RELOC_SH_PLT_MEDLOW16
1475 @deffnx {} BFD_RELOC_SH_PLT_MEDHI16
1476 @deffnx {} BFD_RELOC_SH_PLT_HI16
1477 @deffnx {} BFD_RELOC_SH_GOTOFF_LOW16
1478 @deffnx {} BFD_RELOC_SH_GOTOFF_MEDLOW16
1479 @deffnx {} BFD_RELOC_SH_GOTOFF_MEDHI16
1480 @deffnx {} BFD_RELOC_SH_GOTOFF_HI16
1481 @deffnx {} BFD_RELOC_SH_GOTPC_LOW16
1482 @deffnx {} BFD_RELOC_SH_GOTPC_MEDLOW16
1483 @deffnx {} BFD_RELOC_SH_GOTPC_MEDHI16
1484 @deffnx {} BFD_RELOC_SH_GOTPC_HI16
1485 @deffnx {} BFD_RELOC_SH_COPY64
1486 @deffnx {} BFD_RELOC_SH_GLOB_DAT64
1487 @deffnx {} BFD_RELOC_SH_JMP_SLOT64
1488 @deffnx {} BFD_RELOC_SH_RELATIVE64
1489 @deffnx {} BFD_RELOC_SH_GOT10BY4
1490 @deffnx {} BFD_RELOC_SH_GOT10BY8
1491 @deffnx {} BFD_RELOC_SH_GOTPLT10BY4
1492 @deffnx {} BFD_RELOC_SH_GOTPLT10BY8
1493 @deffnx {} BFD_RELOC_SH_GOTPLT32
1494 @deffnx {} BFD_RELOC_SH_SHMEDIA_CODE
1495 @deffnx {} BFD_RELOC_SH_IMMU5
1496 @deffnx {} BFD_RELOC_SH_IMMS6
1497 @deffnx {} BFD_RELOC_SH_IMMS6BY32
1498 @deffnx {} BFD_RELOC_SH_IMMU6
1499 @deffnx {} BFD_RELOC_SH_IMMS10
1500 @deffnx {} BFD_RELOC_SH_IMMS10BY2
1501 @deffnx {} BFD_RELOC_SH_IMMS10BY4
1502 @deffnx {} BFD_RELOC_SH_IMMS10BY8
1503 @deffnx {} BFD_RELOC_SH_IMMS16
1504 @deffnx {} BFD_RELOC_SH_IMMU16
1505 @deffnx {} BFD_RELOC_SH_IMM_LOW16
1506 @deffnx {} BFD_RELOC_SH_IMM_LOW16_PCREL
1507 @deffnx {} BFD_RELOC_SH_IMM_MEDLOW16
1508 @deffnx {} BFD_RELOC_SH_IMM_MEDLOW16_PCREL
1509 @deffnx {} BFD_RELOC_SH_IMM_MEDHI16
1510 @deffnx {} BFD_RELOC_SH_IMM_MEDHI16_PCREL
1511 @deffnx {} BFD_RELOC_SH_IMM_HI16
1512 @deffnx {} BFD_RELOC_SH_IMM_HI16_PCREL
1513 @deffnx {} BFD_RELOC_SH_PT_16
1514 @deffnx {} BFD_RELOC_SH_TLS_GD_32
1515 @deffnx {} BFD_RELOC_SH_TLS_LD_32
1516 @deffnx {} BFD_RELOC_SH_TLS_LDO_32
1517 @deffnx {} BFD_RELOC_SH_TLS_IE_32
1518 @deffnx {} BFD_RELOC_SH_TLS_LE_32
1519 @deffnx {} BFD_RELOC_SH_TLS_DTPMOD32
1520 @deffnx {} BFD_RELOC_SH_TLS_DTPOFF32
1521 @deffnx {} BFD_RELOC_SH_TLS_TPOFF32
1522 @deffnx {} BFD_RELOC_SH_GOT20
1523 @deffnx {} BFD_RELOC_SH_GOTOFF20
1524 @deffnx {} BFD_RELOC_SH_GOTFUNCDESC
1525 @deffnx {} BFD_RELOC_SH_GOTFUNCDESC20
1526 @deffnx {} BFD_RELOC_SH_GOTOFFFUNCDESC
1527 @deffnx {} BFD_RELOC_SH_GOTOFFFUNCDESC20
1528 @deffnx {} BFD_RELOC_SH_FUNCDESC
1529 Renesas / SuperH SH relocs.  Not all of these appear in object files.
1530 @end deffn
1531 @deffn {} BFD_RELOC_ARC_B22_PCREL
1532 ARC Cores relocs.
1533 ARC 22 bit pc-relative branch.  The lowest two bits must be zero and are
1534 not stored in the instruction.  The high 20 bits are installed in bits 26
1535 through 7 of the instruction.
1536 @end deffn
1537 @deffn {} BFD_RELOC_ARC_B26
1538 ARC 26 bit absolute branch.  The lowest two bits must be zero and are not
1539 stored in the instruction.  The high 24 bits are installed in bits 23
1540 through 0.
1541 @end deffn
1542 @deffn {} BFD_RELOC_BFIN_16_IMM
1543 ADI Blackfin 16 bit immediate absolute reloc.
1544 @end deffn
1545 @deffn {} BFD_RELOC_BFIN_16_HIGH
1546 ADI Blackfin 16 bit immediate absolute reloc higher 16 bits.
1547 @end deffn
1548 @deffn {} BFD_RELOC_BFIN_4_PCREL
1549 ADI Blackfin 'a' part of LSETUP.
1550 @end deffn
1551 @deffn {} BFD_RELOC_BFIN_5_PCREL
1552 ADI Blackfin.
1553 @end deffn
1554 @deffn {} BFD_RELOC_BFIN_16_LOW
1555 ADI Blackfin 16 bit immediate absolute reloc lower 16 bits.
1556 @end deffn
1557 @deffn {} BFD_RELOC_BFIN_10_PCREL
1558 ADI Blackfin.
1559 @end deffn
1560 @deffn {} BFD_RELOC_BFIN_11_PCREL
1561 ADI Blackfin 'b' part of LSETUP.
1562 @end deffn
1563 @deffn {} BFD_RELOC_BFIN_12_PCREL_JUMP
1564 ADI Blackfin.
1565 @end deffn
1566 @deffn {} BFD_RELOC_BFIN_12_PCREL_JUMP_S
1567 ADI Blackfin Short jump, pcrel.
1568 @end deffn
1569 @deffn {} BFD_RELOC_BFIN_24_PCREL_CALL_X
1570 ADI Blackfin Call.x not implemented.
1571 @end deffn
1572 @deffn {} BFD_RELOC_BFIN_24_PCREL_JUMP_L
1573 ADI Blackfin Long Jump pcrel.
1574 @end deffn
1575 @deffn {} BFD_RELOC_BFIN_GOT17M4
1576 @deffnx {} BFD_RELOC_BFIN_GOTHI
1577 @deffnx {} BFD_RELOC_BFIN_GOTLO
1578 @deffnx {} BFD_RELOC_BFIN_FUNCDESC
1579 @deffnx {} BFD_RELOC_BFIN_FUNCDESC_GOT17M4
1580 @deffnx {} BFD_RELOC_BFIN_FUNCDESC_GOTHI
1581 @deffnx {} BFD_RELOC_BFIN_FUNCDESC_GOTLO
1582 @deffnx {} BFD_RELOC_BFIN_FUNCDESC_VALUE
1583 @deffnx {} BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4
1584 @deffnx {} BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI
1585 @deffnx {} BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO
1586 @deffnx {} BFD_RELOC_BFIN_GOTOFF17M4
1587 @deffnx {} BFD_RELOC_BFIN_GOTOFFHI
1588 @deffnx {} BFD_RELOC_BFIN_GOTOFFLO
1589 ADI Blackfin FD-PIC relocations.
1590 @end deffn
1591 @deffn {} BFD_RELOC_BFIN_GOT
1592 ADI Blackfin GOT relocation.
1593 @end deffn
1594 @deffn {} BFD_RELOC_BFIN_PLTPC
1595 ADI Blackfin PLTPC relocation.
1596 @end deffn
1597 @deffn {} BFD_ARELOC_BFIN_PUSH
1598 ADI Blackfin arithmetic relocation.
1599 @end deffn
1600 @deffn {} BFD_ARELOC_BFIN_CONST
1601 ADI Blackfin arithmetic relocation.
1602 @end deffn
1603 @deffn {} BFD_ARELOC_BFIN_ADD
1604 ADI Blackfin arithmetic relocation.
1605 @end deffn
1606 @deffn {} BFD_ARELOC_BFIN_SUB
1607 ADI Blackfin arithmetic relocation.
1608 @end deffn
1609 @deffn {} BFD_ARELOC_BFIN_MULT
1610 ADI Blackfin arithmetic relocation.
1611 @end deffn
1612 @deffn {} BFD_ARELOC_BFIN_DIV
1613 ADI Blackfin arithmetic relocation.
1614 @end deffn
1615 @deffn {} BFD_ARELOC_BFIN_MOD
1616 ADI Blackfin arithmetic relocation.
1617 @end deffn
1618 @deffn {} BFD_ARELOC_BFIN_LSHIFT
1619 ADI Blackfin arithmetic relocation.
1620 @end deffn
1621 @deffn {} BFD_ARELOC_BFIN_RSHIFT
1622 ADI Blackfin arithmetic relocation.
1623 @end deffn
1624 @deffn {} BFD_ARELOC_BFIN_AND
1625 ADI Blackfin arithmetic relocation.
1626 @end deffn
1627 @deffn {} BFD_ARELOC_BFIN_OR
1628 ADI Blackfin arithmetic relocation.
1629 @end deffn
1630 @deffn {} BFD_ARELOC_BFIN_XOR
1631 ADI Blackfin arithmetic relocation.
1632 @end deffn
1633 @deffn {} BFD_ARELOC_BFIN_LAND
1634 ADI Blackfin arithmetic relocation.
1635 @end deffn
1636 @deffn {} BFD_ARELOC_BFIN_LOR
1637 ADI Blackfin arithmetic relocation.
1638 @end deffn
1639 @deffn {} BFD_ARELOC_BFIN_LEN
1640 ADI Blackfin arithmetic relocation.
1641 @end deffn
1642 @deffn {} BFD_ARELOC_BFIN_NEG
1643 ADI Blackfin arithmetic relocation.
1644 @end deffn
1645 @deffn {} BFD_ARELOC_BFIN_COMP
1646 ADI Blackfin arithmetic relocation.
1647 @end deffn
1648 @deffn {} BFD_ARELOC_BFIN_PAGE
1649 ADI Blackfin arithmetic relocation.
1650 @end deffn
1651 @deffn {} BFD_ARELOC_BFIN_HWPAGE
1652 ADI Blackfin arithmetic relocation.
1653 @end deffn
1654 @deffn {} BFD_ARELOC_BFIN_ADDR
1655 ADI Blackfin arithmetic relocation.
1656 @end deffn
1657 @deffn {} BFD_RELOC_D10V_10_PCREL_R
1658 Mitsubishi D10V relocs.
1659 This is a 10-bit reloc with the right 2 bits
1660 assumed to be 0.
1661 @end deffn
1662 @deffn {} BFD_RELOC_D10V_10_PCREL_L
1663 Mitsubishi D10V relocs.
1664 This is a 10-bit reloc with the right 2 bits
1665 assumed to be 0.  This is the same as the previous reloc
1666 except it is in the left container, i.e.,
1667 shifted left 15 bits.
1668 @end deffn
1669 @deffn {} BFD_RELOC_D10V_18
1670 This is an 18-bit reloc with the right 2 bits
1671 assumed to be 0.
1672 @end deffn
1673 @deffn {} BFD_RELOC_D10V_18_PCREL
1674 This is an 18-bit reloc with the right 2 bits
1675 assumed to be 0.
1676 @end deffn
1677 @deffn {} BFD_RELOC_D30V_6
1678 Mitsubishi D30V relocs.
1679 This is a 6-bit absolute reloc.
1680 @end deffn
1681 @deffn {} BFD_RELOC_D30V_9_PCREL
1682 This is a 6-bit pc-relative reloc with
1683 the right 3 bits assumed to be 0.
1684 @end deffn
1685 @deffn {} BFD_RELOC_D30V_9_PCREL_R
1686 This is a 6-bit pc-relative reloc with
1687 the right 3 bits assumed to be 0. Same
1688 as the previous reloc but on the right side
1689 of the container.
1690 @end deffn
1691 @deffn {} BFD_RELOC_D30V_15
1692 This is a 12-bit absolute reloc with the
1693 right 3 bitsassumed to be 0.
1694 @end deffn
1695 @deffn {} BFD_RELOC_D30V_15_PCREL
1696 This is a 12-bit pc-relative reloc with
1697 the right 3 bits assumed to be 0.
1698 @end deffn
1699 @deffn {} BFD_RELOC_D30V_15_PCREL_R
1700 This is a 12-bit pc-relative reloc with
1701 the right 3 bits assumed to be 0. Same
1702 as the previous reloc but on the right side
1703 of the container.
1704 @end deffn
1705 @deffn {} BFD_RELOC_D30V_21
1706 This is an 18-bit absolute reloc with
1707 the right 3 bits assumed to be 0.
1708 @end deffn
1709 @deffn {} BFD_RELOC_D30V_21_PCREL
1710 This is an 18-bit pc-relative reloc with
1711 the right 3 bits assumed to be 0.
1712 @end deffn
1713 @deffn {} BFD_RELOC_D30V_21_PCREL_R
1714 This is an 18-bit pc-relative reloc with
1715 the right 3 bits assumed to be 0. Same
1716 as the previous reloc but on the right side
1717 of the container.
1718 @end deffn
1719 @deffn {} BFD_RELOC_D30V_32
1720 This is a 32-bit absolute reloc.
1721 @end deffn
1722 @deffn {} BFD_RELOC_D30V_32_PCREL
1723 This is a 32-bit pc-relative reloc.
1724 @end deffn
1725 @deffn {} BFD_RELOC_DLX_HI16_S
1726 DLX relocs
1727 @end deffn
1728 @deffn {} BFD_RELOC_DLX_LO16
1729 DLX relocs
1730 @end deffn
1731 @deffn {} BFD_RELOC_DLX_JMP26
1732 DLX relocs
1733 @end deffn
1734 @deffn {} BFD_RELOC_M32C_HI8
1735 @deffnx {} BFD_RELOC_M32C_RL_JUMP
1736 @deffnx {} BFD_RELOC_M32C_RL_1ADDR
1737 @deffnx {} BFD_RELOC_M32C_RL_2ADDR
1738 Renesas M16C/M32C Relocations.
1739 @end deffn
1740 @deffn {} BFD_RELOC_M32R_24
1741 Renesas M32R (formerly Mitsubishi M32R) relocs.
1742 This is a 24 bit absolute address.
1743 @end deffn
1744 @deffn {} BFD_RELOC_M32R_10_PCREL
1745 This is a 10-bit pc-relative reloc with the right 2 bits assumed to be 0.
1746 @end deffn
1747 @deffn {} BFD_RELOC_M32R_18_PCREL
1748 This is an 18-bit reloc with the right 2 bits assumed to be 0.
1749 @end deffn
1750 @deffn {} BFD_RELOC_M32R_26_PCREL
1751 This is a 26-bit reloc with the right 2 bits assumed to be 0.
1752 @end deffn
1753 @deffn {} BFD_RELOC_M32R_HI16_ULO
1754 This is a 16-bit reloc containing the high 16 bits of an address
1755 used when the lower 16 bits are treated as unsigned.
1756 @end deffn
1757 @deffn {} BFD_RELOC_M32R_HI16_SLO
1758 This is a 16-bit reloc containing the high 16 bits of an address
1759 used when the lower 16 bits are treated as signed.
1760 @end deffn
1761 @deffn {} BFD_RELOC_M32R_LO16
1762 This is a 16-bit reloc containing the lower 16 bits of an address.
1763 @end deffn
1764 @deffn {} BFD_RELOC_M32R_SDA16
1765 This is a 16-bit reloc containing the small data area offset for use in
1766 add3, load, and store instructions.
1767 @end deffn
1768 @deffn {} BFD_RELOC_M32R_GOT24
1769 @deffnx {} BFD_RELOC_M32R_26_PLTREL
1770 @deffnx {} BFD_RELOC_M32R_COPY
1771 @deffnx {} BFD_RELOC_M32R_GLOB_DAT
1772 @deffnx {} BFD_RELOC_M32R_JMP_SLOT
1773 @deffnx {} BFD_RELOC_M32R_RELATIVE
1774 @deffnx {} BFD_RELOC_M32R_GOTOFF
1775 @deffnx {} BFD_RELOC_M32R_GOTOFF_HI_ULO
1776 @deffnx {} BFD_RELOC_M32R_GOTOFF_HI_SLO
1777 @deffnx {} BFD_RELOC_M32R_GOTOFF_LO
1778 @deffnx {} BFD_RELOC_M32R_GOTPC24
1779 @deffnx {} BFD_RELOC_M32R_GOT16_HI_ULO
1780 @deffnx {} BFD_RELOC_M32R_GOT16_HI_SLO
1781 @deffnx {} BFD_RELOC_M32R_GOT16_LO
1782 @deffnx {} BFD_RELOC_M32R_GOTPC_HI_ULO
1783 @deffnx {} BFD_RELOC_M32R_GOTPC_HI_SLO
1784 @deffnx {} BFD_RELOC_M32R_GOTPC_LO
1785 For PIC.
1786 @end deffn
1787 @deffn {} BFD_RELOC_NDS32_20
1788 NDS32 relocs.
1789 This is a 20 bit absolute address.
1790 @end deffn
1791 @deffn {} BFD_RELOC_NDS32_9_PCREL
1792 This is a 9-bit pc-relative reloc with the right 1 bit assumed to be 0.
1793 @end deffn
1794 @deffn {} BFD_RELOC_NDS32_WORD_9_PCREL
1795 This is a 9-bit pc-relative reloc with the right 1 bit assumed to be 0.
1796 @end deffn
1797 @deffn {} BFD_RELOC_NDS32_15_PCREL
1798 This is an 15-bit reloc with the right 1 bit assumed to be 0.
1799 @end deffn
1800 @deffn {} BFD_RELOC_NDS32_17_PCREL
1801 This is an 17-bit reloc with the right 1 bit assumed to be 0.
1802 @end deffn
1803 @deffn {} BFD_RELOC_NDS32_25_PCREL
1804 This is a 25-bit reloc with the right 1 bit assumed to be 0.
1805 @end deffn
1806 @deffn {} BFD_RELOC_NDS32_HI20
1807 This is a 20-bit reloc containing the high 20 bits of an address
1808 used with the lower 12 bits
1809 @end deffn
1810 @deffn {} BFD_RELOC_NDS32_LO12S3
1811 This is a 12-bit reloc containing the lower 12 bits of an address
1812 then shift right by 3. This is used with ldi,sdi...
1813 @end deffn
1814 @deffn {} BFD_RELOC_NDS32_LO12S2
1815 This is a 12-bit reloc containing the lower 12 bits of an address
1816 then shift left by 2. This is used with lwi,swi...
1817 @end deffn
1818 @deffn {} BFD_RELOC_NDS32_LO12S1
1819 This is a 12-bit reloc containing the lower 12 bits of an address
1820 then shift left by 1. This is used with lhi,shi...
1821 @end deffn
1822 @deffn {} BFD_RELOC_NDS32_LO12S0
1823 This is a 12-bit reloc containing the lower 12 bits of an address
1824 then shift left by 0. This is used with lbisbi...
1825 @end deffn
1826 @deffn {} BFD_RELOC_NDS32_LO12S0_ORI
1827 This is a 12-bit reloc containing the lower 12 bits of an address
1828 then shift left by 0. This is only used with branch relaxations
1829 @end deffn
1830 @deffn {} BFD_RELOC_NDS32_SDA15S3
1831 This is a 15-bit reloc containing the small data area 18-bit signed offset
1832 and shift left by 3 for use in ldi, sdi...
1833 @end deffn
1834 @deffn {} BFD_RELOC_NDS32_SDA15S2
1835 This is a 15-bit reloc containing the small data area 17-bit signed offset
1836 and shift left by 2 for use in lwi, swi...
1837 @end deffn
1838 @deffn {} BFD_RELOC_NDS32_SDA15S1
1839 This is a 15-bit reloc containing the small data area 16-bit signed offset
1840 and shift left by 1 for use in lhi, shi...
1841 @end deffn
1842 @deffn {} BFD_RELOC_NDS32_SDA15S0
1843 This is a 15-bit reloc containing the small data area 15-bit signed offset
1844 and shift left by 0 for use in lbi, sbi...
1845 @end deffn
1846 @deffn {} BFD_RELOC_NDS32_SDA16S3
1847 This is a 16-bit reloc containing the small data area 16-bit signed offset
1848 and shift left by 3
1849 @end deffn
1850 @deffn {} BFD_RELOC_NDS32_SDA17S2
1851 This is a 17-bit reloc containing the small data area 17-bit signed offset
1852 and shift left by 2 for use in lwi.gp, swi.gp...
1853 @end deffn
1854 @deffn {} BFD_RELOC_NDS32_SDA18S1
1855 This is a 18-bit reloc containing the small data area 18-bit signed offset
1856 and shift left by 1 for use in lhi.gp, shi.gp...
1857 @end deffn
1858 @deffn {} BFD_RELOC_NDS32_SDA19S0
1859 This is a 19-bit reloc containing the small data area 19-bit signed offset
1860 and shift left by 0 for use in lbi.gp, sbi.gp...
1861 @end deffn
1862 @deffn {} BFD_RELOC_NDS32_GOT20
1863 @deffnx {} BFD_RELOC_NDS32_9_PLTREL
1864 @deffnx {} BFD_RELOC_NDS32_25_PLTREL
1865 @deffnx {} BFD_RELOC_NDS32_COPY
1866 @deffnx {} BFD_RELOC_NDS32_GLOB_DAT
1867 @deffnx {} BFD_RELOC_NDS32_JMP_SLOT
1868 @deffnx {} BFD_RELOC_NDS32_RELATIVE
1869 @deffnx {} BFD_RELOC_NDS32_GOTOFF
1870 @deffnx {} BFD_RELOC_NDS32_GOTOFF_HI20
1871 @deffnx {} BFD_RELOC_NDS32_GOTOFF_LO12
1872 @deffnx {} BFD_RELOC_NDS32_GOTPC20
1873 @deffnx {} BFD_RELOC_NDS32_GOT_HI20
1874 @deffnx {} BFD_RELOC_NDS32_GOT_LO12
1875 @deffnx {} BFD_RELOC_NDS32_GOTPC_HI20
1876 @deffnx {} BFD_RELOC_NDS32_GOTPC_LO12
1877 for PIC
1878 @end deffn
1879 @deffn {} BFD_RELOC_NDS32_INSN16
1880 @deffnx {} BFD_RELOC_NDS32_LABEL
1881 @deffnx {} BFD_RELOC_NDS32_LONGCALL1
1882 @deffnx {} BFD_RELOC_NDS32_LONGCALL2
1883 @deffnx {} BFD_RELOC_NDS32_LONGCALL3
1884 @deffnx {} BFD_RELOC_NDS32_LONGJUMP1
1885 @deffnx {} BFD_RELOC_NDS32_LONGJUMP2
1886 @deffnx {} BFD_RELOC_NDS32_LONGJUMP3
1887 @deffnx {} BFD_RELOC_NDS32_LOADSTORE
1888 @deffnx {} BFD_RELOC_NDS32_9_FIXED
1889 @deffnx {} BFD_RELOC_NDS32_15_FIXED
1890 @deffnx {} BFD_RELOC_NDS32_17_FIXED
1891 @deffnx {} BFD_RELOC_NDS32_25_FIXED
1892 @deffnx {} BFD_RELOC_NDS32_LONGCALL4
1893 @deffnx {} BFD_RELOC_NDS32_LONGCALL5
1894 @deffnx {} BFD_RELOC_NDS32_LONGCALL6
1895 @deffnx {} BFD_RELOC_NDS32_LONGJUMP4
1896 @deffnx {} BFD_RELOC_NDS32_LONGJUMP5
1897 @deffnx {} BFD_RELOC_NDS32_LONGJUMP6
1898 @deffnx {} BFD_RELOC_NDS32_LONGJUMP7
1899 for relax
1900 @end deffn
1901 @deffn {} BFD_RELOC_NDS32_PLTREL_HI20
1902 @deffnx {} BFD_RELOC_NDS32_PLTREL_LO12
1903 @deffnx {} BFD_RELOC_NDS32_PLT_GOTREL_HI20
1904 @deffnx {} BFD_RELOC_NDS32_PLT_GOTREL_LO12
1905 for PIC
1906 @end deffn
1907 @deffn {} BFD_RELOC_NDS32_SDA12S2_DP
1908 @deffnx {} BFD_RELOC_NDS32_SDA12S2_SP
1909 @deffnx {} BFD_RELOC_NDS32_LO12S2_DP
1910 @deffnx {} BFD_RELOC_NDS32_LO12S2_SP
1911 for floating point
1912 @end deffn
1913 @deffn {} BFD_RELOC_NDS32_DWARF2_OP1
1914 @deffnx {} BFD_RELOC_NDS32_DWARF2_OP2
1915 @deffnx {} BFD_RELOC_NDS32_DWARF2_LEB
1916 for dwarf2 debug_line.
1917 @end deffn
1918 @deffn {} BFD_RELOC_NDS32_UPDATE_TA
1919 for eliminate 16-bit instructions
1920 @end deffn
1921 @deffn {} BFD_RELOC_NDS32_PLT_GOTREL_LO20
1922 @deffnx {} BFD_RELOC_NDS32_PLT_GOTREL_LO15
1923 @deffnx {} BFD_RELOC_NDS32_PLT_GOTREL_LO19
1924 @deffnx {} BFD_RELOC_NDS32_GOT_LO15
1925 @deffnx {} BFD_RELOC_NDS32_GOT_LO19
1926 @deffnx {} BFD_RELOC_NDS32_GOTOFF_LO15
1927 @deffnx {} BFD_RELOC_NDS32_GOTOFF_LO19
1928 @deffnx {} BFD_RELOC_NDS32_GOT15S2
1929 @deffnx {} BFD_RELOC_NDS32_GOT17S2
1930 for PIC object relaxation
1931 @end deffn
1932 @deffn {} BFD_RELOC_NDS32_5
1933 NDS32 relocs.
1934 This is a 5 bit absolute address.
1935 @end deffn
1936 @deffn {} BFD_RELOC_NDS32_10_UPCREL
1937 This is a 10-bit unsigned pc-relative reloc with the right 1 bit assumed to be 0.
1938 @end deffn
1939 @deffn {} BFD_RELOC_NDS32_SDA_FP7U2_RELA
1940 If fp were omitted, fp can used as another gp.
1941 @end deffn
1942 @deffn {} BFD_RELOC_NDS32_RELAX_ENTRY
1943 @deffnx {} BFD_RELOC_NDS32_GOT_SUFF
1944 @deffnx {} BFD_RELOC_NDS32_GOTOFF_SUFF
1945 @deffnx {} BFD_RELOC_NDS32_PLT_GOT_SUFF
1946 @deffnx {} BFD_RELOC_NDS32_MULCALL_SUFF
1947 @deffnx {} BFD_RELOC_NDS32_PTR
1948 @deffnx {} BFD_RELOC_NDS32_PTR_COUNT
1949 @deffnx {} BFD_RELOC_NDS32_PTR_RESOLVED
1950 @deffnx {} BFD_RELOC_NDS32_PLTBLOCK
1951 @deffnx {} BFD_RELOC_NDS32_RELAX_REGION_BEGIN
1952 @deffnx {} BFD_RELOC_NDS32_RELAX_REGION_END
1953 @deffnx {} BFD_RELOC_NDS32_MINUEND
1954 @deffnx {} BFD_RELOC_NDS32_SUBTRAHEND
1955 @deffnx {} BFD_RELOC_NDS32_DIFF8
1956 @deffnx {} BFD_RELOC_NDS32_DIFF16
1957 @deffnx {} BFD_RELOC_NDS32_DIFF32
1958 @deffnx {} BFD_RELOC_NDS32_DIFF_ULEB128
1959 @deffnx {} BFD_RELOC_NDS32_EMPTY
1960 relaxation relative relocation types
1961 @end deffn
1962 @deffn {} BFD_RELOC_NDS32_25_ABS
1963 This is a 25 bit absolute address.
1964 @end deffn
1965 @deffn {} BFD_RELOC_NDS32_DATA
1966 @deffnx {} BFD_RELOC_NDS32_TRAN
1967 @deffnx {} BFD_RELOC_NDS32_17IFC_PCREL
1968 @deffnx {} BFD_RELOC_NDS32_10IFCU_PCREL
1969 For ex9 and ifc using.
1970 @end deffn
1971 @deffn {} BFD_RELOC_NDS32_TPOFF
1972 @deffnx {} BFD_RELOC_NDS32_TLS_LE_HI20
1973 @deffnx {} BFD_RELOC_NDS32_TLS_LE_LO12
1974 @deffnx {} BFD_RELOC_NDS32_TLS_LE_ADD
1975 @deffnx {} BFD_RELOC_NDS32_TLS_LE_LS
1976 @deffnx {} BFD_RELOC_NDS32_GOTTPOFF
1977 @deffnx {} BFD_RELOC_NDS32_TLS_IE_HI20
1978 @deffnx {} BFD_RELOC_NDS32_TLS_IE_LO12S2
1979 @deffnx {} BFD_RELOC_NDS32_TLS_TPOFF
1980 @deffnx {} BFD_RELOC_NDS32_TLS_LE_20
1981 @deffnx {} BFD_RELOC_NDS32_TLS_LE_15S0
1982 @deffnx {} BFD_RELOC_NDS32_TLS_LE_15S1
1983 @deffnx {} BFD_RELOC_NDS32_TLS_LE_15S2
1984 For TLS.
1985 @end deffn
1986 @deffn {} BFD_RELOC_V850_9_PCREL
1987 This is a 9-bit reloc
1988 @end deffn
1989 @deffn {} BFD_RELOC_V850_22_PCREL
1990 This is a 22-bit reloc
1991 @end deffn
1992 @deffn {} BFD_RELOC_V850_SDA_16_16_OFFSET
1993 This is a 16 bit offset from the short data area pointer.
1994 @end deffn
1995 @deffn {} BFD_RELOC_V850_SDA_15_16_OFFSET
1996 This is a 16 bit offset (of which only 15 bits are used) from the
1997 short data area pointer.
1998 @end deffn
1999 @deffn {} BFD_RELOC_V850_ZDA_16_16_OFFSET
2000 This is a 16 bit offset from the zero data area pointer.
2001 @end deffn
2002 @deffn {} BFD_RELOC_V850_ZDA_15_16_OFFSET
2003 This is a 16 bit offset (of which only 15 bits are used) from the
2004 zero data area pointer.
2005 @end deffn
2006 @deffn {} BFD_RELOC_V850_TDA_6_8_OFFSET
2007 This is an 8 bit offset (of which only 6 bits are used) from the
2008 tiny data area pointer.
2009 @end deffn
2010 @deffn {} BFD_RELOC_V850_TDA_7_8_OFFSET
2011 This is an 8bit offset (of which only 7 bits are used) from the tiny
2012 data area pointer.
2013 @end deffn
2014 @deffn {} BFD_RELOC_V850_TDA_7_7_OFFSET
2015 This is a 7 bit offset from the tiny data area pointer.
2016 @end deffn
2017 @deffn {} BFD_RELOC_V850_TDA_16_16_OFFSET
2018 This is a 16 bit offset from the tiny data area pointer.
2019 @end deffn
2020 @deffn {} BFD_RELOC_V850_TDA_4_5_OFFSET
2021 This is a 5 bit offset (of which only 4 bits are used) from the tiny
2022 data area pointer.
2023 @end deffn
2024 @deffn {} BFD_RELOC_V850_TDA_4_4_OFFSET
2025 This is a 4 bit offset from the tiny data area pointer.
2026 @end deffn
2027 @deffn {} BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET
2028 This is a 16 bit offset from the short data area pointer, with the
2029 bits placed non-contiguously in the instruction.
2030 @end deffn
2031 @deffn {} BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET
2032 This is a 16 bit offset from the zero data area pointer, with the
2033 bits placed non-contiguously in the instruction.
2034 @end deffn
2035 @deffn {} BFD_RELOC_V850_CALLT_6_7_OFFSET
2036 This is a 6 bit offset from the call table base pointer.
2037 @end deffn
2038 @deffn {} BFD_RELOC_V850_CALLT_16_16_OFFSET
2039 This is a 16 bit offset from the call table base pointer.
2040 @end deffn
2041 @deffn {} BFD_RELOC_V850_LONGCALL
2042 Used for relaxing indirect function calls.
2043 @end deffn
2044 @deffn {} BFD_RELOC_V850_LONGJUMP
2045 Used for relaxing indirect jumps.
2046 @end deffn
2047 @deffn {} BFD_RELOC_V850_ALIGN
2048 Used to maintain alignment whilst relaxing.
2049 @end deffn
2050 @deffn {} BFD_RELOC_V850_LO16_SPLIT_OFFSET
2051 This is a variation of BFD_RELOC_LO16 that can be used in v850e ld.bu
2052 instructions.
2053 @end deffn
2054 @deffn {} BFD_RELOC_V850_16_PCREL
2055 This is a 16-bit reloc.
2056 @end deffn
2057 @deffn {} BFD_RELOC_V850_17_PCREL
2058 This is a 17-bit reloc.
2059 @end deffn
2060 @deffn {} BFD_RELOC_V850_23
2061 This is a 23-bit reloc.
2062 @end deffn
2063 @deffn {} BFD_RELOC_V850_32_PCREL
2064 This is a 32-bit reloc.
2065 @end deffn
2066 @deffn {} BFD_RELOC_V850_32_ABS
2067 This is a 32-bit reloc.
2068 @end deffn
2069 @deffn {} BFD_RELOC_V850_16_SPLIT_OFFSET
2070 This is a 16-bit reloc.
2071 @end deffn
2072 @deffn {} BFD_RELOC_V850_16_S1
2073 This is a 16-bit reloc.
2074 @end deffn
2075 @deffn {} BFD_RELOC_V850_LO16_S1
2076 Low 16 bits. 16 bit shifted by 1.
2077 @end deffn
2078 @deffn {} BFD_RELOC_V850_CALLT_15_16_OFFSET
2079 This is a 16 bit offset from the call table base pointer.
2080 @end deffn
2081 @deffn {} BFD_RELOC_V850_32_GOTPCREL
2082 DSO relocations.
2083 @end deffn
2084 @deffn {} BFD_RELOC_V850_16_GOT
2085 DSO relocations.
2086 @end deffn
2087 @deffn {} BFD_RELOC_V850_32_GOT
2088 DSO relocations.
2089 @end deffn
2090 @deffn {} BFD_RELOC_V850_22_PLT_PCREL
2091 DSO relocations.
2092 @end deffn
2093 @deffn {} BFD_RELOC_V850_32_PLT_PCREL
2094 DSO relocations.
2095 @end deffn
2096 @deffn {} BFD_RELOC_V850_COPY
2097 DSO relocations.
2098 @end deffn
2099 @deffn {} BFD_RELOC_V850_GLOB_DAT
2100 DSO relocations.
2101 @end deffn
2102 @deffn {} BFD_RELOC_V850_JMP_SLOT
2103 DSO relocations.
2104 @end deffn
2105 @deffn {} BFD_RELOC_V850_RELATIVE
2106 DSO relocations.
2107 @end deffn
2108 @deffn {} BFD_RELOC_V850_16_GOTOFF
2109 DSO relocations.
2110 @end deffn
2111 @deffn {} BFD_RELOC_V850_32_GOTOFF
2112 DSO relocations.
2113 @end deffn
2114 @deffn {} BFD_RELOC_V850_CODE
2115 start code.
2116 @end deffn
2117 @deffn {} BFD_RELOC_V850_DATA
2118 start data in text.
2119 @end deffn
2120 @deffn {} BFD_RELOC_TIC30_LDP
2121 This is a 8bit DP reloc for the tms320c30, where the most
2122 significant 8 bits of a 24 bit word are placed into the least
2123 significant 8 bits of the opcode.
2124 @end deffn
2125 @deffn {} BFD_RELOC_TIC54X_PARTLS7
2126 This is a 7bit reloc for the tms320c54x, where the least
2127 significant 7 bits of a 16 bit word are placed into the least
2128 significant 7 bits of the opcode.
2129 @end deffn
2130 @deffn {} BFD_RELOC_TIC54X_PARTMS9
2131 This is a 9bit DP reloc for the tms320c54x, where the most
2132 significant 9 bits of a 16 bit word are placed into the least
2133 significant 9 bits of the opcode.
2134 @end deffn
2135 @deffn {} BFD_RELOC_TIC54X_23
2136 This is an extended address 23-bit reloc for the tms320c54x.
2137 @end deffn
2138 @deffn {} BFD_RELOC_TIC54X_16_OF_23
2139 This is a 16-bit reloc for the tms320c54x, where the least
2140 significant 16 bits of a 23-bit extended address are placed into
2141 the opcode.
2142 @end deffn
2143 @deffn {} BFD_RELOC_TIC54X_MS7_OF_23
2144 This is a reloc for the tms320c54x, where the most
2145 significant 7 bits of a 23-bit extended address are placed into
2146 the opcode.
2147 @end deffn
2148 @deffn {} BFD_RELOC_C6000_PCR_S21
2149 @deffnx {} BFD_RELOC_C6000_PCR_S12
2150 @deffnx {} BFD_RELOC_C6000_PCR_S10
2151 @deffnx {} BFD_RELOC_C6000_PCR_S7
2152 @deffnx {} BFD_RELOC_C6000_ABS_S16
2153 @deffnx {} BFD_RELOC_C6000_ABS_L16
2154 @deffnx {} BFD_RELOC_C6000_ABS_H16
2155 @deffnx {} BFD_RELOC_C6000_SBR_U15_B
2156 @deffnx {} BFD_RELOC_C6000_SBR_U15_H
2157 @deffnx {} BFD_RELOC_C6000_SBR_U15_W
2158 @deffnx {} BFD_RELOC_C6000_SBR_S16
2159 @deffnx {} BFD_RELOC_C6000_SBR_L16_B
2160 @deffnx {} BFD_RELOC_C6000_SBR_L16_H
2161 @deffnx {} BFD_RELOC_C6000_SBR_L16_W
2162 @deffnx {} BFD_RELOC_C6000_SBR_H16_B
2163 @deffnx {} BFD_RELOC_C6000_SBR_H16_H
2164 @deffnx {} BFD_RELOC_C6000_SBR_H16_W
2165 @deffnx {} BFD_RELOC_C6000_SBR_GOT_U15_W
2166 @deffnx {} BFD_RELOC_C6000_SBR_GOT_L16_W
2167 @deffnx {} BFD_RELOC_C6000_SBR_GOT_H16_W
2168 @deffnx {} BFD_RELOC_C6000_DSBT_INDEX
2169 @deffnx {} BFD_RELOC_C6000_PREL31
2170 @deffnx {} BFD_RELOC_C6000_COPY
2171 @deffnx {} BFD_RELOC_C6000_JUMP_SLOT
2172 @deffnx {} BFD_RELOC_C6000_EHTYPE
2173 @deffnx {} BFD_RELOC_C6000_PCR_H16
2174 @deffnx {} BFD_RELOC_C6000_PCR_L16
2175 @deffnx {} BFD_RELOC_C6000_ALIGN
2176 @deffnx {} BFD_RELOC_C6000_FPHEAD
2177 @deffnx {} BFD_RELOC_C6000_NOCMP
2178 TMS320C6000 relocations.
2179 @end deffn
2180 @deffn {} BFD_RELOC_FR30_48
2181 This is a 48 bit reloc for the FR30 that stores 32 bits.
2182 @end deffn
2183 @deffn {} BFD_RELOC_FR30_20
2184 This is a 32 bit reloc for the FR30 that stores 20 bits split up into
2185 two sections.
2186 @end deffn
2187 @deffn {} BFD_RELOC_FR30_6_IN_4
2188 This is a 16 bit reloc for the FR30 that stores a 6 bit word offset in
2189 4 bits.
2190 @end deffn
2191 @deffn {} BFD_RELOC_FR30_8_IN_8
2192 This is a 16 bit reloc for the FR30 that stores an 8 bit byte offset
2193 into 8 bits.
2194 @end deffn
2195 @deffn {} BFD_RELOC_FR30_9_IN_8
2196 This is a 16 bit reloc for the FR30 that stores a 9 bit short offset
2197 into 8 bits.
2198 @end deffn
2199 @deffn {} BFD_RELOC_FR30_10_IN_8
2200 This is a 16 bit reloc for the FR30 that stores a 10 bit word offset
2201 into 8 bits.
2202 @end deffn
2203 @deffn {} BFD_RELOC_FR30_9_PCREL
2204 This is a 16 bit reloc for the FR30 that stores a 9 bit pc relative
2205 short offset into 8 bits.
2206 @end deffn
2207 @deffn {} BFD_RELOC_FR30_12_PCREL
2208 This is a 16 bit reloc for the FR30 that stores a 12 bit pc relative
2209 short offset into 11 bits.
2210 @end deffn
2211 @deffn {} BFD_RELOC_MCORE_PCREL_IMM8BY4
2212 @deffnx {} BFD_RELOC_MCORE_PCREL_IMM11BY2
2213 @deffnx {} BFD_RELOC_MCORE_PCREL_IMM4BY2
2214 @deffnx {} BFD_RELOC_MCORE_PCREL_32
2215 @deffnx {} BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2
2216 @deffnx {} BFD_RELOC_MCORE_RVA
2217 Motorola Mcore relocations.
2218 @end deffn
2219 @deffn {} BFD_RELOC_MEP_8
2220 @deffnx {} BFD_RELOC_MEP_16
2221 @deffnx {} BFD_RELOC_MEP_32
2222 @deffnx {} BFD_RELOC_MEP_PCREL8A2
2223 @deffnx {} BFD_RELOC_MEP_PCREL12A2
2224 @deffnx {} BFD_RELOC_MEP_PCREL17A2
2225 @deffnx {} BFD_RELOC_MEP_PCREL24A2
2226 @deffnx {} BFD_RELOC_MEP_PCABS24A2
2227 @deffnx {} BFD_RELOC_MEP_LOW16
2228 @deffnx {} BFD_RELOC_MEP_HI16U
2229 @deffnx {} BFD_RELOC_MEP_HI16S
2230 @deffnx {} BFD_RELOC_MEP_GPREL
2231 @deffnx {} BFD_RELOC_MEP_TPREL
2232 @deffnx {} BFD_RELOC_MEP_TPREL7
2233 @deffnx {} BFD_RELOC_MEP_TPREL7A2
2234 @deffnx {} BFD_RELOC_MEP_TPREL7A4
2235 @deffnx {} BFD_RELOC_MEP_UIMM24
2236 @deffnx {} BFD_RELOC_MEP_ADDR24A4
2237 @deffnx {} BFD_RELOC_MEP_GNU_VTINHERIT
2238 @deffnx {} BFD_RELOC_MEP_GNU_VTENTRY
2239 Toshiba Media Processor Relocations.
2240 @end deffn
2241 @deffn {} BFD_RELOC_METAG_HIADDR16
2242 @deffnx {} BFD_RELOC_METAG_LOADDR16
2243 @deffnx {} BFD_RELOC_METAG_RELBRANCH
2244 @deffnx {} BFD_RELOC_METAG_GETSETOFF
2245 @deffnx {} BFD_RELOC_METAG_HIOG
2246 @deffnx {} BFD_RELOC_METAG_LOOG
2247 @deffnx {} BFD_RELOC_METAG_REL8
2248 @deffnx {} BFD_RELOC_METAG_REL16
2249 @deffnx {} BFD_RELOC_METAG_HI16_GOTOFF
2250 @deffnx {} BFD_RELOC_METAG_LO16_GOTOFF
2251 @deffnx {} BFD_RELOC_METAG_GETSET_GOTOFF
2252 @deffnx {} BFD_RELOC_METAG_GETSET_GOT
2253 @deffnx {} BFD_RELOC_METAG_HI16_GOTPC
2254 @deffnx {} BFD_RELOC_METAG_LO16_GOTPC
2255 @deffnx {} BFD_RELOC_METAG_HI16_PLT
2256 @deffnx {} BFD_RELOC_METAG_LO16_PLT
2257 @deffnx {} BFD_RELOC_METAG_RELBRANCH_PLT
2258 @deffnx {} BFD_RELOC_METAG_GOTOFF
2259 @deffnx {} BFD_RELOC_METAG_PLT
2260 @deffnx {} BFD_RELOC_METAG_COPY
2261 @deffnx {} BFD_RELOC_METAG_JMP_SLOT
2262 @deffnx {} BFD_RELOC_METAG_RELATIVE
2263 @deffnx {} BFD_RELOC_METAG_GLOB_DAT
2264 @deffnx {} BFD_RELOC_METAG_TLS_GD
2265 @deffnx {} BFD_RELOC_METAG_TLS_LDM
2266 @deffnx {} BFD_RELOC_METAG_TLS_LDO_HI16
2267 @deffnx {} BFD_RELOC_METAG_TLS_LDO_LO16
2268 @deffnx {} BFD_RELOC_METAG_TLS_LDO
2269 @deffnx {} BFD_RELOC_METAG_TLS_IE
2270 @deffnx {} BFD_RELOC_METAG_TLS_IENONPIC
2271 @deffnx {} BFD_RELOC_METAG_TLS_IENONPIC_HI16
2272 @deffnx {} BFD_RELOC_METAG_TLS_IENONPIC_LO16
2273 @deffnx {} BFD_RELOC_METAG_TLS_TPOFF
2274 @deffnx {} BFD_RELOC_METAG_TLS_DTPMOD
2275 @deffnx {} BFD_RELOC_METAG_TLS_DTPOFF
2276 @deffnx {} BFD_RELOC_METAG_TLS_LE
2277 @deffnx {} BFD_RELOC_METAG_TLS_LE_HI16
2278 @deffnx {} BFD_RELOC_METAG_TLS_LE_LO16
2279 Imagination Technologies Meta relocations.
2280 @end deffn
2281 @deffn {} BFD_RELOC_MMIX_GETA
2282 @deffnx {} BFD_RELOC_MMIX_GETA_1
2283 @deffnx {} BFD_RELOC_MMIX_GETA_2
2284 @deffnx {} BFD_RELOC_MMIX_GETA_3
2285 These are relocations for the GETA instruction.
2286 @end deffn
2287 @deffn {} BFD_RELOC_MMIX_CBRANCH
2288 @deffnx {} BFD_RELOC_MMIX_CBRANCH_J
2289 @deffnx {} BFD_RELOC_MMIX_CBRANCH_1
2290 @deffnx {} BFD_RELOC_MMIX_CBRANCH_2
2291 @deffnx {} BFD_RELOC_MMIX_CBRANCH_3
2292 These are relocations for a conditional branch instruction.
2293 @end deffn
2294 @deffn {} BFD_RELOC_MMIX_PUSHJ
2295 @deffnx {} BFD_RELOC_MMIX_PUSHJ_1
2296 @deffnx {} BFD_RELOC_MMIX_PUSHJ_2
2297 @deffnx {} BFD_RELOC_MMIX_PUSHJ_3
2298 @deffnx {} BFD_RELOC_MMIX_PUSHJ_STUBBABLE
2299 These are relocations for the PUSHJ instruction.
2300 @end deffn
2301 @deffn {} BFD_RELOC_MMIX_JMP
2302 @deffnx {} BFD_RELOC_MMIX_JMP_1
2303 @deffnx {} BFD_RELOC_MMIX_JMP_2
2304 @deffnx {} BFD_RELOC_MMIX_JMP_3
2305 These are relocations for the JMP instruction.
2306 @end deffn
2307 @deffn {} BFD_RELOC_MMIX_ADDR19
2308 This is a relocation for a relative address as in a GETA instruction or
2309 a branch.
2310 @end deffn
2311 @deffn {} BFD_RELOC_MMIX_ADDR27
2312 This is a relocation for a relative address as in a JMP instruction.
2313 @end deffn
2314 @deffn {} BFD_RELOC_MMIX_REG_OR_BYTE
2315 This is a relocation for an instruction field that may be a general
2316 register or a value 0..255.
2317 @end deffn
2318 @deffn {} BFD_RELOC_MMIX_REG
2319 This is a relocation for an instruction field that may be a general
2320 register.
2321 @end deffn
2322 @deffn {} BFD_RELOC_MMIX_BASE_PLUS_OFFSET
2323 This is a relocation for two instruction fields holding a register and
2324 an offset, the equivalent of the relocation.
2325 @end deffn
2326 @deffn {} BFD_RELOC_MMIX_LOCAL
2327 This relocation is an assertion that the expression is not allocated as
2328 a global register.  It does not modify contents.
2329 @end deffn
2330 @deffn {} BFD_RELOC_AVR_7_PCREL
2331 This is a 16 bit reloc for the AVR that stores 8 bit pc relative
2332 short offset into 7 bits.
2333 @end deffn
2334 @deffn {} BFD_RELOC_AVR_13_PCREL
2335 This is a 16 bit reloc for the AVR that stores 13 bit pc relative
2336 short offset into 12 bits.
2337 @end deffn
2338 @deffn {} BFD_RELOC_AVR_16_PM
2339 This is a 16 bit reloc for the AVR that stores 17 bit value (usually
2340 program memory address) into 16 bits.
2341 @end deffn
2342 @deffn {} BFD_RELOC_AVR_LO8_LDI
2343 This is a 16 bit reloc for the AVR that stores 8 bit value (usually
2344 data memory address) into 8 bit immediate value of LDI insn.
2345 @end deffn
2346 @deffn {} BFD_RELOC_AVR_HI8_LDI
2347 This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
2348 of data memory address) into 8 bit immediate value of LDI insn.
2349 @end deffn
2350 @deffn {} BFD_RELOC_AVR_HH8_LDI
2351 This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
2352 of program memory address) into 8 bit immediate value of LDI insn.
2353 @end deffn
2354 @deffn {} BFD_RELOC_AVR_MS8_LDI
2355 This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
2356 of 32 bit value) into 8 bit immediate value of LDI insn.
2357 @end deffn
2358 @deffn {} BFD_RELOC_AVR_LO8_LDI_NEG
2359 This is a 16 bit reloc for the AVR that stores negated 8 bit value
2360 (usually data memory address) into 8 bit immediate value of SUBI insn.
2361 @end deffn
2362 @deffn {} BFD_RELOC_AVR_HI8_LDI_NEG
2363 This is a 16 bit reloc for the AVR that stores negated 8 bit value
2364 (high 8 bit of data memory address) into 8 bit immediate value of
2365 SUBI insn.
2366 @end deffn
2367 @deffn {} BFD_RELOC_AVR_HH8_LDI_NEG
2368 This is a 16 bit reloc for the AVR that stores negated 8 bit value
2369 (most high 8 bit of program memory address) into 8 bit immediate value
2370 of LDI or SUBI insn.
2371 @end deffn
2372 @deffn {} BFD_RELOC_AVR_MS8_LDI_NEG
2373 This is a 16 bit reloc for the AVR that stores negated 8 bit value (msb
2374 of 32 bit value) into 8 bit immediate value of LDI insn.
2375 @end deffn
2376 @deffn {} BFD_RELOC_AVR_LO8_LDI_PM
2377 This is a 16 bit reloc for the AVR that stores 8 bit value (usually
2378 command address) into 8 bit immediate value of LDI insn.
2379 @end deffn
2380 @deffn {} BFD_RELOC_AVR_LO8_LDI_GS
2381 This is a 16 bit reloc for the AVR that stores 8 bit value
2382 (command address) into 8 bit immediate value of LDI insn. If the address
2383 is beyond the 128k boundary, the linker inserts a jump stub for this reloc
2384 in the lower 128k.
2385 @end deffn
2386 @deffn {} BFD_RELOC_AVR_HI8_LDI_PM
2387 This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
2388 of command address) into 8 bit immediate value of LDI insn.
2389 @end deffn
2390 @deffn {} BFD_RELOC_AVR_HI8_LDI_GS
2391 This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit
2392 of command address) into 8 bit immediate value of LDI insn.  If the address
2393 is beyond the 128k boundary, the linker inserts a jump stub for this reloc
2394 below 128k.
2395 @end deffn
2396 @deffn {} BFD_RELOC_AVR_HH8_LDI_PM
2397 This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit
2398 of command address) into 8 bit immediate value of LDI insn.
2399 @end deffn
2400 @deffn {} BFD_RELOC_AVR_LO8_LDI_PM_NEG
2401 This is a 16 bit reloc for the AVR that stores negated 8 bit value
2402 (usually command address) into 8 bit immediate value of SUBI insn.
2403 @end deffn
2404 @deffn {} BFD_RELOC_AVR_HI8_LDI_PM_NEG
2405 This is a 16 bit reloc for the AVR that stores negated 8 bit value
2406 (high 8 bit of 16 bit command address) into 8 bit immediate value
2407 of SUBI insn.
2408 @end deffn
2409 @deffn {} BFD_RELOC_AVR_HH8_LDI_PM_NEG
2410 This is a 16 bit reloc for the AVR that stores negated 8 bit value
2411 (high 6 bit of 22 bit command address) into 8 bit immediate
2412 value of SUBI insn.
2413 @end deffn
2414 @deffn {} BFD_RELOC_AVR_CALL
2415 This is a 32 bit reloc for the AVR that stores 23 bit value
2416 into 22 bits.
2417 @end deffn
2418 @deffn {} BFD_RELOC_AVR_LDI
2419 This is a 16 bit reloc for the AVR that stores all needed bits
2420 for absolute addressing with ldi with overflow check to linktime
2421 @end deffn
2422 @deffn {} BFD_RELOC_AVR_6
2423 This is a 6 bit reloc for the AVR that stores offset for ldd/std
2424 instructions
2425 @end deffn
2426 @deffn {} BFD_RELOC_AVR_6_ADIW
2427 This is a 6 bit reloc for the AVR that stores offset for adiw/sbiw
2428 instructions
2429 @end deffn
2430 @deffn {} BFD_RELOC_AVR_8_LO
2431 This is a 8 bit reloc for the AVR that stores bits 0..7 of a symbol
2432 in .byte lo8(symbol)
2433 @end deffn
2434 @deffn {} BFD_RELOC_AVR_8_HI
2435 This is a 8 bit reloc for the AVR that stores bits 8..15 of a symbol
2436 in .byte hi8(symbol)
2437 @end deffn
2438 @deffn {} BFD_RELOC_AVR_8_HLO
2439 This is a 8 bit reloc for the AVR that stores bits 16..23 of a symbol
2440 in .byte hlo8(symbol)
2441 @end deffn
2442 @deffn {} BFD_RELOC_AVR_DIFF8
2443 @deffnx {} BFD_RELOC_AVR_DIFF16
2444 @deffnx {} BFD_RELOC_AVR_DIFF32
2445 AVR relocations to mark the difference of two local symbols.
2446 These are only needed to support linker relaxation and can be ignored
2447 when not relaxing.  The field is set to the value of the difference
2448 assuming no relaxation.  The relocation encodes the position of the
2449 second symbol so the linker can determine whether to adjust the field
2450 value.
2451 @end deffn
2452 @deffn {} BFD_RELOC_AVR_LDS_STS_16
2453 This is a 7 bit reloc for the AVR that stores SRAM address for 16bit
2454 lds and sts instructions supported only tiny core.
2455 @end deffn
2456 @deffn {} BFD_RELOC_AVR_PORT6
2457 This is a 6 bit reloc for the AVR that stores an I/O register
2458 number for the IN and OUT instructions
2459 @end deffn
2460 @deffn {} BFD_RELOC_AVR_PORT5
2461 This is a 5 bit reloc for the AVR that stores an I/O register
2462 number for the SBIC, SBIS, SBI and CBI instructions
2463 @end deffn
2464 @deffn {} BFD_RELOC_RL78_NEG8
2465 @deffnx {} BFD_RELOC_RL78_NEG16
2466 @deffnx {} BFD_RELOC_RL78_NEG24
2467 @deffnx {} BFD_RELOC_RL78_NEG32
2468 @deffnx {} BFD_RELOC_RL78_16_OP
2469 @deffnx {} BFD_RELOC_RL78_24_OP
2470 @deffnx {} BFD_RELOC_RL78_32_OP
2471 @deffnx {} BFD_RELOC_RL78_8U
2472 @deffnx {} BFD_RELOC_RL78_16U
2473 @deffnx {} BFD_RELOC_RL78_24U
2474 @deffnx {} BFD_RELOC_RL78_DIR3U_PCREL
2475 @deffnx {} BFD_RELOC_RL78_DIFF
2476 @deffnx {} BFD_RELOC_RL78_GPRELB
2477 @deffnx {} BFD_RELOC_RL78_GPRELW
2478 @deffnx {} BFD_RELOC_RL78_GPRELL
2479 @deffnx {} BFD_RELOC_RL78_SYM
2480 @deffnx {} BFD_RELOC_RL78_OP_SUBTRACT
2481 @deffnx {} BFD_RELOC_RL78_OP_NEG
2482 @deffnx {} BFD_RELOC_RL78_OP_AND
2483 @deffnx {} BFD_RELOC_RL78_OP_SHRA
2484 @deffnx {} BFD_RELOC_RL78_ABS8
2485 @deffnx {} BFD_RELOC_RL78_ABS16
2486 @deffnx {} BFD_RELOC_RL78_ABS16_REV
2487 @deffnx {} BFD_RELOC_RL78_ABS32
2488 @deffnx {} BFD_RELOC_RL78_ABS32_REV
2489 @deffnx {} BFD_RELOC_RL78_ABS16U
2490 @deffnx {} BFD_RELOC_RL78_ABS16UW
2491 @deffnx {} BFD_RELOC_RL78_ABS16UL
2492 @deffnx {} BFD_RELOC_RL78_RELAX
2493 @deffnx {} BFD_RELOC_RL78_HI16
2494 @deffnx {} BFD_RELOC_RL78_HI8
2495 @deffnx {} BFD_RELOC_RL78_LO16
2496 @deffnx {} BFD_RELOC_RL78_CODE
2497 Renesas RL78 Relocations.
2498 @end deffn
2499 @deffn {} BFD_RELOC_RX_NEG8
2500 @deffnx {} BFD_RELOC_RX_NEG16
2501 @deffnx {} BFD_RELOC_RX_NEG24
2502 @deffnx {} BFD_RELOC_RX_NEG32
2503 @deffnx {} BFD_RELOC_RX_16_OP
2504 @deffnx {} BFD_RELOC_RX_24_OP
2505 @deffnx {} BFD_RELOC_RX_32_OP
2506 @deffnx {} BFD_RELOC_RX_8U
2507 @deffnx {} BFD_RELOC_RX_16U
2508 @deffnx {} BFD_RELOC_RX_24U
2509 @deffnx {} BFD_RELOC_RX_DIR3U_PCREL
2510 @deffnx {} BFD_RELOC_RX_DIFF
2511 @deffnx {} BFD_RELOC_RX_GPRELB
2512 @deffnx {} BFD_RELOC_RX_GPRELW
2513 @deffnx {} BFD_RELOC_RX_GPRELL
2514 @deffnx {} BFD_RELOC_RX_SYM
2515 @deffnx {} BFD_RELOC_RX_OP_SUBTRACT
2516 @deffnx {} BFD_RELOC_RX_OP_NEG
2517 @deffnx {} BFD_RELOC_RX_ABS8
2518 @deffnx {} BFD_RELOC_RX_ABS16
2519 @deffnx {} BFD_RELOC_RX_ABS16_REV
2520 @deffnx {} BFD_RELOC_RX_ABS32
2521 @deffnx {} BFD_RELOC_RX_ABS32_REV
2522 @deffnx {} BFD_RELOC_RX_ABS16U
2523 @deffnx {} BFD_RELOC_RX_ABS16UW
2524 @deffnx {} BFD_RELOC_RX_ABS16UL
2525 @deffnx {} BFD_RELOC_RX_RELAX
2526 Renesas RX Relocations.
2527 @end deffn
2528 @deffn {} BFD_RELOC_390_12
2529 Direct 12 bit.
2530 @end deffn
2531 @deffn {} BFD_RELOC_390_GOT12
2532 12 bit GOT offset.
2533 @end deffn
2534 @deffn {} BFD_RELOC_390_PLT32
2535 32 bit PC relative PLT address.
2536 @end deffn
2537 @deffn {} BFD_RELOC_390_COPY
2538 Copy symbol at runtime.
2539 @end deffn
2540 @deffn {} BFD_RELOC_390_GLOB_DAT
2541 Create GOT entry.
2542 @end deffn
2543 @deffn {} BFD_RELOC_390_JMP_SLOT
2544 Create PLT entry.
2545 @end deffn
2546 @deffn {} BFD_RELOC_390_RELATIVE
2547 Adjust by program base.
2548 @end deffn
2549 @deffn {} BFD_RELOC_390_GOTPC
2550 32 bit PC relative offset to GOT.
2551 @end deffn
2552 @deffn {} BFD_RELOC_390_GOT16
2553 16 bit GOT offset.
2554 @end deffn
2555 @deffn {} BFD_RELOC_390_PC12DBL
2556 PC relative 12 bit shifted by 1.
2557 @end deffn
2558 @deffn {} BFD_RELOC_390_PLT12DBL
2559 12 bit PC rel. PLT shifted by 1.
2560 @end deffn
2561 @deffn {} BFD_RELOC_390_PC16DBL
2562 PC relative 16 bit shifted by 1.
2563 @end deffn
2564 @deffn {} BFD_RELOC_390_PLT16DBL
2565 16 bit PC rel. PLT shifted by 1.
2566 @end deffn
2567 @deffn {} BFD_RELOC_390_PC24DBL
2568 PC relative 24 bit shifted by 1.
2569 @end deffn
2570 @deffn {} BFD_RELOC_390_PLT24DBL
2571 24 bit PC rel. PLT shifted by 1.
2572 @end deffn
2573 @deffn {} BFD_RELOC_390_PC32DBL
2574 PC relative 32 bit shifted by 1.
2575 @end deffn
2576 @deffn {} BFD_RELOC_390_PLT32DBL
2577 32 bit PC rel. PLT shifted by 1.
2578 @end deffn
2579 @deffn {} BFD_RELOC_390_GOTPCDBL
2580 32 bit PC rel. GOT shifted by 1.
2581 @end deffn
2582 @deffn {} BFD_RELOC_390_GOT64
2583 64 bit GOT offset.
2584 @end deffn
2585 @deffn {} BFD_RELOC_390_PLT64
2586 64 bit PC relative PLT address.
2587 @end deffn
2588 @deffn {} BFD_RELOC_390_GOTENT
2589 32 bit rel. offset to GOT entry.
2590 @end deffn
2591 @deffn {} BFD_RELOC_390_GOTOFF64
2592 64 bit offset to GOT.
2593 @end deffn
2594 @deffn {} BFD_RELOC_390_GOTPLT12
2595 12-bit offset to symbol-entry within GOT, with PLT handling.
2596 @end deffn
2597 @deffn {} BFD_RELOC_390_GOTPLT16
2598 16-bit offset to symbol-entry within GOT, with PLT handling.
2599 @end deffn
2600 @deffn {} BFD_RELOC_390_GOTPLT32
2601 32-bit offset to symbol-entry within GOT, with PLT handling.
2602 @end deffn
2603 @deffn {} BFD_RELOC_390_GOTPLT64
2604 64-bit offset to symbol-entry within GOT, with PLT handling.
2605 @end deffn
2606 @deffn {} BFD_RELOC_390_GOTPLTENT
2607 32-bit rel. offset to symbol-entry within GOT, with PLT handling.
2608 @end deffn
2609 @deffn {} BFD_RELOC_390_PLTOFF16
2610 16-bit rel. offset from the GOT to a PLT entry.
2611 @end deffn
2612 @deffn {} BFD_RELOC_390_PLTOFF32
2613 32-bit rel. offset from the GOT to a PLT entry.
2614 @end deffn
2615 @deffn {} BFD_RELOC_390_PLTOFF64
2616 64-bit rel. offset from the GOT to a PLT entry.
2617 @end deffn
2618 @deffn {} BFD_RELOC_390_TLS_LOAD
2619 @deffnx {} BFD_RELOC_390_TLS_GDCALL
2620 @deffnx {} BFD_RELOC_390_TLS_LDCALL
2621 @deffnx {} BFD_RELOC_390_TLS_GD32
2622 @deffnx {} BFD_RELOC_390_TLS_GD64
2623 @deffnx {} BFD_RELOC_390_TLS_GOTIE12
2624 @deffnx {} BFD_RELOC_390_TLS_GOTIE32
2625 @deffnx {} BFD_RELOC_390_TLS_GOTIE64
2626 @deffnx {} BFD_RELOC_390_TLS_LDM32
2627 @deffnx {} BFD_RELOC_390_TLS_LDM64
2628 @deffnx {} BFD_RELOC_390_TLS_IE32
2629 @deffnx {} BFD_RELOC_390_TLS_IE64
2630 @deffnx {} BFD_RELOC_390_TLS_IEENT
2631 @deffnx {} BFD_RELOC_390_TLS_LE32
2632 @deffnx {} BFD_RELOC_390_TLS_LE64
2633 @deffnx {} BFD_RELOC_390_TLS_LDO32
2634 @deffnx {} BFD_RELOC_390_TLS_LDO64
2635 @deffnx {} BFD_RELOC_390_TLS_DTPMOD
2636 @deffnx {} BFD_RELOC_390_TLS_DTPOFF
2637 @deffnx {} BFD_RELOC_390_TLS_TPOFF
2638 s390 tls relocations.
2639 @end deffn
2640 @deffn {} BFD_RELOC_390_20
2641 @deffnx {} BFD_RELOC_390_GOT20
2642 @deffnx {} BFD_RELOC_390_GOTPLT20
2643 @deffnx {} BFD_RELOC_390_TLS_GOTIE20
2644 Long displacement extension.
2645 @end deffn
2646 @deffn {} BFD_RELOC_390_IRELATIVE
2647 STT_GNU_IFUNC relocation.
2648 @end deffn
2649 @deffn {} BFD_RELOC_SCORE_GPREL15
2650 Score relocations
2651 Low 16 bit for load/store
2652 @end deffn
2653 @deffn {} BFD_RELOC_SCORE_DUMMY2
2654 @deffnx {} BFD_RELOC_SCORE_JMP
2655 This is a 24-bit reloc with the right 1 bit assumed to be 0
2656 @end deffn
2657 @deffn {} BFD_RELOC_SCORE_BRANCH
2658 This is a 19-bit reloc with the right 1 bit assumed to be 0
2659 @end deffn
2660 @deffn {} BFD_RELOC_SCORE_IMM30
2661 This is a 32-bit reloc for 48-bit instructions.
2662 @end deffn
2663 @deffn {} BFD_RELOC_SCORE_IMM32
2664 This is a 32-bit reloc for 48-bit instructions.
2665 @end deffn
2666 @deffn {} BFD_RELOC_SCORE16_JMP
2667 This is a 11-bit reloc with the right 1 bit assumed to be 0
2668 @end deffn
2669 @deffn {} BFD_RELOC_SCORE16_BRANCH
2670 This is a 8-bit reloc with the right 1 bit assumed to be 0
2671 @end deffn
2672 @deffn {} BFD_RELOC_SCORE_BCMP
2673 This is a 9-bit reloc with the right 1 bit assumed to be 0
2674 @end deffn
2675 @deffn {} BFD_RELOC_SCORE_GOT15
2676 @deffnx {} BFD_RELOC_SCORE_GOT_LO16
2677 @deffnx {} BFD_RELOC_SCORE_CALL15
2678 @deffnx {} BFD_RELOC_SCORE_DUMMY_HI16
2679 Undocumented Score relocs
2680 @end deffn
2681 @deffn {} BFD_RELOC_IP2K_FR9
2682 Scenix IP2K - 9-bit register number / data address
2683 @end deffn
2684 @deffn {} BFD_RELOC_IP2K_BANK
2685 Scenix IP2K - 4-bit register/data bank number
2686 @end deffn
2687 @deffn {} BFD_RELOC_IP2K_ADDR16CJP
2688 Scenix IP2K - low 13 bits of instruction word address
2689 @end deffn
2690 @deffn {} BFD_RELOC_IP2K_PAGE3
2691 Scenix IP2K - high 3 bits of instruction word address
2692 @end deffn
2693 @deffn {} BFD_RELOC_IP2K_LO8DATA
2694 @deffnx {} BFD_RELOC_IP2K_HI8DATA
2695 @deffnx {} BFD_RELOC_IP2K_EX8DATA
2696 Scenix IP2K - ext/low/high 8 bits of data address
2697 @end deffn
2698 @deffn {} BFD_RELOC_IP2K_LO8INSN
2699 @deffnx {} BFD_RELOC_IP2K_HI8INSN
2700 Scenix IP2K - low/high 8 bits of instruction word address
2701 @end deffn
2702 @deffn {} BFD_RELOC_IP2K_PC_SKIP
2703 Scenix IP2K - even/odd PC modifier to modify snb pcl.0
2704 @end deffn
2705 @deffn {} BFD_RELOC_IP2K_TEXT
2706 Scenix IP2K - 16 bit word address in text section.
2707 @end deffn
2708 @deffn {} BFD_RELOC_IP2K_FR_OFFSET
2709 Scenix IP2K - 7-bit sp or dp offset
2710 @end deffn
2711 @deffn {} BFD_RELOC_VPE4KMATH_DATA
2712 @deffnx {} BFD_RELOC_VPE4KMATH_INSN
2713 Scenix VPE4K coprocessor - data/insn-space addressing
2714 @end deffn
2715 @deffn {} BFD_RELOC_VTABLE_INHERIT
2716 @deffnx {} BFD_RELOC_VTABLE_ENTRY
2717 These two relocations are used by the linker to determine which of
2718 the entries in a C++ virtual function table are actually used.  When
2719 the --gc-sections option is given, the linker will zero out the entries
2720 that are not used, so that the code for those functions need not be
2721 included in the output.
2722
2723 VTABLE_INHERIT is a zero-space relocation used to describe to the
2724 linker the inheritance tree of a C++ virtual function table.  The
2725 relocation's symbol should be the parent class' vtable, and the
2726 relocation should be located at the child vtable.
2727
2728 VTABLE_ENTRY is a zero-space relocation that describes the use of a
2729 virtual function table entry.  The reloc's symbol should refer to the
2730 table of the class mentioned in the code.  Off of that base, an offset
2731 describes the entry that is being used.  For Rela hosts, this offset
2732 is stored in the reloc's addend.  For Rel hosts, we are forced to put
2733 this offset in the reloc's section offset.
2734 @end deffn
2735 @deffn {} BFD_RELOC_IA64_IMM14
2736 @deffnx {} BFD_RELOC_IA64_IMM22
2737 @deffnx {} BFD_RELOC_IA64_IMM64
2738 @deffnx {} BFD_RELOC_IA64_DIR32MSB
2739 @deffnx {} BFD_RELOC_IA64_DIR32LSB
2740 @deffnx {} BFD_RELOC_IA64_DIR64MSB
2741 @deffnx {} BFD_RELOC_IA64_DIR64LSB
2742 @deffnx {} BFD_RELOC_IA64_GPREL22
2743 @deffnx {} BFD_RELOC_IA64_GPREL64I
2744 @deffnx {} BFD_RELOC_IA64_GPREL32MSB
2745 @deffnx {} BFD_RELOC_IA64_GPREL32LSB
2746 @deffnx {} BFD_RELOC_IA64_GPREL64MSB
2747 @deffnx {} BFD_RELOC_IA64_GPREL64LSB
2748 @deffnx {} BFD_RELOC_IA64_LTOFF22
2749 @deffnx {} BFD_RELOC_IA64_LTOFF64I
2750 @deffnx {} BFD_RELOC_IA64_PLTOFF22
2751 @deffnx {} BFD_RELOC_IA64_PLTOFF64I
2752 @deffnx {} BFD_RELOC_IA64_PLTOFF64MSB
2753 @deffnx {} BFD_RELOC_IA64_PLTOFF64LSB
2754 @deffnx {} BFD_RELOC_IA64_FPTR64I
2755 @deffnx {} BFD_RELOC_IA64_FPTR32MSB
2756 @deffnx {} BFD_RELOC_IA64_FPTR32LSB
2757 @deffnx {} BFD_RELOC_IA64_FPTR64MSB
2758 @deffnx {} BFD_RELOC_IA64_FPTR64LSB
2759 @deffnx {} BFD_RELOC_IA64_PCREL21B
2760 @deffnx {} BFD_RELOC_IA64_PCREL21BI
2761 @deffnx {} BFD_RELOC_IA64_PCREL21M
2762 @deffnx {} BFD_RELOC_IA64_PCREL21F
2763 @deffnx {} BFD_RELOC_IA64_PCREL22
2764 @deffnx {} BFD_RELOC_IA64_PCREL60B
2765 @deffnx {} BFD_RELOC_IA64_PCREL64I
2766 @deffnx {} BFD_RELOC_IA64_PCREL32MSB
2767 @deffnx {} BFD_RELOC_IA64_PCREL32LSB
2768 @deffnx {} BFD_RELOC_IA64_PCREL64MSB
2769 @deffnx {} BFD_RELOC_IA64_PCREL64LSB
2770 @deffnx {} BFD_RELOC_IA64_LTOFF_FPTR22
2771 @deffnx {} BFD_RELOC_IA64_LTOFF_FPTR64I
2772 @deffnx {} BFD_RELOC_IA64_LTOFF_FPTR32MSB
2773 @deffnx {} BFD_RELOC_IA64_LTOFF_FPTR32LSB
2774 @deffnx {} BFD_RELOC_IA64_LTOFF_FPTR64MSB
2775 @deffnx {} BFD_RELOC_IA64_LTOFF_FPTR64LSB
2776 @deffnx {} BFD_RELOC_IA64_SEGREL32MSB
2777 @deffnx {} BFD_RELOC_IA64_SEGREL32LSB
2778 @deffnx {} BFD_RELOC_IA64_SEGREL64MSB
2779 @deffnx {} BFD_RELOC_IA64_SEGREL64LSB
2780 @deffnx {} BFD_RELOC_IA64_SECREL32MSB
2781 @deffnx {} BFD_RELOC_IA64_SECREL32LSB
2782 @deffnx {} BFD_RELOC_IA64_SECREL64MSB
2783 @deffnx {} BFD_RELOC_IA64_SECREL64LSB
2784 @deffnx {} BFD_RELOC_IA64_REL32MSB
2785 @deffnx {} BFD_RELOC_IA64_REL32LSB
2786 @deffnx {} BFD_RELOC_IA64_REL64MSB
2787 @deffnx {} BFD_RELOC_IA64_REL64LSB
2788 @deffnx {} BFD_RELOC_IA64_LTV32MSB
2789 @deffnx {} BFD_RELOC_IA64_LTV32LSB
2790 @deffnx {} BFD_RELOC_IA64_LTV64MSB
2791 @deffnx {} BFD_RELOC_IA64_LTV64LSB
2792 @deffnx {} BFD_RELOC_IA64_IPLTMSB
2793 @deffnx {} BFD_RELOC_IA64_IPLTLSB
2794 @deffnx {} BFD_RELOC_IA64_COPY
2795 @deffnx {} BFD_RELOC_IA64_LTOFF22X
2796 @deffnx {} BFD_RELOC_IA64_LDXMOV
2797 @deffnx {} BFD_RELOC_IA64_TPREL14
2798 @deffnx {} BFD_RELOC_IA64_TPREL22
2799 @deffnx {} BFD_RELOC_IA64_TPREL64I
2800 @deffnx {} BFD_RELOC_IA64_TPREL64MSB
2801 @deffnx {} BFD_RELOC_IA64_TPREL64LSB
2802 @deffnx {} BFD_RELOC_IA64_LTOFF_TPREL22
2803 @deffnx {} BFD_RELOC_IA64_DTPMOD64MSB
2804 @deffnx {} BFD_RELOC_IA64_DTPMOD64LSB
2805 @deffnx {} BFD_RELOC_IA64_LTOFF_DTPMOD22
2806 @deffnx {} BFD_RELOC_IA64_DTPREL14
2807 @deffnx {} BFD_RELOC_IA64_DTPREL22
2808 @deffnx {} BFD_RELOC_IA64_DTPREL64I
2809 @deffnx {} BFD_RELOC_IA64_DTPREL32MSB
2810 @deffnx {} BFD_RELOC_IA64_DTPREL32LSB
2811 @deffnx {} BFD_RELOC_IA64_DTPREL64MSB
2812 @deffnx {} BFD_RELOC_IA64_DTPREL64LSB
2813 @deffnx {} BFD_RELOC_IA64_LTOFF_DTPREL22
2814 Intel IA64 Relocations.
2815 @end deffn
2816 @deffn {} BFD_RELOC_M68HC11_HI8
2817 Motorola 68HC11 reloc.
2818 This is the 8 bit high part of an absolute address.
2819 @end deffn
2820 @deffn {} BFD_RELOC_M68HC11_LO8
2821 Motorola 68HC11 reloc.
2822 This is the 8 bit low part of an absolute address.
2823 @end deffn
2824 @deffn {} BFD_RELOC_M68HC11_3B
2825 Motorola 68HC11 reloc.
2826 This is the 3 bit of a value.
2827 @end deffn
2828 @deffn {} BFD_RELOC_M68HC11_RL_JUMP
2829 Motorola 68HC11 reloc.
2830 This reloc marks the beginning of a jump/call instruction.
2831 It is used for linker relaxation to correctly identify beginning
2832 of instruction and change some branches to use PC-relative
2833 addressing mode.
2834 @end deffn
2835 @deffn {} BFD_RELOC_M68HC11_RL_GROUP
2836 Motorola 68HC11 reloc.
2837 This reloc marks a group of several instructions that gcc generates
2838 and for which the linker relaxation pass can modify and/or remove
2839 some of them.
2840 @end deffn
2841 @deffn {} BFD_RELOC_M68HC11_LO16
2842 Motorola 68HC11 reloc.
2843 This is the 16-bit lower part of an address.  It is used for 'call'
2844 instruction to specify the symbol address without any special
2845 transformation (due to memory bank window).
2846 @end deffn
2847 @deffn {} BFD_RELOC_M68HC11_PAGE
2848 Motorola 68HC11 reloc.
2849 This is a 8-bit reloc that specifies the page number of an address.
2850 It is used by 'call' instruction to specify the page number of
2851 the symbol.
2852 @end deffn
2853 @deffn {} BFD_RELOC_M68HC11_24
2854 Motorola 68HC11 reloc.
2855 This is a 24-bit reloc that represents the address with a 16-bit
2856 value and a 8-bit page number.  The symbol address is transformed
2857 to follow the 16K memory bank of 68HC12 (seen as mapped in the window).
2858 @end deffn
2859 @deffn {} BFD_RELOC_M68HC12_5B
2860 Motorola 68HC12 reloc.
2861 This is the 5 bits of a value.
2862 @end deffn
2863 @deffn {} BFD_RELOC_XGATE_RL_JUMP
2864 Freescale XGATE reloc.
2865 This reloc marks the beginning of a bra/jal instruction.
2866 @end deffn
2867 @deffn {} BFD_RELOC_XGATE_RL_GROUP
2868 Freescale XGATE reloc.
2869 This reloc marks a group of several instructions that gcc generates
2870 and for which the linker relaxation pass can modify and/or remove
2871 some of them.
2872 @end deffn
2873 @deffn {} BFD_RELOC_XGATE_LO16
2874 Freescale XGATE reloc.
2875 This is the 16-bit lower part of an address.  It is used for the '16-bit'
2876 instructions.
2877 @end deffn
2878 @deffn {} BFD_RELOC_XGATE_GPAGE
2879 Freescale XGATE reloc.
2880 @end deffn
2881 @deffn {} BFD_RELOC_XGATE_24
2882 Freescale XGATE reloc.
2883 @end deffn
2884 @deffn {} BFD_RELOC_XGATE_PCREL_9
2885 Freescale XGATE reloc.
2886 This is a 9-bit pc-relative reloc.
2887 @end deffn
2888 @deffn {} BFD_RELOC_XGATE_PCREL_10
2889 Freescale XGATE reloc.
2890 This is a 10-bit pc-relative reloc.
2891 @end deffn
2892 @deffn {} BFD_RELOC_XGATE_IMM8_LO
2893 Freescale XGATE reloc.
2894 This is the 16-bit lower part of an address.  It is used for the '16-bit'
2895 instructions.
2896 @end deffn
2897 @deffn {} BFD_RELOC_XGATE_IMM8_HI
2898 Freescale XGATE reloc.
2899 This is the 16-bit higher part of an address.  It is used for the '16-bit'
2900 instructions.
2901 @end deffn
2902 @deffn {} BFD_RELOC_XGATE_IMM3
2903 Freescale XGATE reloc.
2904 This is a 3-bit pc-relative reloc.
2905 @end deffn
2906 @deffn {} BFD_RELOC_XGATE_IMM4
2907 Freescale XGATE reloc.
2908 This is a 4-bit pc-relative reloc.
2909 @end deffn
2910 @deffn {} BFD_RELOC_XGATE_IMM5
2911 Freescale XGATE reloc.
2912 This is a 5-bit pc-relative reloc.
2913 @end deffn
2914 @deffn {} BFD_RELOC_M68HC12_9B
2915 Motorola 68HC12 reloc.
2916 This is the 9 bits of a value.
2917 @end deffn
2918 @deffn {} BFD_RELOC_M68HC12_16B
2919 Motorola 68HC12 reloc.
2920 This is the 16 bits of a value.
2921 @end deffn
2922 @deffn {} BFD_RELOC_M68HC12_9_PCREL
2923 Motorola 68HC12/XGATE reloc.
2924 This is a PCREL9 branch.
2925 @end deffn
2926 @deffn {} BFD_RELOC_M68HC12_10_PCREL
2927 Motorola 68HC12/XGATE reloc.
2928 This is a PCREL10 branch.
2929 @end deffn
2930 @deffn {} BFD_RELOC_M68HC12_LO8XG
2931 Motorola 68HC12/XGATE reloc.
2932 This is the 8 bit low part of an absolute address and immediately precedes
2933 a matching HI8XG part.
2934 @end deffn
2935 @deffn {} BFD_RELOC_M68HC12_HI8XG
2936 Motorola 68HC12/XGATE reloc.
2937 This is the 8 bit high part of an absolute address and immediately follows
2938 a matching LO8XG part.
2939 @end deffn
2940 @deffn {} BFD_RELOC_16C_NUM08
2941 @deffnx {} BFD_RELOC_16C_NUM08_C
2942 @deffnx {} BFD_RELOC_16C_NUM16
2943 @deffnx {} BFD_RELOC_16C_NUM16_C
2944 @deffnx {} BFD_RELOC_16C_NUM32
2945 @deffnx {} BFD_RELOC_16C_NUM32_C
2946 @deffnx {} BFD_RELOC_16C_DISP04
2947 @deffnx {} BFD_RELOC_16C_DISP04_C
2948 @deffnx {} BFD_RELOC_16C_DISP08
2949 @deffnx {} BFD_RELOC_16C_DISP08_C
2950 @deffnx {} BFD_RELOC_16C_DISP16
2951 @deffnx {} BFD_RELOC_16C_DISP16_C
2952 @deffnx {} BFD_RELOC_16C_DISP24
2953 @deffnx {} BFD_RELOC_16C_DISP24_C
2954 @deffnx {} BFD_RELOC_16C_DISP24a
2955 @deffnx {} BFD_RELOC_16C_DISP24a_C
2956 @deffnx {} BFD_RELOC_16C_REG04
2957 @deffnx {} BFD_RELOC_16C_REG04_C
2958 @deffnx {} BFD_RELOC_16C_REG04a
2959 @deffnx {} BFD_RELOC_16C_REG04a_C
2960 @deffnx {} BFD_RELOC_16C_REG14
2961 @deffnx {} BFD_RELOC_16C_REG14_C
2962 @deffnx {} BFD_RELOC_16C_REG16
2963 @deffnx {} BFD_RELOC_16C_REG16_C
2964 @deffnx {} BFD_RELOC_16C_REG20
2965 @deffnx {} BFD_RELOC_16C_REG20_C
2966 @deffnx {} BFD_RELOC_16C_ABS20
2967 @deffnx {} BFD_RELOC_16C_ABS20_C
2968 @deffnx {} BFD_RELOC_16C_ABS24
2969 @deffnx {} BFD_RELOC_16C_ABS24_C
2970 @deffnx {} BFD_RELOC_16C_IMM04
2971 @deffnx {} BFD_RELOC_16C_IMM04_C
2972 @deffnx {} BFD_RELOC_16C_IMM16
2973 @deffnx {} BFD_RELOC_16C_IMM16_C
2974 @deffnx {} BFD_RELOC_16C_IMM20
2975 @deffnx {} BFD_RELOC_16C_IMM20_C
2976 @deffnx {} BFD_RELOC_16C_IMM24
2977 @deffnx {} BFD_RELOC_16C_IMM24_C
2978 @deffnx {} BFD_RELOC_16C_IMM32
2979 @deffnx {} BFD_RELOC_16C_IMM32_C
2980 NS CR16C Relocations.
2981 @end deffn
2982 @deffn {} BFD_RELOC_CR16_NUM8
2983 @deffnx {} BFD_RELOC_CR16_NUM16
2984 @deffnx {} BFD_RELOC_CR16_NUM32
2985 @deffnx {} BFD_RELOC_CR16_NUM32a
2986 @deffnx {} BFD_RELOC_CR16_REGREL0
2987 @deffnx {} BFD_RELOC_CR16_REGREL4
2988 @deffnx {} BFD_RELOC_CR16_REGREL4a
2989 @deffnx {} BFD_RELOC_CR16_REGREL14
2990 @deffnx {} BFD_RELOC_CR16_REGREL14a
2991 @deffnx {} BFD_RELOC_CR16_REGREL16
2992 @deffnx {} BFD_RELOC_CR16_REGREL20
2993 @deffnx {} BFD_RELOC_CR16_REGREL20a
2994 @deffnx {} BFD_RELOC_CR16_ABS20
2995 @deffnx {} BFD_RELOC_CR16_ABS24
2996 @deffnx {} BFD_RELOC_CR16_IMM4
2997 @deffnx {} BFD_RELOC_CR16_IMM8
2998 @deffnx {} BFD_RELOC_CR16_IMM16
2999 @deffnx {} BFD_RELOC_CR16_IMM20
3000 @deffnx {} BFD_RELOC_CR16_IMM24
3001 @deffnx {} BFD_RELOC_CR16_IMM32
3002 @deffnx {} BFD_RELOC_CR16_IMM32a
3003 @deffnx {} BFD_RELOC_CR16_DISP4
3004 @deffnx {} BFD_RELOC_CR16_DISP8
3005 @deffnx {} BFD_RELOC_CR16_DISP16
3006 @deffnx {} BFD_RELOC_CR16_DISP20
3007 @deffnx {} BFD_RELOC_CR16_DISP24
3008 @deffnx {} BFD_RELOC_CR16_DISP24a
3009 @deffnx {} BFD_RELOC_CR16_SWITCH8
3010 @deffnx {} BFD_RELOC_CR16_SWITCH16
3011 @deffnx {} BFD_RELOC_CR16_SWITCH32
3012 @deffnx {} BFD_RELOC_CR16_GOT_REGREL20
3013 @deffnx {} BFD_RELOC_CR16_GOTC_REGREL20
3014 @deffnx {} BFD_RELOC_CR16_GLOB_DAT
3015 NS CR16 Relocations.
3016 @end deffn
3017 @deffn {} BFD_RELOC_CRX_REL4
3018 @deffnx {} BFD_RELOC_CRX_REL8
3019 @deffnx {} BFD_RELOC_CRX_REL8_CMP
3020 @deffnx {} BFD_RELOC_CRX_REL16
3021 @deffnx {} BFD_RELOC_CRX_REL24
3022 @deffnx {} BFD_RELOC_CRX_REL32
3023 @deffnx {} BFD_RELOC_CRX_REGREL12
3024 @deffnx {} BFD_RELOC_CRX_REGREL22
3025 @deffnx {} BFD_RELOC_CRX_REGREL28
3026 @deffnx {} BFD_RELOC_CRX_REGREL32
3027 @deffnx {} BFD_RELOC_CRX_ABS16
3028 @deffnx {} BFD_RELOC_CRX_ABS32
3029 @deffnx {} BFD_RELOC_CRX_NUM8
3030 @deffnx {} BFD_RELOC_CRX_NUM16
3031 @deffnx {} BFD_RELOC_CRX_NUM32
3032 @deffnx {} BFD_RELOC_CRX_IMM16
3033 @deffnx {} BFD_RELOC_CRX_IMM32
3034 @deffnx {} BFD_RELOC_CRX_SWITCH8
3035 @deffnx {} BFD_RELOC_CRX_SWITCH16
3036 @deffnx {} BFD_RELOC_CRX_SWITCH32
3037 NS CRX Relocations.
3038 @end deffn
3039 @deffn {} BFD_RELOC_CRIS_BDISP8
3040 @deffnx {} BFD_RELOC_CRIS_UNSIGNED_5
3041 @deffnx {} BFD_RELOC_CRIS_SIGNED_6
3042 @deffnx {} BFD_RELOC_CRIS_UNSIGNED_6
3043 @deffnx {} BFD_RELOC_CRIS_SIGNED_8
3044 @deffnx {} BFD_RELOC_CRIS_UNSIGNED_8
3045 @deffnx {} BFD_RELOC_CRIS_SIGNED_16
3046 @deffnx {} BFD_RELOC_CRIS_UNSIGNED_16
3047 @deffnx {} BFD_RELOC_CRIS_LAPCQ_OFFSET
3048 @deffnx {} BFD_RELOC_CRIS_UNSIGNED_4
3049 These relocs are only used within the CRIS assembler.  They are not
3050 (at present) written to any object files.
3051 @end deffn
3052 @deffn {} BFD_RELOC_CRIS_COPY
3053 @deffnx {} BFD_RELOC_CRIS_GLOB_DAT
3054 @deffnx {} BFD_RELOC_CRIS_JUMP_SLOT
3055 @deffnx {} BFD_RELOC_CRIS_RELATIVE
3056 Relocs used in ELF shared libraries for CRIS.
3057 @end deffn
3058 @deffn {} BFD_RELOC_CRIS_32_GOT
3059 32-bit offset to symbol-entry within GOT.
3060 @end deffn
3061 @deffn {} BFD_RELOC_CRIS_16_GOT
3062 16-bit offset to symbol-entry within GOT.
3063 @end deffn
3064 @deffn {} BFD_RELOC_CRIS_32_GOTPLT
3065 32-bit offset to symbol-entry within GOT, with PLT handling.
3066 @end deffn
3067 @deffn {} BFD_RELOC_CRIS_16_GOTPLT
3068 16-bit offset to symbol-entry within GOT, with PLT handling.
3069 @end deffn
3070 @deffn {} BFD_RELOC_CRIS_32_GOTREL
3071 32-bit offset to symbol, relative to GOT.
3072 @end deffn
3073 @deffn {} BFD_RELOC_CRIS_32_PLT_GOTREL
3074 32-bit offset to symbol with PLT entry, relative to GOT.
3075 @end deffn
3076 @deffn {} BFD_RELOC_CRIS_32_PLT_PCREL
3077 32-bit offset to symbol with PLT entry, relative to this relocation.
3078 @end deffn
3079 @deffn {} BFD_RELOC_CRIS_32_GOT_GD
3080 @deffnx {} BFD_RELOC_CRIS_16_GOT_GD
3081 @deffnx {} BFD_RELOC_CRIS_32_GD
3082 @deffnx {} BFD_RELOC_CRIS_DTP
3083 @deffnx {} BFD_RELOC_CRIS_32_DTPREL
3084 @deffnx {} BFD_RELOC_CRIS_16_DTPREL
3085 @deffnx {} BFD_RELOC_CRIS_32_GOT_TPREL
3086 @deffnx {} BFD_RELOC_CRIS_16_GOT_TPREL
3087 @deffnx {} BFD_RELOC_CRIS_32_TPREL
3088 @deffnx {} BFD_RELOC_CRIS_16_TPREL
3089 @deffnx {} BFD_RELOC_CRIS_DTPMOD
3090 @deffnx {} BFD_RELOC_CRIS_32_IE
3091 Relocs used in TLS code for CRIS.
3092 @end deffn
3093 @deffn {} BFD_RELOC_860_COPY
3094 @deffnx {} BFD_RELOC_860_GLOB_DAT
3095 @deffnx {} BFD_RELOC_860_JUMP_SLOT
3096 @deffnx {} BFD_RELOC_860_RELATIVE
3097 @deffnx {} BFD_RELOC_860_PC26
3098 @deffnx {} BFD_RELOC_860_PLT26
3099 @deffnx {} BFD_RELOC_860_PC16
3100 @deffnx {} BFD_RELOC_860_LOW0
3101 @deffnx {} BFD_RELOC_860_SPLIT0
3102 @deffnx {} BFD_RELOC_860_LOW1
3103 @deffnx {} BFD_RELOC_860_SPLIT1
3104 @deffnx {} BFD_RELOC_860_LOW2
3105 @deffnx {} BFD_RELOC_860_SPLIT2
3106 @deffnx {} BFD_RELOC_860_LOW3
3107 @deffnx {} BFD_RELOC_860_LOGOT0
3108 @deffnx {} BFD_RELOC_860_SPGOT0
3109 @deffnx {} BFD_RELOC_860_LOGOT1
3110 @deffnx {} BFD_RELOC_860_SPGOT1
3111 @deffnx {} BFD_RELOC_860_LOGOTOFF0
3112 @deffnx {} BFD_RELOC_860_SPGOTOFF0
3113 @deffnx {} BFD_RELOC_860_LOGOTOFF1
3114 @deffnx {} BFD_RELOC_860_SPGOTOFF1
3115 @deffnx {} BFD_RELOC_860_LOGOTOFF2
3116 @deffnx {} BFD_RELOC_860_LOGOTOFF3
3117 @deffnx {} BFD_RELOC_860_LOPC
3118 @deffnx {} BFD_RELOC_860_HIGHADJ
3119 @deffnx {} BFD_RELOC_860_HAGOT
3120 @deffnx {} BFD_RELOC_860_HAGOTOFF
3121 @deffnx {} BFD_RELOC_860_HAPC
3122 @deffnx {} BFD_RELOC_860_HIGH
3123 @deffnx {} BFD_RELOC_860_HIGOT
3124 @deffnx {} BFD_RELOC_860_HIGOTOFF
3125 Intel i860 Relocations.
3126 @end deffn
3127 @deffn {} BFD_RELOC_OR1K_REL_26
3128 @deffnx {} BFD_RELOC_OR1K_GOTPC_HI16
3129 @deffnx {} BFD_RELOC_OR1K_GOTPC_LO16
3130 @deffnx {} BFD_RELOC_OR1K_GOT16
3131 @deffnx {} BFD_RELOC_OR1K_PLT26
3132 @deffnx {} BFD_RELOC_OR1K_GOTOFF_HI16
3133 @deffnx {} BFD_RELOC_OR1K_GOTOFF_LO16
3134 @deffnx {} BFD_RELOC_OR1K_COPY
3135 @deffnx {} BFD_RELOC_OR1K_GLOB_DAT
3136 @deffnx {} BFD_RELOC_OR1K_JMP_SLOT
3137 @deffnx {} BFD_RELOC_OR1K_RELATIVE
3138 @deffnx {} BFD_RELOC_OR1K_TLS_GD_HI16
3139 @deffnx {} BFD_RELOC_OR1K_TLS_GD_LO16
3140 @deffnx {} BFD_RELOC_OR1K_TLS_LDM_HI16
3141 @deffnx {} BFD_RELOC_OR1K_TLS_LDM_LO16
3142 @deffnx {} BFD_RELOC_OR1K_TLS_LDO_HI16
3143 @deffnx {} BFD_RELOC_OR1K_TLS_LDO_LO16
3144 @deffnx {} BFD_RELOC_OR1K_TLS_IE_HI16
3145 @deffnx {} BFD_RELOC_OR1K_TLS_IE_LO16
3146 @deffnx {} BFD_RELOC_OR1K_TLS_LE_HI16
3147 @deffnx {} BFD_RELOC_OR1K_TLS_LE_LO16
3148 @deffnx {} BFD_RELOC_OR1K_TLS_TPOFF
3149 @deffnx {} BFD_RELOC_OR1K_TLS_DTPOFF
3150 @deffnx {} BFD_RELOC_OR1K_TLS_DTPMOD
3151 OpenRISC 1000 Relocations.
3152 @end deffn
3153 @deffn {} BFD_RELOC_H8_DIR16A8
3154 @deffnx {} BFD_RELOC_H8_DIR16R8
3155 @deffnx {} BFD_RELOC_H8_DIR24A8
3156 @deffnx {} BFD_RELOC_H8_DIR24R8
3157 @deffnx {} BFD_RELOC_H8_DIR32A16
3158 @deffnx {} BFD_RELOC_H8_DISP32A16
3159 H8 elf Relocations.
3160 @end deffn
3161 @deffn {} BFD_RELOC_XSTORMY16_REL_12
3162 @deffnx {} BFD_RELOC_XSTORMY16_12
3163 @deffnx {} BFD_RELOC_XSTORMY16_24
3164 @deffnx {} BFD_RELOC_XSTORMY16_FPTR16
3165 Sony Xstormy16 Relocations.
3166 @end deffn
3167 @deffn {} BFD_RELOC_RELC
3168 Self-describing complex relocations.
3169 @end deffn
3170 @deffn {} BFD_RELOC_XC16X_PAG
3171 @deffnx {} BFD_RELOC_XC16X_POF
3172 @deffnx {} BFD_RELOC_XC16X_SEG
3173 @deffnx {} BFD_RELOC_XC16X_SOF
3174 Infineon Relocations.
3175 @end deffn
3176 @deffn {} BFD_RELOC_VAX_GLOB_DAT
3177 @deffnx {} BFD_RELOC_VAX_JMP_SLOT
3178 @deffnx {} BFD_RELOC_VAX_RELATIVE
3179 Relocations used by VAX ELF.
3180 @end deffn
3181 @deffn {} BFD_RELOC_MT_PC16
3182 Morpho MT - 16 bit immediate relocation.
3183 @end deffn
3184 @deffn {} BFD_RELOC_MT_HI16
3185 Morpho MT - Hi 16 bits of an address.
3186 @end deffn
3187 @deffn {} BFD_RELOC_MT_LO16
3188 Morpho MT - Low 16 bits of an address.
3189 @end deffn
3190 @deffn {} BFD_RELOC_MT_GNU_VTINHERIT
3191 Morpho MT - Used to tell the linker which vtable entries are used.
3192 @end deffn
3193 @deffn {} BFD_RELOC_MT_GNU_VTENTRY
3194 Morpho MT - Used to tell the linker which vtable entries are used.
3195 @end deffn
3196 @deffn {} BFD_RELOC_MT_PCINSN8
3197 Morpho MT - 8 bit immediate relocation.
3198 @end deffn
3199 @deffn {} BFD_RELOC_MSP430_10_PCREL
3200 @deffnx {} BFD_RELOC_MSP430_16_PCREL
3201 @deffnx {} BFD_RELOC_MSP430_16
3202 @deffnx {} BFD_RELOC_MSP430_16_PCREL_BYTE
3203 @deffnx {} BFD_RELOC_MSP430_16_BYTE
3204 @deffnx {} BFD_RELOC_MSP430_2X_PCREL
3205 @deffnx {} BFD_RELOC_MSP430_RL_PCREL
3206 @deffnx {} BFD_RELOC_MSP430_ABS8
3207 @deffnx {} BFD_RELOC_MSP430X_PCR20_EXT_SRC
3208 @deffnx {} BFD_RELOC_MSP430X_PCR20_EXT_DST
3209 @deffnx {} BFD_RELOC_MSP430X_PCR20_EXT_ODST
3210 @deffnx {} BFD_RELOC_MSP430X_ABS20_EXT_SRC
3211 @deffnx {} BFD_RELOC_MSP430X_ABS20_EXT_DST
3212 @deffnx {} BFD_RELOC_MSP430X_ABS20_EXT_ODST
3213 @deffnx {} BFD_RELOC_MSP430X_ABS20_ADR_SRC
3214 @deffnx {} BFD_RELOC_MSP430X_ABS20_ADR_DST
3215 @deffnx {} BFD_RELOC_MSP430X_PCR16
3216 @deffnx {} BFD_RELOC_MSP430X_PCR20_CALL
3217 @deffnx {} BFD_RELOC_MSP430X_ABS16
3218 @deffnx {} BFD_RELOC_MSP430_ABS_HI16
3219 @deffnx {} BFD_RELOC_MSP430_PREL31
3220 @deffnx {} BFD_RELOC_MSP430_SYM_DIFF
3221 msp430 specific relocation codes
3222 @end deffn
3223 @deffn {} BFD_RELOC_NIOS2_S16
3224 @deffnx {} BFD_RELOC_NIOS2_U16
3225 @deffnx {} BFD_RELOC_NIOS2_CALL26
3226 @deffnx {} BFD_RELOC_NIOS2_IMM5
3227 @deffnx {} BFD_RELOC_NIOS2_CACHE_OPX
3228 @deffnx {} BFD_RELOC_NIOS2_IMM6
3229 @deffnx {} BFD_RELOC_NIOS2_IMM8
3230 @deffnx {} BFD_RELOC_NIOS2_HI16
3231 @deffnx {} BFD_RELOC_NIOS2_LO16
3232 @deffnx {} BFD_RELOC_NIOS2_HIADJ16
3233 @deffnx {} BFD_RELOC_NIOS2_GPREL
3234 @deffnx {} BFD_RELOC_NIOS2_UJMP
3235 @deffnx {} BFD_RELOC_NIOS2_CJMP
3236 @deffnx {} BFD_RELOC_NIOS2_CALLR
3237 @deffnx {} BFD_RELOC_NIOS2_ALIGN
3238 @deffnx {} BFD_RELOC_NIOS2_GOT16
3239 @deffnx {} BFD_RELOC_NIOS2_CALL16
3240 @deffnx {} BFD_RELOC_NIOS2_GOTOFF_LO
3241 @deffnx {} BFD_RELOC_NIOS2_GOTOFF_HA
3242 @deffnx {} BFD_RELOC_NIOS2_PCREL_LO
3243 @deffnx {} BFD_RELOC_NIOS2_PCREL_HA
3244 @deffnx {} BFD_RELOC_NIOS2_TLS_GD16
3245 @deffnx {} BFD_RELOC_NIOS2_TLS_LDM16
3246 @deffnx {} BFD_RELOC_NIOS2_TLS_LDO16
3247 @deffnx {} BFD_RELOC_NIOS2_TLS_IE16
3248 @deffnx {} BFD_RELOC_NIOS2_TLS_LE16
3249 @deffnx {} BFD_RELOC_NIOS2_TLS_DTPMOD
3250 @deffnx {} BFD_RELOC_NIOS2_TLS_DTPREL
3251 @deffnx {} BFD_RELOC_NIOS2_TLS_TPREL
3252 @deffnx {} BFD_RELOC_NIOS2_COPY
3253 @deffnx {} BFD_RELOC_NIOS2_GLOB_DAT
3254 @deffnx {} BFD_RELOC_NIOS2_JUMP_SLOT
3255 @deffnx {} BFD_RELOC_NIOS2_RELATIVE
3256 @deffnx {} BFD_RELOC_NIOS2_GOTOFF
3257 @deffnx {} BFD_RELOC_NIOS2_CALL26_NOAT
3258 @deffnx {} BFD_RELOC_NIOS2_GOT_LO
3259 @deffnx {} BFD_RELOC_NIOS2_GOT_HA
3260 @deffnx {} BFD_RELOC_NIOS2_CALL_LO
3261 @deffnx {} BFD_RELOC_NIOS2_CALL_HA
3262 Relocations used by the Altera Nios II core.
3263 @end deffn
3264 @deffn {} BFD_RELOC_IQ2000_OFFSET_16
3265 @deffnx {} BFD_RELOC_IQ2000_OFFSET_21
3266 @deffnx {} BFD_RELOC_IQ2000_UHI16
3267 IQ2000 Relocations.
3268 @end deffn
3269 @deffn {} BFD_RELOC_XTENSA_RTLD
3270 Special Xtensa relocation used only by PLT entries in ELF shared
3271 objects to indicate that the runtime linker should set the value
3272 to one of its own internal functions or data structures.
3273 @end deffn
3274 @deffn {} BFD_RELOC_XTENSA_GLOB_DAT
3275 @deffnx {} BFD_RELOC_XTENSA_JMP_SLOT
3276 @deffnx {} BFD_RELOC_XTENSA_RELATIVE
3277 Xtensa relocations for ELF shared objects.
3278 @end deffn
3279 @deffn {} BFD_RELOC_XTENSA_PLT
3280 Xtensa relocation used in ELF object files for symbols that may require
3281 PLT entries.  Otherwise, this is just a generic 32-bit relocation.
3282 @end deffn
3283 @deffn {} BFD_RELOC_XTENSA_DIFF8
3284 @deffnx {} BFD_RELOC_XTENSA_DIFF16
3285 @deffnx {} BFD_RELOC_XTENSA_DIFF32
3286 Xtensa relocations to mark the difference of two local symbols.
3287 These are only needed to support linker relaxation and can be ignored
3288 when not relaxing.  The field is set to the value of the difference
3289 assuming no relaxation.  The relocation encodes the position of the
3290 first symbol so the linker can determine whether to adjust the field
3291 value.
3292 @end deffn
3293 @deffn {} BFD_RELOC_XTENSA_SLOT0_OP
3294 @deffnx {} BFD_RELOC_XTENSA_SLOT1_OP
3295 @deffnx {} BFD_RELOC_XTENSA_SLOT2_OP
3296 @deffnx {} BFD_RELOC_XTENSA_SLOT3_OP
3297 @deffnx {} BFD_RELOC_XTENSA_SLOT4_OP
3298 @deffnx {} BFD_RELOC_XTENSA_SLOT5_OP
3299 @deffnx {} BFD_RELOC_XTENSA_SLOT6_OP
3300 @deffnx {} BFD_RELOC_XTENSA_SLOT7_OP
3301 @deffnx {} BFD_RELOC_XTENSA_SLOT8_OP
3302 @deffnx {} BFD_RELOC_XTENSA_SLOT9_OP
3303 @deffnx {} BFD_RELOC_XTENSA_SLOT10_OP
3304 @deffnx {} BFD_RELOC_XTENSA_SLOT11_OP
3305 @deffnx {} BFD_RELOC_XTENSA_SLOT12_OP
3306 @deffnx {} BFD_RELOC_XTENSA_SLOT13_OP
3307 @deffnx {} BFD_RELOC_XTENSA_SLOT14_OP
3308 Generic Xtensa relocations for instruction operands.  Only the slot
3309 number is encoded in the relocation.  The relocation applies to the
3310 last PC-relative immediate operand, or if there are no PC-relative
3311 immediates, to the last immediate operand.
3312 @end deffn
3313 @deffn {} BFD_RELOC_XTENSA_SLOT0_ALT
3314 @deffnx {} BFD_RELOC_XTENSA_SLOT1_ALT
3315 @deffnx {} BFD_RELOC_XTENSA_SLOT2_ALT
3316 @deffnx {} BFD_RELOC_XTENSA_SLOT3_ALT
3317 @deffnx {} BFD_RELOC_XTENSA_SLOT4_ALT
3318 @deffnx {} BFD_RELOC_XTENSA_SLOT5_ALT
3319 @deffnx {} BFD_RELOC_XTENSA_SLOT6_ALT
3320 @deffnx {} BFD_RELOC_XTENSA_SLOT7_ALT
3321 @deffnx {} BFD_RELOC_XTENSA_SLOT8_ALT
3322 @deffnx {} BFD_RELOC_XTENSA_SLOT9_ALT
3323 @deffnx {} BFD_RELOC_XTENSA_SLOT10_ALT
3324 @deffnx {} BFD_RELOC_XTENSA_SLOT11_ALT
3325 @deffnx {} BFD_RELOC_XTENSA_SLOT12_ALT
3326 @deffnx {} BFD_RELOC_XTENSA_SLOT13_ALT
3327 @deffnx {} BFD_RELOC_XTENSA_SLOT14_ALT
3328 Alternate Xtensa relocations.  Only the slot is encoded in the
3329 relocation.  The meaning of these relocations is opcode-specific.
3330 @end deffn
3331 @deffn {} BFD_RELOC_XTENSA_OP0
3332 @deffnx {} BFD_RELOC_XTENSA_OP1
3333 @deffnx {} BFD_RELOC_XTENSA_OP2
3334 Xtensa relocations for backward compatibility.  These have all been
3335 replaced by BFD_RELOC_XTENSA_SLOT0_OP.
3336 @end deffn
3337 @deffn {} BFD_RELOC_XTENSA_ASM_EXPAND
3338 Xtensa relocation to mark that the assembler expanded the
3339 instructions from an original target.  The expansion size is
3340 encoded in the reloc size.
3341 @end deffn
3342 @deffn {} BFD_RELOC_XTENSA_ASM_SIMPLIFY
3343 Xtensa relocation to mark that the linker should simplify
3344 assembler-expanded instructions.  This is commonly used
3345 internally by the linker after analysis of a
3346 BFD_RELOC_XTENSA_ASM_EXPAND.
3347 @end deffn
3348 @deffn {} BFD_RELOC_XTENSA_TLSDESC_FN
3349 @deffnx {} BFD_RELOC_XTENSA_TLSDESC_ARG
3350 @deffnx {} BFD_RELOC_XTENSA_TLS_DTPOFF
3351 @deffnx {} BFD_RELOC_XTENSA_TLS_TPOFF
3352 @deffnx {} BFD_RELOC_XTENSA_TLS_FUNC
3353 @deffnx {} BFD_RELOC_XTENSA_TLS_ARG
3354 @deffnx {} BFD_RELOC_XTENSA_TLS_CALL
3355 Xtensa TLS relocations.
3356 @end deffn
3357 @deffn {} BFD_RELOC_Z80_DISP8
3358 8 bit signed offset in (ix+d) or (iy+d).
3359 @end deffn
3360 @deffn {} BFD_RELOC_Z8K_DISP7
3361 DJNZ offset.
3362 @end deffn
3363 @deffn {} BFD_RELOC_Z8K_CALLR
3364 CALR offset.
3365 @end deffn
3366 @deffn {} BFD_RELOC_Z8K_IMM4L
3367 4 bit value.
3368 @end deffn
3369 @deffn {} BFD_RELOC_LM32_CALL
3370 @deffnx {} BFD_RELOC_LM32_BRANCH
3371 @deffnx {} BFD_RELOC_LM32_16_GOT
3372 @deffnx {} BFD_RELOC_LM32_GOTOFF_HI16
3373 @deffnx {} BFD_RELOC_LM32_GOTOFF_LO16
3374 @deffnx {} BFD_RELOC_LM32_COPY
3375 @deffnx {} BFD_RELOC_LM32_GLOB_DAT
3376 @deffnx {} BFD_RELOC_LM32_JMP_SLOT
3377 @deffnx {} BFD_RELOC_LM32_RELATIVE
3378 Lattice Mico32 relocations.
3379 @end deffn
3380 @deffn {} BFD_RELOC_MACH_O_SECTDIFF
3381 Difference between two section addreses.  Must be followed by a
3382 BFD_RELOC_MACH_O_PAIR.
3383 @end deffn
3384 @deffn {} BFD_RELOC_MACH_O_LOCAL_SECTDIFF
3385 Like BFD_RELOC_MACH_O_SECTDIFF but with a local symbol.
3386 @end deffn
3387 @deffn {} BFD_RELOC_MACH_O_PAIR
3388 Pair of relocation.  Contains the first symbol.
3389 @end deffn
3390 @deffn {} BFD_RELOC_MACH_O_X86_64_BRANCH32
3391 @deffnx {} BFD_RELOC_MACH_O_X86_64_BRANCH8
3392 PCREL relocations.  They are marked as branch to create PLT entry if
3393 required.
3394 @end deffn
3395 @deffn {} BFD_RELOC_MACH_O_X86_64_GOT
3396 Used when referencing a GOT entry.
3397 @end deffn
3398 @deffn {} BFD_RELOC_MACH_O_X86_64_GOT_LOAD
3399 Used when loading a GOT entry with movq.  It is specially marked so that
3400 the linker could optimize the movq to a leaq if possible.
3401 @end deffn
3402 @deffn {} BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32
3403 Symbol will be substracted.  Must be followed by a BFD_RELOC_64.
3404 @end deffn
3405 @deffn {} BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64
3406 Symbol will be substracted.  Must be followed by a BFD_RELOC_64.
3407 @end deffn
3408 @deffn {} BFD_RELOC_MACH_O_X86_64_PCREL32_1
3409 Same as BFD_RELOC_32_PCREL but with an implicit -1 addend.
3410 @end deffn
3411 @deffn {} BFD_RELOC_MACH_O_X86_64_PCREL32_2
3412 Same as BFD_RELOC_32_PCREL but with an implicit -2 addend.
3413 @end deffn
3414 @deffn {} BFD_RELOC_MACH_O_X86_64_PCREL32_4
3415 Same as BFD_RELOC_32_PCREL but with an implicit -4 addend.
3416 @end deffn
3417 @deffn {} BFD_RELOC_MICROBLAZE_32_LO
3418 This is a 32 bit reloc for the microblaze that stores the
3419 low 16 bits of a value
3420 @end deffn
3421 @deffn {} BFD_RELOC_MICROBLAZE_32_LO_PCREL
3422 This is a 32 bit pc-relative reloc for the microblaze that
3423 stores the low 16 bits of a value
3424 @end deffn
3425 @deffn {} BFD_RELOC_MICROBLAZE_32_ROSDA
3426 This is a 32 bit reloc for the microblaze that stores a
3427 value relative to the read-only small data area anchor
3428 @end deffn
3429 @deffn {} BFD_RELOC_MICROBLAZE_32_RWSDA
3430 This is a 32 bit reloc for the microblaze that stores a
3431 value relative to the read-write small data area anchor
3432 @end deffn
3433 @deffn {} BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM
3434 This is a 32 bit reloc for the microblaze to handle
3435 expressions of the form "Symbol Op Symbol"
3436 @end deffn
3437 @deffn {} BFD_RELOC_MICROBLAZE_64_NONE
3438 This is a 64 bit reloc that stores the 32 bit pc relative
3439 value in two words (with an imm instruction).  No relocation is
3440 done here - only used for relaxing
3441 @end deffn
3442 @deffn {} BFD_RELOC_MICROBLAZE_64_GOTPC
3443 This is a 64 bit reloc that stores the 32 bit pc relative
3444 value in two words (with an imm instruction).  The relocation is
3445 PC-relative GOT offset
3446 @end deffn
3447 @deffn {} BFD_RELOC_MICROBLAZE_64_GOT
3448 This is a 64 bit reloc that stores the 32 bit pc relative
3449 value in two words (with an imm instruction).  The relocation is
3450 GOT offset
3451 @end deffn
3452 @deffn {} BFD_RELOC_MICROBLAZE_64_PLT
3453 This is a 64 bit reloc that stores the 32 bit pc relative
3454 value in two words (with an imm instruction).  The relocation is
3455 PC-relative offset into PLT
3456 @end deffn
3457 @deffn {} BFD_RELOC_MICROBLAZE_64_GOTOFF
3458 This is a 64 bit reloc that stores the 32 bit GOT relative
3459 value in two words (with an imm instruction).  The relocation is
3460 relative offset from _GLOBAL_OFFSET_TABLE_
3461 @end deffn
3462 @deffn {} BFD_RELOC_MICROBLAZE_32_GOTOFF
3463 This is a 32 bit reloc that stores the 32 bit GOT relative
3464 value in a word.  The relocation is relative offset from
3465 @end deffn
3466 @deffn {} BFD_RELOC_MICROBLAZE_COPY
3467 This is used to tell the dynamic linker to copy the value out of
3468 the dynamic object into the runtime process image.
3469 @end deffn
3470 @deffn {} BFD_RELOC_MICROBLAZE_64_TLS
3471 Unused Reloc
3472 @end deffn
3473 @deffn {} BFD_RELOC_MICROBLAZE_64_TLSGD
3474 This is a 64 bit reloc that stores the 32 bit GOT relative value
3475 of the GOT TLS GD info entry in two words (with an imm instruction). The
3476 relocation is GOT offset.
3477 @end deffn
3478 @deffn {} BFD_RELOC_MICROBLAZE_64_TLSLD
3479 This is a 64 bit reloc that stores the 32 bit GOT relative value
3480 of the GOT TLS LD info entry in two words (with an imm instruction). The
3481 relocation is GOT offset.
3482 @end deffn
3483 @deffn {} BFD_RELOC_MICROBLAZE_32_TLSDTPMOD
3484 This is a 32 bit reloc that stores the Module ID to GOT(n).
3485 @end deffn
3486 @deffn {} BFD_RELOC_MICROBLAZE_32_TLSDTPREL
3487 This is a 32 bit reloc that stores TLS offset to GOT(n+1).
3488 @end deffn
3489 @deffn {} BFD_RELOC_MICROBLAZE_64_TLSDTPREL
3490 This is a 32 bit reloc for storing TLS offset to two words (uses imm
3491 instruction)
3492 @end deffn
3493 @deffn {} BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL
3494 This is a 64 bit reloc that stores 32-bit thread pointer relative offset
3495 to two words (uses imm instruction).
3496 @end deffn
3497 @deffn {} BFD_RELOC_MICROBLAZE_64_TLSTPREL
3498 This is a 64 bit reloc that stores 32-bit thread pointer relative offset
3499 to two words (uses imm instruction).
3500 @end deffn
3501 @deffn {} BFD_RELOC_AARCH64_RELOC_START
3502 AArch64 pseudo relocation code to mark the start of the AArch64
3503 relocation enumerators.  N.B. the order of the enumerators is
3504 important as several tables in the AArch64 bfd backend are indexed
3505 by these enumerators; make sure they are all synced.
3506 @end deffn
3507 @deffn {} BFD_RELOC_AARCH64_NONE
3508 AArch64 null relocation code.
3509 @end deffn
3510 @deffn {} BFD_RELOC_AARCH64_64
3511 @deffnx {} BFD_RELOC_AARCH64_32
3512 @deffnx {} BFD_RELOC_AARCH64_16
3513 Basic absolute relocations of N bits.  These are equivalent to
3514 BFD_RELOC_N and they were added to assist the indexing of the howto
3515 table.
3516 @end deffn
3517 @deffn {} BFD_RELOC_AARCH64_64_PCREL
3518 @deffnx {} BFD_RELOC_AARCH64_32_PCREL
3519 @deffnx {} BFD_RELOC_AARCH64_16_PCREL
3520 PC-relative relocations.  These are equivalent to BFD_RELOC_N_PCREL
3521 and they were added to assist the indexing of the howto table.
3522 @end deffn
3523 @deffn {} BFD_RELOC_AARCH64_MOVW_G0
3524 AArch64 MOV[NZK] instruction with most significant bits 0 to 15
3525 of an unsigned address/value.
3526 @end deffn
3527 @deffn {} BFD_RELOC_AARCH64_MOVW_G0_NC
3528 AArch64 MOV[NZK] instruction with less significant bits 0 to 15 of
3529 an address/value.  No overflow checking.
3530 @end deffn
3531 @deffn {} BFD_RELOC_AARCH64_MOVW_G1
3532 AArch64 MOV[NZK] instruction with most significant bits 16 to 31
3533 of an unsigned address/value.
3534 @end deffn
3535 @deffn {} BFD_RELOC_AARCH64_MOVW_G1_NC
3536 AArch64 MOV[NZK] instruction with less significant bits 16 to 31
3537 of an address/value.  No overflow checking.
3538 @end deffn
3539 @deffn {} BFD_RELOC_AARCH64_MOVW_G2
3540 AArch64 MOV[NZK] instruction with most significant bits 32 to 47
3541 of an unsigned address/value.
3542 @end deffn
3543 @deffn {} BFD_RELOC_AARCH64_MOVW_G2_NC
3544 AArch64 MOV[NZK] instruction with less significant bits 32 to 47
3545 of an address/value.  No overflow checking.
3546 @end deffn
3547 @deffn {} BFD_RELOC_AARCH64_MOVW_G3
3548 AArch64 MOV[NZK] instruction with most signficant bits 48 to 64
3549 of a signed or unsigned address/value.
3550 @end deffn
3551 @deffn {} BFD_RELOC_AARCH64_MOVW_G0_S
3552 AArch64 MOV[NZ] instruction with most significant bits 0 to 15
3553 of a signed value.  Changes instruction to MOVZ or MOVN depending on the
3554 value's sign.
3555 @end deffn
3556 @deffn {} BFD_RELOC_AARCH64_MOVW_G1_S
3557 AArch64 MOV[NZ] instruction with most significant bits 16 to 31
3558 of a signed value.  Changes instruction to MOVZ or MOVN depending on the
3559 value's sign.
3560 @end deffn
3561 @deffn {} BFD_RELOC_AARCH64_MOVW_G2_S
3562 AArch64 MOV[NZ] instruction with most significant bits 32 to 47
3563 of a signed value.  Changes instruction to MOVZ or MOVN depending on the
3564 value's sign.
3565 @end deffn
3566 @deffn {} BFD_RELOC_AARCH64_LD_LO19_PCREL
3567 AArch64 Load Literal instruction, holding a 19 bit pc-relative word
3568 offset.  The lowest two bits must be zero and are not stored in the
3569 instruction, giving a 21 bit signed byte offset.
3570 @end deffn
3571 @deffn {} BFD_RELOC_AARCH64_ADR_LO21_PCREL
3572 AArch64 ADR instruction, holding a simple 21 bit pc-relative byte offset.
3573 @end deffn
3574 @deffn {} BFD_RELOC_AARCH64_ADR_HI21_PCREL
3575 AArch64 ADRP instruction, with bits 12 to 32 of a pc-relative page
3576 offset, giving a 4KB aligned page base address.
3577 @end deffn
3578 @deffn {} BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL
3579 AArch64 ADRP instruction, with bits 12 to 32 of a pc-relative page
3580 offset, giving a 4KB aligned page base address, but with no overflow
3581 checking.
3582 @end deffn
3583 @deffn {} BFD_RELOC_AARCH64_ADD_LO12
3584 AArch64 ADD immediate instruction, holding bits 0 to 11 of the address.
3585 Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL.
3586 @end deffn
3587 @deffn {} BFD_RELOC_AARCH64_LDST8_LO12
3588 AArch64 8-bit load/store instruction, holding bits 0 to 11 of the
3589 address.  Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL.
3590 @end deffn
3591 @deffn {} BFD_RELOC_AARCH64_TSTBR14
3592 AArch64 14 bit pc-relative test bit and branch.
3593 The lowest two bits must be zero and are not stored in the instruction,
3594 giving a 16 bit signed byte offset.
3595 @end deffn
3596 @deffn {} BFD_RELOC_AARCH64_BRANCH19
3597 AArch64 19 bit pc-relative conditional branch and compare & branch.
3598 The lowest two bits must be zero and are not stored in the instruction,
3599 giving a 21 bit signed byte offset.
3600 @end deffn
3601 @deffn {} BFD_RELOC_AARCH64_JUMP26
3602 AArch64 26 bit pc-relative unconditional branch.
3603 The lowest two bits must be zero and are not stored in the instruction,
3604 giving a 28 bit signed byte offset.
3605 @end deffn
3606 @deffn {} BFD_RELOC_AARCH64_CALL26
3607 AArch64 26 bit pc-relative unconditional branch and link.
3608 The lowest two bits must be zero and are not stored in the instruction,
3609 giving a 28 bit signed byte offset.
3610 @end deffn
3611 @deffn {} BFD_RELOC_AARCH64_LDST16_LO12
3612 AArch64 16-bit load/store instruction, holding bits 0 to 11 of the
3613 address.  Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL.
3614 @end deffn
3615 @deffn {} BFD_RELOC_AARCH64_LDST32_LO12
3616 AArch64 32-bit load/store instruction, holding bits 0 to 11 of the
3617 address.  Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL.
3618 @end deffn
3619 @deffn {} BFD_RELOC_AARCH64_LDST64_LO12
3620 AArch64 64-bit load/store instruction, holding bits 0 to 11 of the
3621 address.  Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL.
3622 @end deffn
3623 @deffn {} BFD_RELOC_AARCH64_LDST128_LO12
3624 AArch64 128-bit load/store instruction, holding bits 0 to 11 of the
3625 address.  Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL.
3626 @end deffn
3627 @deffn {} BFD_RELOC_AARCH64_GOT_LD_PREL19
3628 AArch64 Load Literal instruction, holding a 19 bit PC relative word
3629 offset of the global offset table entry for a symbol.  The lowest two
3630 bits must be zero and are not stored in the instruction, giving a 21
3631 bit signed byte offset.  This relocation type requires signed overflow
3632 checking.
3633 @end deffn
3634 @deffn {} BFD_RELOC_AARCH64_ADR_GOT_PAGE
3635 Get to the page base of the global offset table entry for a symbol as
3636 part of an ADRP instruction using a 21 bit PC relative value.Used in
3637 conjunction with BFD_RELOC_AARCH64_LD64_GOT_LO12_NC.
3638 @end deffn
3639 @deffn {} BFD_RELOC_AARCH64_LD64_GOT_LO12_NC
3640 Unsigned 12 bit byte offset for 64 bit load/store from the page of
3641 the GOT entry for this symbol.  Used in conjunction with
3642 BFD_RELOC_AARCH64_ADR_GOTPAGE.  Valid in LP64 ABI only.
3643 @end deffn
3644 @deffn {} BFD_RELOC_AARCH64_LD32_GOT_LO12_NC
3645 Unsigned 12 bit byte offset for 32 bit load/store from the page of
3646 the GOT entry for this symbol.  Used in conjunction with
3647 BFD_RELOC_AARCH64_ADR_GOTPAGE.  Valid in ILP32 ABI only.
3648 @end deffn
3649 @deffn {} BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21
3650 Get to the page base of the global offset table entry for a symbols
3651 tls_index structure as part of an adrp instruction using a 21 bit PC
3652 relative value.  Used in conjunction with
3653 BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC.
3654 @end deffn
3655 @deffn {} BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC
3656 Unsigned 12 bit byte offset to global offset table entry for a symbols
3657 tls_index structure.  Used in conjunction with
3658 BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21.
3659 @end deffn
3660 @deffn {} BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1
3661 AArch64 TLS INITIAL EXEC relocation.
3662 @end deffn
3663 @deffn {} BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC
3664 AArch64 TLS INITIAL EXEC relocation.
3665 @end deffn
3666 @deffn {} BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21
3667 AArch64 TLS INITIAL EXEC relocation.
3668 @end deffn
3669 @deffn {} BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC
3670 AArch64 TLS INITIAL EXEC relocation.
3671 @end deffn
3672 @deffn {} BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC
3673 AArch64 TLS INITIAL EXEC relocation.
3674 @end deffn
3675 @deffn {} BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19
3676 AArch64 TLS INITIAL EXEC relocation.
3677 @end deffn
3678 @deffn {} BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2
3679 AArch64 TLS LOCAL EXEC relocation.
3680 @end deffn
3681 @deffn {} BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1
3682 AArch64 TLS LOCAL EXEC relocation.
3683 @end deffn
3684 @deffn {} BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC
3685 AArch64 TLS LOCAL EXEC relocation.
3686 @end deffn
3687 @deffn {} BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0
3688 AArch64 TLS LOCAL EXEC relocation.
3689 @end deffn
3690 @deffn {} BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC
3691 AArch64 TLS LOCAL EXEC relocation.
3692 @end deffn
3693 @deffn {} BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12
3694 AArch64 TLS LOCAL EXEC relocation.
3695 @end deffn
3696 @deffn {} BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12
3697 AArch64 TLS LOCAL EXEC relocation.
3698 @end deffn
3699 @deffn {} BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC
3700 AArch64 TLS LOCAL EXEC relocation.
3701 @end deffn
3702 @deffn {} BFD_RELOC_AARCH64_TLSDESC_LD_PREL19
3703 AArch64 TLS DESC relocation.
3704 @end deffn
3705 @deffn {} BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21
3706 AArch64 TLS DESC relocation.
3707 @end deffn
3708 @deffn {} BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21
3709 AArch64 TLS DESC relocation.
3710 @end deffn
3711 @deffn {} BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC
3712 AArch64 TLS DESC relocation.
3713 @end deffn
3714 @deffn {} BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC
3715 AArch64 TLS DESC relocation.
3716 @end deffn
3717 @deffn {} BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC
3718 AArch64 TLS DESC relocation.
3719 @end deffn
3720 @deffn {} BFD_RELOC_AARCH64_TLSDESC_OFF_G1
3721 AArch64 TLS DESC relocation.
3722 @end deffn
3723 @deffn {} BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC
3724 AArch64 TLS DESC relocation.
3725 @end deffn
3726 @deffn {} BFD_RELOC_AARCH64_TLSDESC_LDR
3727 AArch64 TLS DESC relocation.
3728 @end deffn
3729 @deffn {} BFD_RELOC_AARCH64_TLSDESC_ADD
3730 AArch64 TLS DESC relocation.
3731 @end deffn
3732 @deffn {} BFD_RELOC_AARCH64_TLSDESC_CALL
3733 AArch64 TLS DESC relocation.
3734 @end deffn
3735 @deffn {} BFD_RELOC_AARCH64_COPY
3736 AArch64 TLS relocation.
3737 @end deffn
3738 @deffn {} BFD_RELOC_AARCH64_GLOB_DAT
3739 AArch64 TLS relocation.
3740 @end deffn
3741 @deffn {} BFD_RELOC_AARCH64_JUMP_SLOT
3742 AArch64 TLS relocation.
3743 @end deffn
3744 @deffn {} BFD_RELOC_AARCH64_RELATIVE
3745 AArch64 TLS relocation.
3746 @end deffn
3747 @deffn {} BFD_RELOC_AARCH64_TLS_DTPMOD
3748 AArch64 TLS relocation.
3749 @end deffn
3750 @deffn {} BFD_RELOC_AARCH64_TLS_DTPREL
3751 AArch64 TLS relocation.
3752 @end deffn
3753 @deffn {} BFD_RELOC_AARCH64_TLS_TPREL
3754 AArch64 TLS relocation.
3755 @end deffn
3756 @deffn {} BFD_RELOC_AARCH64_TLSDESC
3757 AArch64 TLS relocation.
3758 @end deffn
3759 @deffn {} BFD_RELOC_AARCH64_IRELATIVE
3760 AArch64 support for STT_GNU_IFUNC.
3761 @end deffn
3762 @deffn {} BFD_RELOC_AARCH64_RELOC_END
3763 AArch64 pseudo relocation code to mark the end of the AArch64
3764 relocation enumerators that have direct mapping to ELF reloc codes.
3765 There are a few more enumerators after this one; those are mainly
3766 used by the AArch64 assembler for the internal fixup or to select
3767 one of the above enumerators.
3768 @end deffn
3769 @deffn {} BFD_RELOC_AARCH64_GAS_INTERNAL_FIXUP
3770 AArch64 pseudo relocation code to be used internally by the AArch64
3771 assembler and not (currently) written to any object files.
3772 @end deffn
3773 @deffn {} BFD_RELOC_AARCH64_LDST_LO12
3774 AArch64 unspecified load/store instruction, holding bits 0 to 11 of the
3775 address.  Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL.
3776 @end deffn
3777 @deffn {} BFD_RELOC_AARCH64_LD_GOT_LO12_NC
3778 AArch64 pseudo relocation code to be used internally by the AArch64
3779 assembler and not (currently) written to any object files.
3780 @end deffn
3781 @deffn {} BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC
3782 AArch64 pseudo relocation code to be used internally by the AArch64
3783 assembler and not (currently) written to any object files.
3784 @end deffn
3785 @deffn {} BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC
3786 AArch64 pseudo relocation code to be used internally by the AArch64
3787 assembler and not (currently) written to any object files.
3788 @end deffn
3789 @deffn {} BFD_RELOC_TILEPRO_COPY
3790 @deffnx {} BFD_RELOC_TILEPRO_GLOB_DAT
3791 @deffnx {} BFD_RELOC_TILEPRO_JMP_SLOT
3792 @deffnx {} BFD_RELOC_TILEPRO_RELATIVE
3793 @deffnx {} BFD_RELOC_TILEPRO_BROFF_X1
3794 @deffnx {} BFD_RELOC_TILEPRO_JOFFLONG_X1
3795 @deffnx {} BFD_RELOC_TILEPRO_JOFFLONG_X1_PLT
3796 @deffnx {} BFD_RELOC_TILEPRO_IMM8_X0
3797 @deffnx {} BFD_RELOC_TILEPRO_IMM8_Y0
3798 @deffnx {} BFD_RELOC_TILEPRO_IMM8_X1
3799 @deffnx {} BFD_RELOC_TILEPRO_IMM8_Y1
3800 @deffnx {} BFD_RELOC_TILEPRO_DEST_IMM8_X1
3801 @deffnx {} BFD_RELOC_TILEPRO_MT_IMM15_X1
3802 @deffnx {} BFD_RELOC_TILEPRO_MF_IMM15_X1
3803 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0
3804 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1
3805 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_LO
3806 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_LO
3807 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_HI
3808 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_HI
3809 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_HA
3810 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_HA
3811 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_PCREL
3812 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_PCREL
3813 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_LO_PCREL
3814 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_LO_PCREL
3815 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_HI_PCREL
3816 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_HI_PCREL
3817 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_HA_PCREL
3818 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_HA_PCREL
3819 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_GOT
3820 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_GOT
3821 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_GOT_LO
3822 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_GOT_LO
3823 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_GOT_HI
3824 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_GOT_HI
3825 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_GOT_HA
3826 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_GOT_HA
3827 @deffnx {} BFD_RELOC_TILEPRO_MMSTART_X0
3828 @deffnx {} BFD_RELOC_TILEPRO_MMEND_X0
3829 @deffnx {} BFD_RELOC_TILEPRO_MMSTART_X1
3830 @deffnx {} BFD_RELOC_TILEPRO_MMEND_X1
3831 @deffnx {} BFD_RELOC_TILEPRO_SHAMT_X0
3832 @deffnx {} BFD_RELOC_TILEPRO_SHAMT_X1
3833 @deffnx {} BFD_RELOC_TILEPRO_SHAMT_Y0
3834 @deffnx {} BFD_RELOC_TILEPRO_SHAMT_Y1
3835 @deffnx {} BFD_RELOC_TILEPRO_TLS_GD_CALL
3836 @deffnx {} BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD
3837 @deffnx {} BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD
3838 @deffnx {} BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD
3839 @deffnx {} BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD
3840 @deffnx {} BFD_RELOC_TILEPRO_TLS_IE_LOAD
3841 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD
3842 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD
3843 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_LO
3844 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_LO
3845 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HI
3846 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HI
3847 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HA
3848 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HA
3849 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE
3850 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE
3851 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_LO
3852 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_LO
3853 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HI
3854 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HI
3855 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HA
3856 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HA
3857 @deffnx {} BFD_RELOC_TILEPRO_TLS_DTPMOD32
3858 @deffnx {} BFD_RELOC_TILEPRO_TLS_DTPOFF32
3859 @deffnx {} BFD_RELOC_TILEPRO_TLS_TPOFF32
3860 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE
3861 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE
3862 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO
3863 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO
3864 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI
3865 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI
3866 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA
3867 @deffnx {} BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA
3868 Tilera TILEPro Relocations.
3869 @end deffn
3870 @deffn {} BFD_RELOC_TILEGX_HW0
3871 @deffnx {} BFD_RELOC_TILEGX_HW1
3872 @deffnx {} BFD_RELOC_TILEGX_HW2
3873 @deffnx {} BFD_RELOC_TILEGX_HW3
3874 @deffnx {} BFD_RELOC_TILEGX_HW0_LAST
3875 @deffnx {} BFD_RELOC_TILEGX_HW1_LAST
3876 @deffnx {} BFD_RELOC_TILEGX_HW2_LAST
3877 @deffnx {} BFD_RELOC_TILEGX_COPY
3878 @deffnx {} BFD_RELOC_TILEGX_GLOB_DAT
3879 @deffnx {} BFD_RELOC_TILEGX_JMP_SLOT
3880 @deffnx {} BFD_RELOC_TILEGX_RELATIVE
3881 @deffnx {} BFD_RELOC_TILEGX_BROFF_X1
3882 @deffnx {} BFD_RELOC_TILEGX_JUMPOFF_X1
3883 @deffnx {} BFD_RELOC_TILEGX_JUMPOFF_X1_PLT
3884 @deffnx {} BFD_RELOC_TILEGX_IMM8_X0
3885 @deffnx {} BFD_RELOC_TILEGX_IMM8_Y0
3886 @deffnx {} BFD_RELOC_TILEGX_IMM8_X1
3887 @deffnx {} BFD_RELOC_TILEGX_IMM8_Y1
3888 @deffnx {} BFD_RELOC_TILEGX_DEST_IMM8_X1
3889 @deffnx {} BFD_RELOC_TILEGX_MT_IMM14_X1
3890 @deffnx {} BFD_RELOC_TILEGX_MF_IMM14_X1
3891 @deffnx {} BFD_RELOC_TILEGX_MMSTART_X0
3892 @deffnx {} BFD_RELOC_TILEGX_MMEND_X0
3893 @deffnx {} BFD_RELOC_TILEGX_SHAMT_X0
3894 @deffnx {} BFD_RELOC_TILEGX_SHAMT_X1
3895 @deffnx {} BFD_RELOC_TILEGX_SHAMT_Y0
3896 @deffnx {} BFD_RELOC_TILEGX_SHAMT_Y1
3897 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW0
3898 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW0
3899 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW1
3900 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW1
3901 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW2
3902 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW2
3903 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW3
3904 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW3
3905 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST
3906 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST
3907 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST
3908 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST
3909 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST
3910 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST
3911 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW0_PCREL
3912 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW0_PCREL
3913 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW1_PCREL
3914 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW1_PCREL
3915 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW2_PCREL
3916 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW2_PCREL
3917 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW3_PCREL
3918 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW3_PCREL
3919 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PCREL
3920 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PCREL
3921 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PCREL
3922 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PCREL
3923 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PCREL
3924 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PCREL
3925 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW0_GOT
3926 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW0_GOT
3927 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL
3928 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL
3929 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL
3930 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL
3931 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL
3932 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL
3933 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_GOT
3934 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_GOT
3935 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_GOT
3936 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_GOT
3937 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL
3938 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL
3939 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_GD
3940 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_GD
3941 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE
3942 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE
3943 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE
3944 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE
3945 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE
3946 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE
3947 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_GD
3948 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_GD
3949 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_GD
3950 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_GD
3951 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_IE
3952 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_IE
3953 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL
3954 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL
3955 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL
3956 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL
3957 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL
3958 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL
3959 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_IE
3960 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_IE
3961 @deffnx {} BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_IE
3962 @deffnx {} BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_IE
3963 @deffnx {} BFD_RELOC_TILEGX_TLS_DTPMOD64
3964 @deffnx {} BFD_RELOC_TILEGX_TLS_DTPOFF64
3965 @deffnx {} BFD_RELOC_TILEGX_TLS_TPOFF64
3966 @deffnx {} BFD_RELOC_TILEGX_TLS_DTPMOD32
3967 @deffnx {} BFD_RELOC_TILEGX_TLS_DTPOFF32
3968 @deffnx {} BFD_RELOC_TILEGX_TLS_TPOFF32
3969 @deffnx {} BFD_RELOC_TILEGX_TLS_GD_CALL
3970 @deffnx {} BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD
3971 @deffnx {} BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD
3972 @deffnx {} BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD
3973 @deffnx {} BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD
3974 @deffnx {} BFD_RELOC_TILEGX_TLS_IE_LOAD
3975 @deffnx {} BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD
3976 @deffnx {} BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD
3977 @deffnx {} BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD
3978 @deffnx {} BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD
3979 Tilera TILE-Gx Relocations.
3980 @end deffn
3981 @deffn {} BFD_RELOC_EPIPHANY_SIMM8
3982 Adapteva EPIPHANY - 8 bit signed pc-relative displacement
3983 @end deffn
3984 @deffn {} BFD_RELOC_EPIPHANY_SIMM24
3985 Adapteva EPIPHANY - 24 bit signed pc-relative displacement
3986 @end deffn
3987 @deffn {} BFD_RELOC_EPIPHANY_HIGH
3988 Adapteva EPIPHANY - 16 most-significant bits of absolute address
3989 @end deffn
3990 @deffn {} BFD_RELOC_EPIPHANY_LOW
3991 Adapteva EPIPHANY - 16 least-significant bits of absolute address
3992 @end deffn
3993 @deffn {} BFD_RELOC_EPIPHANY_SIMM11
3994 Adapteva EPIPHANY - 11 bit signed number - add/sub immediate
3995 @end deffn
3996 @deffn {} BFD_RELOC_EPIPHANY_IMM11
3997 Adapteva EPIPHANY - 11 bit sign-magnitude number (ld/st displacement)
3998 @end deffn
3999 @deffn {} BFD_RELOC_EPIPHANY_IMM8
4000 Adapteva EPIPHANY - 8 bit immediate for 16 bit mov instruction.
4001 @end deffn
4002
4003 @example
4004
4005 typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
4006 @end example
4007 @findex bfd_reloc_type_lookup
4008 @subsubsection @code{bfd_reloc_type_lookup}
4009 @strong{Synopsis}
4010 @example
4011 reloc_howto_type *bfd_reloc_type_lookup
4012    (bfd *abfd, bfd_reloc_code_real_type code);
4013 reloc_howto_type *bfd_reloc_name_lookup
4014    (bfd *abfd, const char *reloc_name);
4015 @end example
4016 @strong{Description}@*
4017 Return a pointer to a howto structure which, when
4018 invoked, will perform the relocation @var{code} on data from the
4019 architecture noted.
4020
4021 @findex bfd_default_reloc_type_lookup
4022 @subsubsection @code{bfd_default_reloc_type_lookup}
4023 @strong{Synopsis}
4024 @example
4025 reloc_howto_type *bfd_default_reloc_type_lookup
4026    (bfd *abfd, bfd_reloc_code_real_type  code);
4027 @end example
4028 @strong{Description}@*
4029 Provides a default relocation lookup routine for any architecture.
4030
4031 @findex bfd_get_reloc_code_name
4032 @subsubsection @code{bfd_get_reloc_code_name}
4033 @strong{Synopsis}
4034 @example
4035 const char *bfd_get_reloc_code_name (bfd_reloc_code_real_type code);
4036 @end example
4037 @strong{Description}@*
4038 Provides a printable name for the supplied relocation code.
4039 Useful mainly for printing error messages.
4040
4041 @findex bfd_generic_relax_section
4042 @subsubsection @code{bfd_generic_relax_section}
4043 @strong{Synopsis}
4044 @example
4045 bfd_boolean bfd_generic_relax_section
4046    (bfd *abfd,
4047     asection *section,
4048     struct bfd_link_info *,
4049     bfd_boolean *);
4050 @end example
4051 @strong{Description}@*
4052 Provides default handling for relaxing for back ends which
4053 don't do relaxing.
4054
4055 @findex bfd_generic_gc_sections
4056 @subsubsection @code{bfd_generic_gc_sections}
4057 @strong{Synopsis}
4058 @example
4059 bfd_boolean bfd_generic_gc_sections
4060    (bfd *, struct bfd_link_info *);
4061 @end example
4062 @strong{Description}@*
4063 Provides default handling for relaxing for back ends which
4064 don't do section gc -- i.e., does nothing.
4065
4066 @findex bfd_generic_lookup_section_flags
4067 @subsubsection @code{bfd_generic_lookup_section_flags}
4068 @strong{Synopsis}
4069 @example
4070 bfd_boolean bfd_generic_lookup_section_flags
4071    (struct bfd_link_info *, struct flag_info *, asection *);
4072 @end example
4073 @strong{Description}@*
4074 Provides default handling for section flags lookup
4075 -- i.e., does nothing.
4076 Returns FALSE if the section should be omitted, otherwise TRUE.
4077
4078 @findex bfd_generic_merge_sections
4079 @subsubsection @code{bfd_generic_merge_sections}
4080 @strong{Synopsis}
4081 @example
4082 bfd_boolean bfd_generic_merge_sections
4083    (bfd *, struct bfd_link_info *);
4084 @end example
4085 @strong{Description}@*
4086 Provides default handling for SEC_MERGE section merging for back ends
4087 which don't have SEC_MERGE support -- i.e., does nothing.
4088
4089 @findex bfd_generic_get_relocated_section_contents
4090 @subsubsection @code{bfd_generic_get_relocated_section_contents}
4091 @strong{Synopsis}
4092 @example
4093 bfd_byte *bfd_generic_get_relocated_section_contents
4094    (bfd *abfd,
4095     struct bfd_link_info *link_info,
4096     struct bfd_link_order *link_order,
4097     bfd_byte *data,
4098     bfd_boolean relocatable,
4099     asymbol **symbols);
4100 @end example
4101 @strong{Description}@*
4102 Provides default handling of relocation effort for back ends
4103 which can't be bothered to do it efficiently.
4104