summaryrefslogtreecommitdiff
path: root/bfd/peicode.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2003-10-22 15:12:58 +0000
committerNick Clifton <nickc@redhat.com>2003-10-22 15:12:58 +0000
commitae7b50d78848c817334ad566f977124237523071 (patch)
tree4edc83380586f85d09af60dd1a9c99295acb9b63 /bfd/peicode.h
parentc038bcde23f9488666e7b793c4ae8abb9f30ff6a (diff)
downloadbinutils-redhat-ae7b50d78848c817334ad566f977124237523071.tar.gz
(coff_swap_scnhdr_in): Only remove padding when processing an executable.
Diffstat (limited to 'bfd/peicode.h')
-rw-r--r--bfd/peicode.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/bfd/peicode.h b/bfd/peicode.h
index b3c1f29910..094f52d2ae 100644
--- a/bfd/peicode.h
+++ b/bfd/peicode.h
@@ -258,12 +258,12 @@ coff_swap_scnhdr_in (abfd, ext, in)
#ifndef COFF_NO_HACK_SCNHDR_SIZE
/* If this section holds uninitialized data and is from an object file
or from an executable image that has not initialized the field,
- or if the physical size is padded, use the virtual size (stored in
- s_paddr) instead. */
+ or if the image is an executable file and the physical size is padded,
+ use the virtual size (stored in s_paddr) instead. */
if (scnhdr_int->s_paddr > 0
&& (((scnhdr_int->s_flags & IMAGE_SCN_CNT_UNINITIALIZED_DATA) != 0
- && (! bfd_pe_executable_p (abfd) || scnhdr_int->s_size == 0))
- || scnhdr_int->s_size > scnhdr_int->s_paddr))
+ && (! bfd_pe_executable_p (abfd) || scnhdr_int->s_size == 0))
+ || (bfd_pe_executable_p (abfd) && scnhdr_int->s_size > scnhdr_int->s_paddr)))
{
scnhdr_int->s_size = scnhdr_int->s_paddr;