* elf.c (assign_file_positions_for_load_sections): When checking
a segment for contents, don't assume that a non-TLS nobits section must only be followed by nobits sections.
This commit is contained in:
parent
a90e4d49cb
commit
aea274d3a7
@ -1,3 +1,9 @@
|
||||
2008-10-08 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* elf.c (assign_file_positions_for_load_sections): When checking
|
||||
a segment for contents, don't assume that a non-TLS nobits section
|
||||
must only be followed by nobits sections.
|
||||
|
||||
2008-10-04 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* elf32-cris.c (TLSHOWTO32, TLSHOWTO16): New macros.
|
||||
|
23
bfd/elf.c
23
bfd/elf.c
@ -4288,21 +4288,14 @@ assign_file_positions_for_load_sections (bfd *abfd,
|
||||
elf_section_type (m->sections[i]) = SHT_NOBITS;
|
||||
|
||||
/* Find out whether this segment contains any loadable
|
||||
sections. If the first section isn't loadable, the same
|
||||
holds for any other sections. */
|
||||
i = 0;
|
||||
while (elf_section_type (m->sections[i]) == SHT_NOBITS)
|
||||
{
|
||||
/* If a segment starts with .tbss, we need to look
|
||||
at the next section to decide whether the segment
|
||||
has any loadable sections. */
|
||||
if ((elf_section_flags (m->sections[i]) & SHF_TLS) == 0
|
||||
|| ++i >= m->count)
|
||||
{
|
||||
no_contents = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
sections. */
|
||||
no_contents = TRUE;
|
||||
for (i = 0; i < m->count; i++)
|
||||
if (elf_section_type (m->sections[i]) != SHT_NOBITS)
|
||||
{
|
||||
no_contents = FALSE;
|
||||
break;
|
||||
}
|
||||
|
||||
off_adjust = vma_page_aligned_bias (m->sections[0]->vma, off, align);
|
||||
off += off_adjust;
|
||||
|
Loading…
Reference in New Issue
Block a user