* elf.c (assign_file_positions_for_segments): Don't increment file
offset for a segment which contains no loadable sections.
This commit is contained in:
parent
a411bea023
commit
d49ddb8575
|
@ -1,3 +1,8 @@
|
|||
Tue Jan 16 15:10:49 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* elf.c (assign_file_positions_for_segments): Don't increment file
|
||||
offset for a segment which contains no loadable sections.
|
||||
|
||||
Mon Jan 15 17:46:27 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||||
|
||||
* reloc.c: Add new PowerPC relocations.
|
||||
|
|
23
bfd/elf.c
23
bfd/elf.c
|
@ -1911,7 +1911,9 @@ assign_file_positions_for_segments (abfd)
|
|||
else
|
||||
p->p_flags = 0;
|
||||
|
||||
if (p->p_type == PT_LOAD && m->count > 0)
|
||||
if (p->p_type == PT_LOAD
|
||||
&& m->count > 0
|
||||
&& (m->sections[0]->flags & SEC_LOAD) != 0)
|
||||
off += (m->sections[0]->vma - off) % bed->maxpagesize;
|
||||
|
||||
if (m->count == 0)
|
||||
|
@ -2019,15 +2021,18 @@ assign_file_positions_for_segments (abfd)
|
|||
|
||||
/* The section VMA must equal the file position modulo
|
||||
the page size. */
|
||||
adjust = (sec->vma - off) % bed->maxpagesize;
|
||||
if (adjust != 0)
|
||||
if ((flags & SEC_LOAD) != 0)
|
||||
{
|
||||
if (i == 0)
|
||||
abort ();
|
||||
p->p_memsz += adjust;
|
||||
if ((flags & SEC_LOAD) != 0)
|
||||
p->p_filesz += adjust;
|
||||
off += adjust;
|
||||
adjust = (sec->vma - off) % bed->maxpagesize;
|
||||
if (adjust != 0)
|
||||
{
|
||||
if (i == 0)
|
||||
abort ();
|
||||
p->p_memsz += adjust;
|
||||
if ((flags & SEC_LOAD) != 0)
|
||||
p->p_filesz += adjust;
|
||||
off += adjust;
|
||||
}
|
||||
}
|
||||
|
||||
sec->filepos = off;
|
||||
|
|
Loading…
Reference in New Issue