mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-17 21:03:55 +08:00
* elf32-msp430.c (msp430_elf_relax_adjust_locals): Avoid overflow.
This commit is contained in:
@ -1,3 +1,7 @@
|
|||||||
|
2014-05-20 DJ Delorie <dj@redhat.com>
|
||||||
|
|
||||||
|
* elf32-msp430.c (msp430_elf_relax_adjust_locals): Avoid overflow.
|
||||||
|
|
||||||
2014-05-20 Alan Modra <amodra@gmail.com>
|
2014-05-20 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
PR 16952
|
PR 16952
|
||||||
|
@ -1585,11 +1585,12 @@ msp430_elf_relax_adjust_locals (bfd * abfd, asection * sec, bfd_vma addr,
|
|||||||
|
|
||||||
for (;irel < irelend; irel++)
|
for (;irel < irelend; irel++)
|
||||||
{
|
{
|
||||||
int sidx = ELF32_R_SYM(irel->r_info);
|
unsigned int sidx = ELF32_R_SYM(irel->r_info);
|
||||||
Elf_Internal_Sym *lsym = isym + sidx;
|
Elf_Internal_Sym *lsym = isym + sidx;
|
||||||
|
|
||||||
/* Adjust symbols referenced by .sec+0xXX */
|
/* Adjust symbols referenced by .sec+0xXX */
|
||||||
if (irel->r_addend > addr && irel->r_addend < toaddr
|
if (irel->r_addend > addr && irel->r_addend < toaddr
|
||||||
|
&& sidx < symtab_hdr->sh_info
|
||||||
&& lsym->st_shndx == sec_shndx)
|
&& lsym->st_shndx == sec_shndx)
|
||||||
irel->r_addend -= count;
|
irel->r_addend -= count;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user