aboutsummaryrefslogtreecommitdiff
path: root/gold/layout.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gold/layout.cc')
-rw-r--r--gold/layout.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/gold/layout.cc b/gold/layout.cc
index 963ae52..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.