summaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf.c13
2 files changed, 12 insertions, 6 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index c59bb4c6a9..04c3b31601 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,10 @@
2012-03-23 Alan Modra <amodra@gmail.com>
+ * elf.c (assign_file_positions_for_non_load_sections): Don't warn
+ on empty alloc sections.
+
+2012-03-23 Alan Modra <amodra@gmail.com>
+
* linker.c (_bfd_nearby_section): New function, split out from..
(fix_syms): ..here.
* bfd-in.h (_bfd_nearby_section): Declare.
diff --git a/bfd/elf.c b/bfd/elf.c
index 5aabeeb1cd..df43a6ad4c 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -4820,12 +4820,13 @@ assign_file_positions_for_non_load_sections (bfd *abfd,
BFD_ASSERT (hdr->sh_offset == hdr->bfd_section->filepos);
else if ((hdr->sh_flags & SHF_ALLOC) != 0)
{
- (*_bfd_error_handler)
- (_("%B: warning: allocated section `%s' not in segment"),
- abfd,
- (hdr->bfd_section == NULL
- ? "*unknown*"
- : hdr->bfd_section->name));
+ 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));
/* 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,