From: Ian Lance Taylor Date: Tue, 16 Jan 1996 20:53:04 +0000 (+0000) Subject: * elf.c (assign_file_positions_for_segments): Don't increment file X-Git-Tag: gdb-4_18~9639 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d49ddb857525c555f314c6ee4b0589002067d707;p=external%2Fbinutils.git * elf.c (assign_file_positions_for_segments): Don't increment file offset for a segment which contains no loadable sections. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 50efd81..13a889a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +Tue Jan 16 15:10:49 1996 Ian Lance Taylor + + * 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 * reloc.c: Add new PowerPC relocations. diff --git a/bfd/elf.c b/bfd/elf.c index 48762e1..e12a885 100644 --- a/bfd/elf.c +++ b/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;