* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
CIE at .eh_frame start is removed due to no FDEs referencing it.
This commit is contained in:
parent
8a8b2d4b4a
commit
a3aa38ee6c
2 changed files with 19 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
|||
2002-01-04 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
|
||||
CIE at .eh_frame start is removed due to no FDEs referencing it.
|
||||
|
||||
2002-01-04 Jason Thorpe <thorpej@wasabisystems.com>
|
||||
|
||||
* config.bfd (x86_64-*-netbsd*): New target.
|
||||
|
|
|
@ -919,14 +919,23 @@ _bfd_elf_write_section_eh_frame (abfd, sec, ehdrsec, contents)
|
|||
{
|
||||
if (sec_info->entry[i].cie)
|
||||
{
|
||||
cie_offset = sec_info->entry[i].new_offset;
|
||||
cie_offset += (sec_info->entry[i].sec->output_section->vma
|
||||
+ sec_info->entry[i].sec->output_offset
|
||||
- sec->output_section->vma
|
||||
- sec->output_offset);
|
||||
/* If CIE is removed due to no remaining FDEs referencing it
|
||||
and there were no CIEs kept before it, sec_info->entry[i].sec
|
||||
will be zero. */
|
||||
if (sec_info->entry[i].sec == NULL)
|
||||
cie_offset = 0;
|
||||
else
|
||||
{
|
||||
cie_offset = sec_info->entry[i].new_offset;
|
||||
cie_offset += (sec_info->entry[i].sec->output_section->vma
|
||||
+ sec_info->entry[i].sec->output_offset
|
||||
- sec->output_section->vma
|
||||
- sec->output_offset);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (sec_info->entry[i].cie)
|
||||
{
|
||||
/* CIE */
|
||||
|
|
Loading…
Add table
Reference in a new issue