Lines Matching refs:reloc

224    the code in reloc.c assumes that we can manipulate the targets of
242 /* Adjust the reloc address to that in the output section. */
268 /* Internal reloc for relaxing. This is created when a 16-bit pc-relative
281 /* Turn a howto into a reloc number. */
291 /* Code to swap in the reloc. */
379 /* Perform any necessary magic to the addend in a reloc entry. */
384 #define RELOC_PROCESSING(relent,reloc,symbols,abfd,section) \
385 reloc_processing (relent, reloc, symbols, abfd, section)
388 reloc_processing (arelent *relent, struct internal_reloc *reloc,
391 relent->address = reloc->r_vaddr;
392 rtype2howto (relent, reloc);
394 if (((int) reloc->r_symndx) > 0)
395 relent->sym_ptr_ptr = symbols + obj_convert (abfd)[reloc->r_symndx];
399 relent->addend = reloc->r_offset;
431 /* If RELOC represents a relaxable instruction/reloc, change it into
432 the relaxed reloc, notify the linker that symbol addresses
440 h8300_reloc16_estimate (bfd *abfd, asection *input_section, arelent *reloc,
450 the size of the shrink - but we don't change reloc->address here,
453 bfd_vma address = reloc->address - shrink;
459 switch (reloc->howto->type)
466 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
468 /* Get the address of the next instruction (not the reloc). */
473 dot += (reloc->howto->type == R_JMP1 ? 1 : 2);
486 reloc->address, 1))
528 && last_reloc->address + 1 == reloc->address
531 reloc->howto = howto_table + 19;
533 last_reloc->sym_ptr_ptr = reloc->sym_ptr_ptr;
534 last_reloc->addend = reloc->addend;
541 /* Change the reloc type. */
542 reloc->howto = reloc->howto + 1;
555 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section) + 1;
569 /* Change the reloc type. */
570 reloc->howto = howto_table + 15;
582 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
589 /* Change the reloc type. */
590 reloc->howto = reloc->howto + 1;
603 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
608 /* Change the reloc type. */
609 reloc->howto = reloc->howto + 1;
615 /* Done with this reloc. */
619 /* FALLTHROUGH and try to turn the 24-/32-bit reloc into a 16-bit
620 reloc. */
626 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
633 /* Change the reloc type. */
634 reloc->howto = howto_table + 17;
642 /* No other reloc types represent relaxing opportunities. */
647 last_reloc = reloc;
659 struct bfd_link_order *link_order, arelent *reloc,
671 switch (reloc->howto->type)
676 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
688 (link_info, bfd_asymbol_name (*reloc->sym_ptr_ptr),
689 reloc->howto->name, reloc->addend, input_section->owner,
690 input_section, reloc->address)))
706 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
708 /* Get the address of the instruction (not the reloc). */
719 (link_info, bfd_asymbol_name (*reloc->sym_ptr_ptr),
720 reloc->howto->name, reloc->addend, input_section->owner,
721 input_section, reloc->address)))
737 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
750 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
761 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
770 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
789 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
808 (link_info, bfd_asymbol_name (*reloc->sym_ptr_ptr),
809 reloc->howto->name, reloc->addend, input_section->owner,
810 input_section, reloc->address)))
818 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
831 (link_info, bfd_asymbol_name (*reloc->sym_ptr_ptr),
832 reloc->howto->name, reloc->addend, input_section->owner,
833 input_section, reloc->address)))
864 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
866 /* Get the address of the instruction (not the reloc). */
877 (link_info, bfd_asymbol_name (*reloc->sym_ptr_ptr),
878 reloc->howto->name, reloc->addend, input_section->owner,
879 input_section, reloc->address)))
915 /* We don't advance dst_address -- the 8-bit reloc is applied at
924 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
926 /* Get the address of the instruction (not the reloc). */
964 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
1018 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
1064 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
1076 (link_info, bfd_asymbol_name (*reloc->sym_ptr_ptr),
1077 reloc->howto->name, reloc->addend, input_section->owner,
1078 input_section, reloc->address)))
1103 If this is a reloc against the absolute symbol, then
1124 (_("cannot handle R_MEM_INDIRECT reloc when using %s output"),
1138 /* First see if this is a reloc against the absolute symbol
1140 symbol = *(reloc->sym_ptr_ptr);
1141 value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
1148 reloc overflow callback. */
1158 (link_info, bfd_asymbol_name (*reloc->sym_ptr_ptr),
1159 reloc->howto->name, reloc->addend, input_section->owner,
1160 input_section, reloc->address)))
1196 reloc's address. */
1211 bfd_coff_reloc16_get_value (reloc,
1219 bfd_coff_reloc16_get_value (reloc,
1344 arelent *reloc = relocs[i];
1345 asymbol *symbol = *(reloc->sym_ptr_ptr);
1348 /* We've got an indirect reloc. See if we need to add it
1351 by an R_MEM_INDIRECT relocation except for a reloc
1353 if (reloc->howto->type == R_MEM_INDIRECT