(INCLUDE_SECTION_IN_SEGMENT): Skip PT_GNU_STACK segments.
authorNick Clifton <nickc@redhat.com>
Thu, 11 Dec 2003 18:10:19 +0000 (18:10 +0000)
committerNick Clifton <nickc@redhat.com>
Thu, 11 Dec 2003 18:10:19 +0000 (18:10 +0000)
bfd/ChangeLog
bfd/elf.c

index da15e5b333d72510fb2848556fc007fec8188e75..648b6903c2ea1dc56fe67cfecb858639bfad6860 100644 (file)
@@ -1,3 +1,7 @@
+2003-12-11  Nick Clifton  <nickc@redhat.com>
+
+       * elf.c (INCLUDE_SECTION_IN_SEGMENT): Skip PT_GNU_STACK segments.
+
 2003-12-08  Richard Sandiford  <rsandifo@redhat.com>
 
        * elfxx-mips.h, elfxx-mips.c, cpu-mips.c: Convert prototypes.
index b103b95a42b0e0d3cfc85b9bb889e7a6deb8e94a..cd107bda03535f974f407348304a4d875282f83c 100644 (file)
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -4625,8 +4625,9 @@ copy_private_bfd_data (bfd *ibfd, bfd *obfd)
        2. It is an allocated segment,
        3. There is an output section associated with it,
        4. The section has not already been allocated to a previous segment.
-       5. PT_TLS segment includes only SHF_TLS sections.
-       6. SHF_TLS sections are only in PT_TLS or PT_LOAD segments.  */
+       5. PT_GNU_STACK segments do not include any sections.
+       6. PT_TLS segment includes only SHF_TLS sections.
+       7. SHF_TLS sections are only in PT_TLS or PT_LOAD segments.  */
 #define INCLUDE_SECTION_IN_SEGMENT(section, segment, bed)              \
   ((((segment->p_paddr                                                 \
       ? IS_CONTAINED_BY_LMA (section, segment, segment->p_paddr)       \
@@ -4634,6 +4635,7 @@ copy_private_bfd_data (bfd *ibfd, bfd *obfd)
      && (section->flags & SEC_ALLOC) != 0)                             \
     || IS_COREFILE_NOTE (segment, section))                            \
    && section->output_section != NULL                                  \
+   && segment->p_type != PT_GNU_STACK                                  \
    && (segment->p_type != PT_TLS                                       \
        || (section->flags & SEC_THREAD_LOCAL))                         \
    && (segment->p_type == PT_LOAD                                      \