Lines Matching refs:howto
517 bfd_reloc_offset_in_range (reloc_howto_type *howto, in bfd_reloc_offset_in_range() argument
523 bfd_size_type reloc_size = bfd_get_reloc_size (howto); in bfd_reloc_offset_in_range()
535 read_reloc (bfd *abfd, bfd_byte *data, reloc_howto_type *howto) in read_reloc() argument
537 switch (bfd_get_reloc_size (howto)) in read_reloc()
569 write_reloc (bfd *abfd, bfd_vma val, bfd_byte *data, reloc_howto_type *howto) in write_reloc() argument
571 switch (bfd_get_reloc_size (howto)) in write_reloc()
607 apply_reloc (bfd *abfd, bfd_byte *data, reloc_howto_type *howto, in apply_reloc() argument
610 bfd_vma val = read_reloc (abfd, data, howto); in apply_reloc()
612 if (howto->negate) in apply_reloc()
615 val = ((val & ~howto->dst_mask) in apply_reloc()
616 | (((val & howto->src_mask) + relocation) & howto->dst_mask)); in apply_reloc()
618 write_reloc (abfd, val, data, howto); in apply_reloc()
664 reloc_howto_type *howto = reloc_entry->howto; in bfd_perform_relocation() local
681 if (howto && howto->special_function) in bfd_perform_relocation()
689 cont = howto->special_function (abfd, reloc_entry, symbol, data, in bfd_perform_relocation()
704 if (howto == NULL) in bfd_perform_relocation()
709 if (!bfd_reloc_offset_in_range (howto, abfd, input_section, octets)) in bfd_perform_relocation()
724 if ((output_bfd && ! howto->partial_inplace) in bfd_perform_relocation()
745 if (howto->pc_relative) in bfd_perform_relocation()
778 if (howto->pcrel_offset) in bfd_perform_relocation()
784 if (! howto->partial_inplace) in bfd_perform_relocation()
894 if (howto->complain_on_overflow != complain_overflow_dont in bfd_perform_relocation()
896 flag = bfd_check_overflow (howto->complain_on_overflow, in bfd_perform_relocation()
897 howto->bitsize, in bfd_perform_relocation()
898 howto->rightshift, in bfd_perform_relocation()
929 relocation >>= (bfd_vma) howto->rightshift; in bfd_perform_relocation()
932 relocation <<= (bfd_vma) howto->bitpos; in bfd_perform_relocation()
968 apply_reloc (abfd, data, howto, relocation); in bfd_perform_relocation()
1006 reloc_howto_type *howto = reloc_entry->howto; in bfd_install_relocation() local
1016 if (howto && howto->special_function) in bfd_install_relocation()
1026 cont = howto->special_function (abfd, reloc_entry, symbol, in bfd_install_relocation()
1046 if (!bfd_reloc_offset_in_range (howto, abfd, input_section, octets)) in bfd_install_relocation()
1061 if (! howto->partial_inplace) in bfd_install_relocation()
1081 if (howto->pc_relative) in bfd_install_relocation()
1114 if (howto->pcrel_offset && howto->partial_inplace) in bfd_install_relocation()
1118 if (! howto->partial_inplace) in bfd_install_relocation()
1228 if (howto->complain_on_overflow != complain_overflow_dont) in bfd_install_relocation()
1229 flag = bfd_check_overflow (howto->complain_on_overflow, in bfd_install_relocation()
1230 howto->bitsize, in bfd_install_relocation()
1231 howto->rightshift, in bfd_install_relocation()
1262 relocation >>= (bfd_vma) howto->rightshift; in bfd_install_relocation()
1265 relocation <<= (bfd_vma) howto->bitpos; in bfd_install_relocation()
1301 apply_reloc (abfd, data, howto, relocation); in bfd_install_relocation()
1328 _bfd_final_link_relocate (reloc_howto_type *howto, in _bfd_final_link_relocate() argument
1341 if (!bfd_reloc_offset_in_range (howto, input_bfd, input_section, octets)) in _bfd_final_link_relocate()
1360 if (howto->pc_relative) in _bfd_final_link_relocate()
1364 if (howto->pcrel_offset) in _bfd_final_link_relocate()
1368 return _bfd_relocate_contents (howto, input_bfd, relocation, in _bfd_final_link_relocate()
1375 _bfd_relocate_contents (reloc_howto_type *howto, in _bfd_relocate_contents() argument
1382 unsigned int rightshift = howto->rightshift; in _bfd_relocate_contents()
1383 unsigned int bitpos = howto->bitpos; in _bfd_relocate_contents()
1385 if (howto->negate) in _bfd_relocate_contents()
1389 x = read_reloc (input_bfd, location, howto); in _bfd_relocate_contents()
1396 if (howto->complain_on_overflow != complain_overflow_dont) in _bfd_relocate_contents()
1405 fieldmask = N_ONES (howto->bitsize); in _bfd_relocate_contents()
1410 b = (x & howto->src_mask & addrmask) >> bitpos; in _bfd_relocate_contents()
1413 switch (howto->complain_on_overflow) in _bfd_relocate_contents()
1438 ss = ((~howto->src_mask) >> 1) & howto->src_mask; in _bfd_relocate_contents()
1491 x = ((x & ~howto->dst_mask) in _bfd_relocate_contents()
1492 | (((x & howto->src_mask) + relocation) & howto->dst_mask)); in _bfd_relocate_contents()
1495 write_reloc (input_bfd, x, location, howto); in _bfd_relocate_contents()
1505 _bfd_clear_contents (reloc_howto_type *howto, in _bfd_clear_contents() argument
1514 if (!bfd_reloc_offset_in_range (howto, input_bfd, input_section, off)) in _bfd_clear_contents()
1519 x = read_reloc (input_bfd, location, howto); in _bfd_clear_contents()
1522 x &= ~howto->dst_mask; in _bfd_clear_contents()
1527 && (howto->dst_mask & 1) != 0) in _bfd_clear_contents()
1531 write_reloc (input_bfd, x, location, howto); in _bfd_clear_contents()
8526 _bfd_clear_contents ((*parent)->howto, input_bfd, in bfd_generic_get_relocated_section_contents()
8530 (*parent)->howto = &none_howto; in bfd_generic_get_relocated_section_contents()
8569 (*parent)->howto->name, (*parent)->addend, in bfd_generic_get_relocated_section_contents()