From 8d3ad4e16f2b7ab875747b5363abfa89ce87096c Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 7 Sep 1999 03:40:32 +0000 Subject: 1999-09-06 Donn Terry * libcoff-in.h (struct pei_section_tdata): Add pe_flags field. * coffcode.h (coff_set_alignment_hook): Set pe_flags field if COFF_WITH_PE. * libcoff.h: Rebuild. --- bfd/coffcode.h | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) (limited to 'bfd/coffcode.h') diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 4b0a39d..1116ee8 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -1487,38 +1487,36 @@ coff_set_alignment_hook (abfd, section, scnhdr) } #endif -#ifdef COFF_IMAGE_WITH_PE +#ifdef COFF_WITH_PE /* In a PE image file, the s_paddr field holds the virtual size of a - section, while the s_size field holds the raw size. */ - if (hdr->s_paddr != 0) + section, while the s_size field holds the raw size. We also keep + the original section flag value, since not every bit can be + mapped onto a generic BFD section bit. */ + if (coff_section_data (abfd, section) == NULL) { - if (coff_section_data (abfd, section) == NULL) + section->used_by_bfd = + (PTR) bfd_zalloc (abfd, sizeof (struct coff_section_tdata)); + if (section->used_by_bfd == NULL) { - section->used_by_bfd = - (PTR) bfd_zalloc (abfd, sizeof (struct coff_section_tdata)); - if (section->used_by_bfd == NULL) - { - /* FIXME: Return error. */ - abort (); - } + /* FIXME: Return error. */ + abort (); } - if (pei_section_data (abfd, section) == NULL) + } + if (pei_section_data (abfd, section) == NULL) + { + coff_section_data (abfd, section)->tdata = + (PTR) bfd_zalloc (abfd, sizeof (struct pei_section_tdata)); + if (coff_section_data (abfd, section)->tdata == NULL) { - coff_section_data (abfd, section)->tdata = - (PTR) bfd_zalloc (abfd, sizeof (struct pei_section_tdata)); - if (coff_section_data (abfd, section)->tdata == NULL) - { - /* FIXME: Return error. */ - abort (); - } + /* FIXME: Return error. */ + abort (); } - pei_section_data (abfd, section)->virt_size = hdr->s_paddr; } -#endif + pei_section_data (abfd, section)->virt_size = hdr->s_paddr; + pei_section_data (abfd, section)->pe_flags = hdr->s_flags; -#ifdef COFF_WITH_PE section->lma = hdr->s_vaddr; -#endif +#endif /* COFF_WITH_PE */ } #undef ALIGN_SET #undef ELIFALIGN_SET -- cgit v1.1