Lines Matching refs:howto
522 bfd_reloc_offset_in_range (reloc_howto_type *howto, in bfd_reloc_offset_in_range() argument
528 bfd_size_type reloc_size = bfd_get_reloc_size (howto); in bfd_reloc_offset_in_range()
540 read_reloc (bfd *abfd, bfd_byte *data, reloc_howto_type *howto) in read_reloc() argument
542 switch (bfd_get_reloc_size (howto)) in read_reloc()
574 write_reloc (bfd *abfd, bfd_vma val, bfd_byte *data, reloc_howto_type *howto) in write_reloc() argument
576 switch (bfd_get_reloc_size (howto)) in write_reloc()
612 apply_reloc (bfd *abfd, bfd_byte *data, reloc_howto_type *howto, in apply_reloc() argument
615 bfd_vma val = read_reloc (abfd, data, howto); in apply_reloc()
617 if (howto->negate) in apply_reloc()
620 val = ((val & ~howto->dst_mask) in apply_reloc()
621 | (((val & howto->src_mask) + relocation) & howto->dst_mask)); in apply_reloc()
623 write_reloc (abfd, val, data, howto); in apply_reloc()
669 reloc_howto_type *howto = reloc_entry->howto; in bfd_perform_relocation() local
686 if (howto && howto->special_function) in bfd_perform_relocation()
694 cont = howto->special_function (abfd, reloc_entry, symbol, data, in bfd_perform_relocation()
709 if (howto == NULL) in bfd_perform_relocation()
714 if (!bfd_reloc_offset_in_range (howto, abfd, input_section, octets)) in bfd_perform_relocation()
729 if ((output_bfd && ! howto->partial_inplace) in bfd_perform_relocation()
750 if (howto->pc_relative) in bfd_perform_relocation()
783 if (howto->pcrel_offset) in bfd_perform_relocation()
789 if (! howto->partial_inplace) in bfd_perform_relocation()
897 if (howto->complain_on_overflow != complain_overflow_dont in bfd_perform_relocation()
899 flag = bfd_check_overflow (howto->complain_on_overflow, in bfd_perform_relocation()
900 howto->bitsize, in bfd_perform_relocation()
901 howto->rightshift, in bfd_perform_relocation()
932 relocation >>= (bfd_vma) howto->rightshift; in bfd_perform_relocation()
935 relocation <<= (bfd_vma) howto->bitpos; in bfd_perform_relocation()
971 apply_reloc (abfd, data, howto, relocation); in bfd_perform_relocation()
1009 reloc_howto_type *howto = reloc_entry->howto; in bfd_install_relocation() local
1019 if (howto && howto->special_function) in bfd_install_relocation()
1027 cont = howto->special_function (abfd, reloc_entry, symbol, in bfd_install_relocation()
1036 if (howto->install_addend) in bfd_install_relocation()
1055 if (! howto->partial_inplace) in bfd_install_relocation()
1073 if (howto->pc_relative) in bfd_install_relocation()
1077 if (howto->pcrel_offset && howto->partial_inplace) in bfd_install_relocation()
1082 if (!howto->partial_inplace) in bfd_install_relocation()
1088 if (!howto->install_addend in bfd_install_relocation()
1103 if (!bfd_reloc_offset_in_range (howto, abfd, input_section, octets)) in bfd_install_relocation()
1111 if (howto->complain_on_overflow != complain_overflow_dont) in bfd_install_relocation()
1112 flag = bfd_check_overflow (howto->complain_on_overflow, in bfd_install_relocation()
1113 howto->bitsize, in bfd_install_relocation()
1114 howto->rightshift, in bfd_install_relocation()
1118 relocation >>= (bfd_vma) howto->rightshift; in bfd_install_relocation()
1121 relocation <<= (bfd_vma) howto->bitpos; in bfd_install_relocation()
1124 apply_reloc (abfd, data, howto, relocation); in bfd_install_relocation()
1151 _bfd_final_link_relocate (reloc_howto_type *howto, in _bfd_final_link_relocate() argument
1164 if (!bfd_reloc_offset_in_range (howto, input_bfd, input_section, octets)) in _bfd_final_link_relocate()
1183 if (howto->pc_relative) in _bfd_final_link_relocate()
1187 if (howto->pcrel_offset) in _bfd_final_link_relocate()
1191 return _bfd_relocate_contents (howto, input_bfd, relocation, in _bfd_final_link_relocate()
1198 _bfd_relocate_contents (reloc_howto_type *howto, in _bfd_relocate_contents() argument
1205 unsigned int rightshift = howto->rightshift; in _bfd_relocate_contents()
1206 unsigned int bitpos = howto->bitpos; in _bfd_relocate_contents()
1208 if (howto->negate) in _bfd_relocate_contents()
1212 x = read_reloc (input_bfd, location, howto); in _bfd_relocate_contents()
1219 if (howto->complain_on_overflow != complain_overflow_dont) in _bfd_relocate_contents()
1228 fieldmask = N_ONES (howto->bitsize); in _bfd_relocate_contents()
1233 b = (x & howto->src_mask & addrmask) >> bitpos; in _bfd_relocate_contents()
1236 switch (howto->complain_on_overflow) in _bfd_relocate_contents()
1261 ss = ((~howto->src_mask) >> 1) & howto->src_mask; in _bfd_relocate_contents()
1314 x = ((x & ~howto->dst_mask) in _bfd_relocate_contents()
1315 | (((x & howto->src_mask) + relocation) & howto->dst_mask)); in _bfd_relocate_contents()
1318 write_reloc (input_bfd, x, location, howto); in _bfd_relocate_contents()
1328 _bfd_clear_contents (reloc_howto_type *howto, in _bfd_clear_contents() argument
1337 if (!bfd_reloc_offset_in_range (howto, input_bfd, input_section, off)) in _bfd_clear_contents()
1342 x = read_reloc (input_bfd, location, howto); in _bfd_clear_contents()
1345 x &= ~howto->dst_mask; in _bfd_clear_contents()
1350 && (howto->dst_mask & 1) != 0) in _bfd_clear_contents()
1354 write_reloc (input_bfd, x, location, howto); in _bfd_clear_contents()
8641 _bfd_clear_contents ((*parent)->howto, input_bfd, in bfd_generic_get_relocated_section_contents()
8645 (*parent)->howto = &none_howto; in bfd_generic_get_relocated_section_contents()
8684 (*parent)->howto->name, (*parent)->addend, in bfd_generic_get_relocated_section_contents()