aboutsummaryrefslogtreecommitdiff
path: root/gold/layout.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gold/layout.cc')
-rw-r--r--gold/layout.cc19
1 files changed, 18 insertions, 1 deletions
diff --git a/gold/layout.cc b/gold/layout.cc
index bb13d71..5f25fae 100644
--- a/gold/layout.cc
+++ b/gold/layout.cc
@@ -1581,6 +1581,23 @@ Layout::add_eh_frame_for_plt(Output_data* plt, const unsigned char* cie_data,
}
}
+// Remove .eh_frame information for a PLT. FDEs using the CIE must
+// be removed in reverse order to the order they were added.
+
+void
+Layout::remove_eh_frame_for_plt(Output_data* plt, const unsigned char* cie_data,
+ size_t cie_length, const unsigned char* fde_data,
+ size_t fde_length)
+{
+ if (parameters->incremental())
+ {
+ // FIXME: Maybe this could work some day....
+ return;
+ }
+ this->eh_frame_data_->remove_ehframe_for_plt(plt, cie_data, cie_length,
+ fde_data, fde_length);
+}
+
// Scan a .debug_info or .debug_types section, and add summary
// information to the .gdb_index section.
@@ -3464,7 +3481,7 @@ is_text_segment(const Target* target, const Output_segment* seg)
}
// Set the file offsets of all the segments, and all the sections they
-// contain. They have all been created. LOAD_SEG must be be laid out
+// contain. They have all been created. LOAD_SEG must be laid out
// first. Return the offset of the data to follow.
off_t