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