diff options
author | Nick Clifton <nickc@redhat.com> | 2000-12-12 22:54:39 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2000-12-12 22:54:39 +0000 |
commit | f547807937746e1ce707821b5268bcedfc199711 (patch) | |
tree | 184a836744c31ba2f0a3f64c72af339c458ba0aa /bfd/binary.c | |
parent | f1095b0b6d49bb5b60574b7b23dc7a3bde897bb9 (diff) | |
download | binutils-redhat-f547807937746e1ce707821b5268bcedfc199711.tar.gz |
Ignore sections with zero size.
Diffstat (limited to 'bfd/binary.c')
-rw-r--r-- | bfd/binary.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/bfd/binary.c b/bfd/binary.c index fd68a8eaeb..771e4312f7 100644 --- a/bfd/binary.c +++ b/bfd/binary.c @@ -255,6 +255,9 @@ binary_set_section_contents (abfd, sec, data, offset, size) file_ptr offset; bfd_size_type size; { + if (size == 0) + return true; + if (! abfd->output_has_begun) { boolean found_low; @@ -270,6 +273,7 @@ binary_set_section_contents (abfd, sec, data, offset, size) if (((s->flags & (SEC_HAS_CONTENTS | SEC_LOAD | SEC_ALLOC | SEC_NEVER_LOAD)) == (SEC_HAS_CONTENTS | SEC_LOAD | SEC_ALLOC)) + && (s->_raw_size > 0) && (! found_low || s->lma < low)) { low = s->lma; @@ -284,7 +288,8 @@ binary_set_section_contents (abfd, sec, data, offset, size) occupy file space. */ if ((s->flags & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_NEVER_LOAD)) - != (SEC_HAS_CONTENTS | SEC_ALLOC)) + != (SEC_HAS_CONTENTS | SEC_ALLOC) + || (s->_raw_size == 0)) continue; /* If attempting to generate a binary file from a bfd with |