From d96fead7bb080d8b19d00d3c6fb5a37a12651bda Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 8 Apr 2010 02:09:59 +0000 Subject: [PATCH] * internal.h (ELF_IS_SECTION_IN_SEGMENT): PT_PHDR program headers cannot contain any sections. --- include/elf/ChangeLog | 5 +++++ include/elf/internal.h | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index 52e1024b2..631fe3521 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,8 @@ +2010-04-08 David Stubbs + + * internal.h (ELF_IS_SECTION_IN_SEGMENT): PT_PHDR program headers + cannot contain any sections. + 2010-03-25 Joseph Myers * common.h (ELFOSABI_C6000_ELFABI, ELFOSABI_C6000_LINUX): Define. diff --git a/include/elf/internal.h b/include/elf/internal.h index 9ea175c9d..e2334cbd3 100644 --- a/include/elf/internal.h +++ b/include/elf/internal.h @@ -1,6 +1,6 @@ /* ELF support for BFD. Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001, 2002, - 2003, 2006, 2007, 2008 Free Software Foundation, Inc. + 2003, 2006, 2007, 2008, 2010 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support, from information published in "UNIX System V Release 4, Programmers Guide: ANSI C and @@ -306,7 +306,8 @@ struct elf_segment_map || segment->p_type == PT_GNU_RELRO \ || segment->p_type == PT_LOAD)) \ || ((sec_hdr->sh_flags & SHF_TLS) == 0 \ - && segment->p_type != PT_TLS)) \ + && segment->p_type != PT_TLS \ + && segment->p_type != PT_PHDR)) \ /* Any section besides one of type SHT_NOBITS must have a file \ offset within the segment. */ \ && (sec_hdr->sh_type == SHT_NOBITS \