forked from Imagelibrary/binutils-gdb
Fixes a bug in the relaxation of R_MSP430X_ABS16 to R_MSP430_10_PCREL.
* elf32-msp430.c (msp430_elf_relax_section): Skip unhandled relocs. Include PC-relative adjustment for R_MSP430X_ABS16 relaxation.
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2015-01-15 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* elf32-msp430.c (msp430_elf_relax_section): Skip unhandled
|
||||
relocs. Include PC-relative adjustment for R_MSP430X_ABS16
|
||||
relaxation.
|
||||
|
||||
2015-01-15 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for
|
||||
|
||||
@@ -1921,7 +1921,7 @@ msp430_elf_relax_section (bfd * abfd, asection * sec,
|
||||
default:
|
||||
/* Not a conditional branch instruction. */
|
||||
/* fprintf (stderr, "unrecog: %x\n", opcode); */
|
||||
goto error_return;
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Note that we've changed the relocs, section contents, etc. */
|
||||
@@ -2162,6 +2162,7 @@ msp430_elf_relax_section (bfd * abfd, asection * sec,
|
||||
{
|
||||
bfd_vma value = symval;
|
||||
|
||||
value -= (sec->output_section->vma + sec->output_offset);
|
||||
value -= irel->r_offset;
|
||||
value += irel->r_addend;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user