diff options
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/peXXigen.c | 7 |
2 files changed, 8 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6ce3246..4c97561 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2004-02-21 Danny Smith <daanysmith@users.sourceforge.net> + + * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Clear + IMAGE_SCN_MEM_WRITE on known sections only. + 2004-02-20 Jakub Jelinek <jakub@redhat.com> * elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c index 559f2a2..598aa7c 100644 --- a/bfd/peXXigen.c +++ b/bfd/peXXigen.c @@ -992,14 +992,13 @@ _bfd_XXi_swap_scnhdr_out (abfd, in, out) default WP_TEXT file flag has been cleared. WP_TEXT may be cleared by ld --enable-auto-import (if auto-import is actually needed), by ld --omagic, or by obcopy --writable-text. */ - - if (strcmp (scnhdr_int->s_name, ".text") - || (bfd_get_file_flags (abfd) & WP_TEXT)) - flags &= ~IMAGE_SCN_MEM_WRITE; for (p = known_sections; p->section_name; p++) if (strcmp (scnhdr_int->s_name, p->section_name) == 0) { + if (strcmp (scnhdr_int->s_name, ".text") + || (bfd_get_file_flags (abfd) & WP_TEXT)) + flags &= ~IMAGE_SCN_MEM_WRITE; flags |= p->must_have; break; } |