diff options
author | Ian Lance Taylor <ian@airs.com> | 2011-06-17 13:00:01 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2011-06-17 13:00:01 +0000 |
commit | 10b4f10252b11483486df1be14037c1dd4c554bb (patch) | |
tree | cd5b9ad273ca38fe1c6842608821c8a6dd516d7c /gold/layout.h | |
parent | e588ea8da03e217869ea9c6533382f7bbfc5a474 (diff) | |
download | gdb-10b4f10252b11483486df1be14037c1dd4c554bb.zip gdb-10b4f10252b11483486df1be14037c1dd4c554bb.tar.gz gdb-10b4f10252b11483486df1be14037c1dd4c554bb.tar.bz2 |
PR gold/12880
* layout.h (class Layout): Add interp_segment_ field.
* layout.cc (Layout::Layout): Initialize interp_segment_ field.
(Layout::attach_allocated_section_to_segment): If making shared
library, put .interp section in PT_INTERP segment.
(Layout::finalize): Also call create_interp if -dynamic-linker
option was used.
(Layout::create_interp): Assert that there is no PT_INTERP
segment. If not using a SECTIONS clause, use make_output_section.
(Layout::make_output_segment): Set interp_segment_ if PT_INTERP.
* script-sections.cc
(Script_sections::create_note_and_tls_segments): If making shared
library, put .interp section in PT_INTERP segment.
Diffstat (limited to 'gold/layout.h')
-rw-r--r-- | gold/layout.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gold/layout.h b/gold/layout.h index ced07b5..1afe913 100644 --- a/gold/layout.h +++ b/gold/layout.h @@ -1,6 +1,6 @@ // layout.h -- lay out output file sections for gold -*- C++ -*- -// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +// Copyright 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -1168,6 +1168,8 @@ class Layout Output_segment* tls_segment_; // A pointer to the PT_GNU_RELRO segment if there is one. Output_segment* relro_segment_; + // A pointer to the PT_INTERP segment if there is one. + Output_segment* interp_segment_; // A backend may increase the size of the PT_GNU_RELRO segment if // there is one. This is the amount to increase it by. unsigned int increase_relro_; |