Lines Matching refs:reloc_data
1078 debug_arc_reloc (struct arc_relocation_data reloc_data) in debug_arc_reloc() argument
1081 reloc_data.howto->name, in debug_arc_reloc()
1082 reloc_data.should_relocate ? "true" : "false"); in debug_arc_reloc()
1084 (unsigned int) reloc_data.reloc_offset, in debug_arc_reloc()
1085 (unsigned int) reloc_data.reloc_addend); in debug_arc_reloc()
1088 (unsigned int) reloc_data.sym_value); in debug_arc_reloc()
1089 if (reloc_data.sym_section != NULL) in debug_arc_reloc()
1093 reloc_data.sym_section->name, in debug_arc_reloc()
1094 (unsigned int) reloc_data.sym_section->output_offset); in debug_arc_reloc()
1095 if (reloc_data.sym_section->output_section != NULL) in debug_arc_reloc()
1097 ((unsigned int) reloc_data.sym_section->output_section->vma)); in debug_arc_reloc()
1099 if (reloc_data.sym_section->owner in debug_arc_reloc()
1100 && reloc_data.sym_section->owner->filename) in debug_arc_reloc()
1101 ARC_DEBUG (" file: %s\n", reloc_data.sym_section->owner->filename); in debug_arc_reloc()
1109 if (reloc_data.input_section != NULL) in debug_arc_reloc()
1112 reloc_data.input_section->name, in debug_arc_reloc()
1113 (unsigned int) reloc_data.input_section->output_offset, in debug_arc_reloc()
1114 (unsigned int) reloc_data.input_section->output_section->vma); in debug_arc_reloc()
1116 (unsigned int) (reloc_data.input_section->output_section->vma in debug_arc_reloc()
1117 + reloc_data.input_section->output_offset in debug_arc_reloc()
1118 + reloc_data.reloc_offset)); in debug_arc_reloc()
1119 ARC_DEBUG (" file: %s\n", reloc_data.input_section->owner->filename); in debug_arc_reloc()
1147 arc_special_overflow_checks (const struct arc_relocation_data reloc_data, in arc_special_overflow_checks() argument
1151 switch (reloc_data.howto->type) in arc_special_overflow_checks()
1156 if (reloc_data.reloc_addend == 0) in arc_special_overflow_checks()
1161 reloc_data.input_section->owner, in arc_special_overflow_checks()
1162 reloc_data.input_section, in arc_special_overflow_checks()
1163 (uint64_t) reloc_data.reloc_offset, in arc_special_overflow_checks()
1164 reloc_data.symbol_name, in arc_special_overflow_checks()
1172 reloc_data.input_section->owner, in arc_special_overflow_checks()
1173 reloc_data.input_section, in arc_special_overflow_checks()
1174 (uint64_t) reloc_data.reloc_offset, in arc_special_overflow_checks()
1175 reloc_data.symbol_name, in arc_special_overflow_checks()
1176 (uint64_t) reloc_data.reloc_addend, in arc_special_overflow_checks()
1195 #define S ((bfd_signed_vma) (reloc_data.sym_value \
1196 + (reloc_data.sym_section->output_section != NULL ? \
1197 (reloc_data.sym_section->output_offset \
1198 + reloc_data.sym_section->output_section->vma) : 0)))
1199 #define L ((bfd_signed_vma) (reloc_data.sym_value \
1200 + (reloc_data.sym_section->output_section != NULL ? \
1201 (reloc_data.sym_section->output_offset \
1202 + reloc_data.sym_section->output_section->vma) : 0)))
1203 #define A (reloc_data.reloc_addend)
1205 #define G (reloc_data.got_offset_value)
1206 #define GOT (reloc_data.got_symbol_vma)
1214 (reloc_data.input_section->output_section != NULL ? \
1215 reloc_data.input_section->output_section->vma : 0) \
1216 + reloc_data.input_section->output_offset \
1217 + (reloc_data.reloc_offset - (bitsize >= 32 ? 4 : 0))) \
1220 (reloc_data.input_section->output_section->vma \
1221 + reloc_data.input_section->output_offset \
1222 + (reloc_data.reloc_offset))))
1223 #define SECTSTART (bfd_signed_vma) (reloc_data.sym_section->output_section->vma \
1224 + reloc_data.sym_section->output_offset)
1226 (bfd_signed_vma) (reloc_data.sym_section->output_section->vma)
1227 #define JLI (bfd_signed_vma) (reloc_data.sym_section->output_section->vma)
1228 #define _SDA_BASE_ (bfd_signed_vma) (reloc_data.sdata_begin_symbol_vma)
1238 asection *sym_section = reloc_data.sym_section; \
1239 asection *input_section = reloc_data.input_section; \
1261 ARC_DEBUG ("SDA_SET = %d\n", reloc_data.sdata_begin_symbol_vma_set); \
1299 struct arc_relocation_data reloc_data, in arc_do_relocation() argument
1305 bfd * abfd = reloc_data.input_section->owner; in arc_do_relocation()
1310 if (!reloc_data.should_relocate) in arc_do_relocation()
1313 switch (bfd_get_reloc_size (reloc_data.howto)) in arc_do_relocation()
1317 contents + reloc_data.reloc_offset, in arc_do_relocation()
1318 reloc_data.input_section); in arc_do_relocation()
1322 contents + reloc_data.reloc_offset, in arc_do_relocation()
1323 reloc_data.input_section); in arc_do_relocation()
1327 contents + reloc_data.reloc_offset, in arc_do_relocation()
1328 reloc_data.input_section); in arc_do_relocation()
1340 switch (reloc_data.howto->type) in arc_do_relocation()
1352 switch (reloc_data.howto->type) in arc_do_relocation()
1362 if (reloc_data.howto->complain_on_overflow != complain_overflow_dont) in arc_do_relocation()
1363 flag = bfd_check_overflow (reloc_data.howto->complain_on_overflow, in arc_do_relocation()
1364 reloc_data.howto->bitsize, in arc_do_relocation()
1365 reloc_data.howto->rightshift, in arc_do_relocation()
1369 flag = arc_special_overflow_checks (reloc_data, relocation, info); in arc_do_relocation()
1374 DEBUG_ARC_RELOC (reloc_data); in arc_do_relocation()
1383 switch (bfd_get_reloc_size (reloc_data.howto)) in arc_do_relocation()
1387 contents + reloc_data.reloc_offset, in arc_do_relocation()
1388 reloc_data.input_section); in arc_do_relocation()
1392 contents + reloc_data.reloc_offset, in arc_do_relocation()
1393 reloc_data.input_section); in arc_do_relocation()
1397 contents + reloc_data.reloc_offset, in arc_do_relocation()
1398 reloc_data.input_section); in arc_do_relocation()
1401 ARC_DEBUG ("size = %d\n", reloc_data.howto->size); in arc_do_relocation()
1473 struct arc_relocation_data reloc_data = in elf_arc_relocate_section() local
1531 if (!reloc_data.sdata_begin_symbol_vma_set in elf_arc_relocate_section()
1536 reloc_data.sdata_begin_symbol_vma = in elf_arc_relocate_section()
1539 reloc_data.sdata_begin_symbol_vma_set = true; in elf_arc_relocate_section()
1542 reloc_data.input_section = input_section; in elf_arc_relocate_section()
1543 reloc_data.howto = howto; in elf_arc_relocate_section()
1544 reloc_data.reloc_offset = rel->r_offset; in elf_arc_relocate_section()
1545 reloc_data.reloc_addend = rel->r_addend; in elf_arc_relocate_section()
1583 reloc_data.sym_value = h->root.u.def.value; in elf_arc_relocate_section()
1615 reloc_data.sym_value = sym->st_value; in elf_arc_relocate_section()
1616 reloc_data.sym_section = sec; in elf_arc_relocate_section()
1617 reloc_data.symbol_name = in elf_arc_relocate_section()
1635 reloc_data.reloc_addend = rel->r_addend; in elf_arc_relocate_section()
1640 reloc_data.got_symbol_vma = htab->sgot->output_section->vma in elf_arc_relocate_section()
1643 reloc_data.should_relocate = true; in elf_arc_relocate_section()
1668 reloc_data.symbol_name = h->root.root.string; in elf_arc_relocate_section()
1674 reloc_data.sym_value = h->root.u.def.value; in elf_arc_relocate_section()
1675 reloc_data.sym_section = h->root.u.def.section; in elf_arc_relocate_section()
1677 reloc_data.should_relocate = true; in elf_arc_relocate_section()
1686 reloc_data.sym_value + reloc_data.reloc_addend in elf_arc_relocate_section()
1687 + (reloc_data.sym_section->output_section != NULL ? in elf_arc_relocate_section()
1688 (reloc_data.sym_section->output_offset in elf_arc_relocate_section()
1689 + reloc_data.sym_section->output_section->vma) in elf_arc_relocate_section()
1700 reloc_data.sym_value = h->plt.offset; in elf_arc_relocate_section()
1701 reloc_data.sym_section = htab->splt; in elf_arc_relocate_section()
1709 reloc_data.sym_value = h->root.u.def.value; in elf_arc_relocate_section()
1710 reloc_data.sym_section = htab->sgot; in elf_arc_relocate_section()
1711 reloc_data.should_relocate = true; in elf_arc_relocate_section()
1717 reloc_data.sym_value = h->plt.offset; in elf_arc_relocate_section()
1718 reloc_data.sym_section = htab->splt; in elf_arc_relocate_section()
1719 reloc_data.should_relocate = true; in elf_arc_relocate_section()
1728 reloc_data.sym_value = h->root.u.def.value; in elf_arc_relocate_section()
1729 reloc_data.sym_section = htab->sgot; in elf_arc_relocate_section()
1731 reloc_data.should_relocate = true; in elf_arc_relocate_section()
1741 reloc_data.sym_value = h->plt.offset; in elf_arc_relocate_section()
1742 reloc_data.sym_section = htab->splt; in elf_arc_relocate_section()
1744 reloc_data.should_relocate = true; in elf_arc_relocate_section()
1754 reloc_data.got_symbol_vma = htab->sgot->output_section->vma in elf_arc_relocate_section()
1761 reloc_data.should_relocate = true; in elf_arc_relocate_section()
1766 reloc_data.got_offset_value in elf_arc_relocate_section()
1775 &reloc_data); in elf_arc_relocate_section()
1882 && !reloc_data.sdata_begin_symbol_vma_set) in elf_arc_relocate_section()
1890 DEBUG_ARC_RELOC (reloc_data); in elf_arc_relocate_section()
1895 && reloc_data.sym_section == NULL) in elf_arc_relocate_section()
1904 switch (arc_do_relocation (contents, reloc_data, info)) in elf_arc_relocate_section()
1911 (info, (h ? &h->root : NULL), reloc_data.symbol_name, howto->name, (bfd_vma) 0, in elf_arc_relocate_section()
1917 (info, reloc_data.symbol_name, input_bfd, input_section, rel->r_offset, true); in elf_arc_relocate_section()
1947 _bfd_error_handler (msg, input_bfd, input_section, reloc_data.symbol_name); in elf_arc_relocate_section()