diff options
author | cvs2svn <> | 2007-10-30 18:18:30 +0300 |
---|---|---|
committer | cvs2svn <> | 2007-10-30 18:18:30 +0300 |
commit | 79a902d95351f8fe9e7b734b9254db920596a0f2 (patch) | |
tree | 58ca3ae9f610847e3e1ac34d6e91d7934e96a733 /include/elf/internal.h | |
parent | e5102b0b65330227a1f2d10f8ccf0130d0525289 (diff) |
This commit was manufactured by cvs2svn to create tag 'sid-sid-snapshot-20071101
snapshot-20071101'.
Sprout from gdb_6_7-branch 2007-09-07 07:38:48 UTC cvs2svn 'This commit was manufactured by cvs2svn to create branch 'gdb_6_7-branch'.'
Cherrypick from master 2007-10-30 15:18:29 UTC Nick Clifton <nickc@redhat.com> '* mn10300.h (R_MN10300_ALIGN): Define.':
ChangeLog
MAINTAINERS
Makefile.def
Makefile.in
Makefile.tpl
config/ChangeLog
config/mh-mingw
config/mt-mips-elfoabi
config/mt-sde
config/no-executables.m4
config/tls.m4
configure
configure.ac
include/elf/ChangeLog
include/elf/common.h
include/elf/cr16.h
include/elf/internal.h
include/elf/m68k.h
include/elf/mn10300.h
include/elf/ppc.h
include/gdb/ChangeLog
include/gdb/callback.h
include/gdb/sim-ppc.h
src-release
Delete:
djunpack.bat
texinfo/texinfo.tex
Diffstat (limited to 'include/elf/internal.h')
-rw-r--r-- | include/elf/internal.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/include/elf/internal.h b/include/elf/internal.h index 152171136..f5380b8d5 100644 --- a/include/elf/internal.h +++ b/include/elf/internal.h @@ -239,6 +239,8 @@ struct elf_segment_map bfd_vma p_vaddr_offset; /* Program segment alignment. */ bfd_vma p_align; + /* Segment size in file and memory */ + bfd_vma p_size; /* Whether the p_flags field is valid; if not, the flags are based on the section flags. */ unsigned int p_flags_valid : 1; @@ -248,6 +250,9 @@ struct elf_segment_map /* Whether the p_align field is valid; if not, PT_LOAD segment alignment is based on the default maximum page size. */ unsigned int p_align_valid : 1; + /* Whether the p_size field is valid; if not, the size are based + on the section sizes. */ + unsigned int p_size_valid : 1; /* Whether this segment includes the file header. */ unsigned int includes_filehdr : 1; /* Whether this segment includes the program headers. */ @@ -266,11 +271,12 @@ struct elf_segment_map || segment->p_type == PT_TLS) ? sec_hdr->sh_size : 0) /* Decide if the given sec_hdr is in the given segment. PT_TLS segment - contains only SHF_TLS sections. Only PT_LOAD and PT_TLS segments - can contain SHF_TLS sections. */ + contains only SHF_TLS sections. Only PT_LOAD, PT_GNU_RELRO and + and PT_TLS segments can contain SHF_TLS sections. */ #define ELF_IS_SECTION_IN_SEGMENT(sec_hdr, segment) \ (((((sec_hdr->sh_flags & SHF_TLS) != 0) \ && (segment->p_type == PT_TLS \ + || segment->p_type == PT_GNU_RELRO \ || segment->p_type == PT_LOAD)) \ || ((sec_hdr->sh_flags & SHF_TLS) == 0 \ && segment->p_type != PT_TLS)) \ |