diff options
author | Nick Clifton <nickc@redhat.com> | 2003-10-22 15:12:58 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2003-10-22 15:12:58 +0000 |
commit | ae7b50d78848c817334ad566f977124237523071 (patch) | |
tree | 4edc83380586f85d09af60dd1a9c99295acb9b63 /bfd/peicode.h | |
parent | c038bcde23f9488666e7b793c4ae8abb9f30ff6a (diff) | |
download | binutils-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.h | 8 |
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; |