Lines Matching defs:relocation

505 /* Return TRUE if this relocation should
571 bfd_vma relocation;
581 /* If the sections are different, and we are doing a partial relocation,
587 relocation = (target & 0x00ffffff) << 2;
588 relocation = (relocation ^ 0x02000000) - 0x02000000; /* Sign extend. */
589 relocation += symbol->value;
590 relocation += symbol->section->output_section->vma;
591 relocation += symbol->section->output_offset;
592 relocation += reloc_entry->addend;
593 relocation -= input_section->output_section->vma;
594 relocation -= input_section->output_offset;
595 relocation -= addr;
597 if (relocation & 3)
601 if (relocation & 0x02000000)
603 if ((relocation & ~ (bfd_vma) 0x03ffffff) != ~ (bfd_vma) 0x03ffffff)
606 else if (relocation & ~(bfd_vma) 0x03ffffff)
610 target |= (relocation >> 2) & 0x00ffffff;
614 Strictly this is only necessary if we are doing a partial relocation. */
630 bfd_vma relocation = 0;
669 /* If the sections are different, and we are doing a partial relocation,
679 relocation = ((target & dstmsk) << 1);
684 relocation = ((target & 0x7ff) << 1) | ((target & 0x07ff0000) >> 4);
686 relocation = ((target & 0x7ff) << 12) | ((target & 0x07ff0000) >> 15);
693 relocation = (relocation ^ signbit) - signbit; /* Sign extend. */
694 relocation += symbol->value;
695 relocation += symbol->section->output_section->vma;
696 relocation += symbol->section->output_offset;
697 relocation += reloc_entry->addend;
698 relocation -= input_section->output_section->vma;
699 relocation -= input_section->output_offset;
700 relocation -= addr;
702 if (relocation & 1)
706 if (relocation & signbit)
708 if ((relocation & ~offmsk) != ~offmsk)
711 else if (relocation & ~offmsk)
719 target |= (relocation >> 1);
724 target |= (((relocation & 0xfff) >> 1)
725 | ((relocation << 4) & 0x07ff0000));
727 target |= (((relocation & 0xffe) << 15)
728 | ((relocation >> 12) & 0x7ff));
738 Strictly this is only necessary if we are doing a partial relocation. */
1108 Thumb BRANCH23 relocation. The alternative would be to split the
1110 bit simpler simply providing our own relocation driver. */
1237 within the same section, the relocation should have already
1504 /* If the relocation type and destination symbol does not
1548 routines do to perform a relocation, with special
1560 bfd_vma relocation = val + addend;
1576 relocation -= (input_section->output_section->vma
1580 relocation -= address;
1582 /* No need to negate the relocation with BRANCH23. */
1587 check = relocation >> howto->rightshift;
1591 if ((bfd_signed_vma) relocation >= 0)
1621 relocation += signed_add;
1630 /* Put the relocation into the correct bits.
1631 For a BLX instruction, make sure that the relocation is rounded up
1637 if ((x & 0x1800) == 0x0800 && (relocation & 0x02))
1638 relocation += 2;
1639 relocation = (((relocation & 0xffe) >> 1) | ((relocation << 4) & 0x07ff0000));
1643 if ((x & 0x18000000) == 0x08000000 && (relocation & 0x02))
1644 relocation += 2;
1645 relocation = (((relocation & 0xffe) << 15) | ((relocation >> 12) & 0x7ff));
1648 /* Add the relocation to the correct bits of X. */
1649 x = ((x & ~howto->dst_mask) | relocation);
2025 /* If the relocation is not against a symbol it cannot concern us. */
2039 /* If the relocation is against a static symbol it must be within
2040 the current section and so cannot be a cross ARM/Thumb relocation. */