* elf32-rx.c (rx_elf_object_p): Ignore empty segments.
This commit is contained in:
parent
099c90c425
commit
74b1e045f3
2 changed files with 8 additions and 2 deletions
|
@ -1,3 +1,7 @@
|
|||
2012-05-10 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* elf32-rx.c (rx_elf_object_p): Ignore empty segments.
|
||||
|
||||
2012-05-10 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* elf64-x86-64.c (elf_x86_64_relocate_section): Display signed
|
||||
|
|
|
@ -3060,7 +3060,8 @@ rx_elf_object_p (bfd * abfd)
|
|||
{
|
||||
Elf_Internal_Shdr *sec = elf_tdata(abfd)->elf_sect_ptr[u];
|
||||
|
||||
if (phdr[i].p_offset <= (bfd_vma) sec->sh_offset
|
||||
if (phdr[i].p_filesz
|
||||
&& phdr[i].p_offset <= (bfd_vma) sec->sh_offset
|
||||
&& (bfd_vma)sec->sh_offset <= phdr[i].p_offset + (phdr[i].p_filesz - 1))
|
||||
{
|
||||
/* Found one! The difference between the two addresses,
|
||||
|
@ -3084,7 +3085,8 @@ rx_elf_object_p (bfd * abfd)
|
|||
bsec = abfd->sections;
|
||||
while (bsec)
|
||||
{
|
||||
if (phdr[i].p_vaddr <= bsec->vma
|
||||
if (phdr[i].p_filesz
|
||||
&& phdr[i].p_vaddr <= bsec->vma
|
||||
&& bsec->vma <= phdr[i].p_vaddr + (phdr[i].p_filesz - 1))
|
||||
{
|
||||
bsec->lma = phdr[i].p_paddr + (bsec->vma - phdr[i].p_vaddr);
|
||||
|
|
Loading…
Reference in a new issue