Line 484... |
Line 484... |
|
|
switch (howto->type)
|
switch (howto->type)
|
{
|
{
|
case R_OPEN8_PCREL:
|
case R_OPEN8_PCREL:
|
contents += rel->r_offset;
|
contents += rel->r_offset;
|
srel = (bfd_signed_vma) relocation;
|
srel = rel->r_addend - reloc_addr;
|
srel += rel->r_addend;
|
|
|
|
if (srel > ((1 << 8) - 1) || (srel < - (1 << 7)))
|
if (srel > ((1 << 8) - 1) || (srel < - (1 << 7)))
|
return bfd_reloc_overflow;
|
return bfd_reloc_overflow;
|
x = bfd_get_16 (input_bfd, contents);
|
x = bfd_get_16 (input_bfd, contents);
|
x = (x & 0xff00) | (srel & 0xff);
|
x = (x & 0xff00) | (srel & 0xff);
|
Line 1960... |
Line 1959... |
/* Now examine each relocation. */
|
/* Now examine each relocation. */
|
irela = internal_relocs;
|
irela = internal_relocs;
|
irelaend = irela + section->reloc_count;
|
irelaend = irela + section->reloc_count;
|
for (; irela < irelaend; irela++)
|
for (; irela < irelaend; irela++)
|
{
|
{
|
unsigned int r_type, r_indx;
|
unsigned int r_indx;
|
struct elf32_open8_stub_hash_entry *hsh;
|
struct elf32_open8_stub_hash_entry *hsh;
|
asection *sym_sec;
|
asection *sym_sec;
|
bfd_vma sym_value;
|
bfd_vma sym_value;
|
bfd_vma destination;
|
bfd_vma destination;
|
struct elf_link_hash_entry *hh;
|
struct elf_link_hash_entry *hh;
|
char *stub_name;
|
char *stub_name;
|
|
|
r_type = ELF32_R_TYPE (irela->r_info);
|
|
r_indx = ELF32_R_SYM (irela->r_info);
|
r_indx = ELF32_R_SYM (irela->r_info);
|
|
|
/* Now determine the call target, its name, value,
|
/* Now determine the call target, its name, value,
|
section. */
|
section. */
|
sym_sec = NULL;
|
sym_sec = NULL;
|