diff options
Diffstat (limited to 'gold/layout.cc')
-rw-r--r-- | gold/layout.cc | 17 |
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. |