aboutsummaryrefslogtreecommitdiff
path: root/gold/layout.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2011-06-17 13:00:01 +0000
committerIan Lance Taylor <ian@airs.com>2011-06-17 13:00:01 +0000
commit10b4f10252b11483486df1be14037c1dd4c554bb (patch)
treecd5b9ad273ca38fe1c6842608821c8a6dd516d7c /gold/layout.h
parente588ea8da03e217869ea9c6533382f7bbfc5a474 (diff)
downloadgdb-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.h4
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_;