aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2003-12-11 18:10:19 +0000
committerNick Clifton <nickc@redhat.com>2003-12-11 18:10:19 +0000
commit03394ac99982865c474724a75bcbfdf682715da0 (patch)
tree19921e41671bceb49ee3834b2ba86d74415633b5
parent9db7c108d956729feeb8bac1e7b2303ad4ebbb70 (diff)
downloadbinutils-03394ac99982865c474724a75bcbfdf682715da0.zip
binutils-03394ac99982865c474724a75bcbfdf682715da0.tar.gz
binutils-03394ac99982865c474724a75bcbfdf682715da0.tar.bz2
(INCLUDE_SECTION_IN_SEGMENT): Skip PT_GNU_STACK segments.
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/elf.c6
2 files changed, 8 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index da15e5b..648b690 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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.
diff --git a/bfd/elf.c b/bfd/elf.c
index b103b95..cd107bd 100644
--- 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 \