aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2006-10-15 14:22:13 +0000
committerH.J. Lu <hjl.tools@gmail.com>2006-10-15 14:22:13 +0000
commit3ba71138787fe166f749fb847368721cf09e9a10 (patch)
tree3837b3729db10ca58edd1ce508cc1f4e28cb326c /bfd/elf.c
parent706bae0be610f7faee2787c9dd359e15e086182c (diff)
downloadgdb-3ba71138787fe166f749fb847368721cf09e9a10.zip
gdb-3ba71138787fe166f749fb847368721cf09e9a10.tar.gz
gdb-3ba71138787fe166f749fb847368721cf09e9a10.tar.bz2
2006-10-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/3314 * elf.c (assign_file_positions_for_non_load_sections): Don't page align empty SHF_ALLOC sections.
Diffstat (limited to 'bfd/elf.c')
-rw-r--r--bfd/elf.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/bfd/elf.c b/bfd/elf.c
index ab23a19..010a978 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -4665,11 +4665,12 @@ assign_file_positions_for_non_load_sections (bfd *abfd,
if (hdr->sh_size != 0)
((*_bfd_error_handler)
(_("%B: warning: allocated section `%s' not in segment"),
- abfd,
- (hdr->bfd_section == NULL
- ? "*unknown*"
- : hdr->bfd_section->name)));
- if ((abfd->flags & D_PAGED) != 0)
+ abfd,
+ (hdr->bfd_section == NULL
+ ? "*unknown*"
+ : hdr->bfd_section->name)));
+ /* We don't need to page align empty sections. */
+ if ((abfd->flags & D_PAGED) != 0 && hdr->sh_size != 0)
off += vma_page_aligned_bias (hdr->sh_addr, off,
bed->maxpagesize);
else