mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
* elf32-v850.c (bfd_elf32_v850_reloc): Mask out bits we
no longer want in pc-relative relocs. Fixing some g++ testsuite failures.
This commit is contained in:
parent
687f4e2379
commit
e1d98a0a65
@ -1,4 +1,9 @@
|
||||
start-sanitize-v850
|
||||
Wed Oct 16 11:24:35 1996 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* elf32-v850.c (bfd_elf32_v850_reloc): Mask out bits we
|
||||
no longer want in pc-relative relocs.
|
||||
|
||||
Tue Oct 15 22:17:37 1996 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* elf32-v850.c (bfd_elf32_v850_reloc): Don't silently
|
||||
|
@ -314,6 +314,7 @@ bfd_elf32_v850_reloc (abfd, reloc, symbol, data, isection, obfd, err)
|
||||
return bfd_reloc_dangerous;
|
||||
|
||||
insn = bfd_get_32 (abfd, (bfd_byte *) data + reloc->address);
|
||||
insn &= ~0xfffe003f;
|
||||
insn |= (((relocation & 0xfffe) << 16)
|
||||
| ((relocation & 0x3f0000) >> 16));
|
||||
bfd_put_32 (abfd, insn, (bfd_byte *)data + reloc->address);
|
||||
@ -328,6 +329,7 @@ bfd_elf32_v850_reloc (abfd, reloc, symbol, data, isection, obfd, err)
|
||||
return bfd_reloc_dangerous;
|
||||
|
||||
insn = bfd_get_16 (abfd, (bfd_byte *) data + reloc->address);
|
||||
insn &= 0xf870;
|
||||
insn |= ((relocation & 0x1f0) << 7) | ((relocation & 0x0e) << 3);
|
||||
bfd_put_16 (abfd, insn, (bfd_byte *)data + reloc->address);
|
||||
return bfd_reloc_ok;
|
||||
|
Loading…
Reference in New Issue
Block a user