This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: PATCH: PR ld/3314: ELF linker aligns empty section
- From: "H. J. Lu" <hjl at lucon dot org>
- To: binutils at sources dot redhat dot com
- Date: Fri, 6 Oct 2006 09:19:07 -0700
- Subject: Re: PATCH: PR ld/3314: ELF linker aligns empty section
- References: <20061006133908.GA3118@lucon.org>
On Fri, Oct 06, 2006 at 06:39:08AM -0700, H. J. Lu wrote:
> When we are outputing an empty loadable section, we consider it not
> loadable. But we still align it at page boundary. This patch fixes
> it.
>
>
Here is an updated patch. We don't page align empty SHF_ALLOC sections.
But we should align it to its section aligment.
H.J.
---
2006-10-06 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.
--- bfd/elf.c.empty 2006-09-29 09:00:21.000000000 -0700
+++ bfd/elf.c 2006-10-06 09:14:04.000000000 -0700
@@ -4663,11 +4663,12 @@ assign_file_positions_for_non_load_secti
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