x86-64: Use pr22393-3a.so and pr22393-3a-now.so
[binutils-gdb.git] / gold / ehframe.h
index 14281b0d336bed7532b0ce2e98e660638dcdd800..4e18da90012b4004c6adec3fc75105783be9d93b 100644 (file)
@@ -1,6 +1,6 @@
 // ehframe.h -- handle exception frame sections for gold  -*- C++ -*-
 
-// Copyright (C) 2006-2016 Free Software Foundation, Inc.
+// Copyright (C) 2006-2018 Free Software Foundation, Inc.
 // Written by Ian Lance Taylor <iant@google.com>.
 
 // This file is part of gold.
@@ -217,6 +217,8 @@ class Fde
        section_offset_type cie_offset, unsigned char fde_encoding,
        Eh_frame_hdr* eh_frame_hdr);
 
+  bool operator==(const Fde&) const;
+
  private:
   // The object in which this FDE was seen.  This will be NULL for a
   // linker generated FDE.
@@ -298,6 +300,10 @@ class Cie
   add_fde(Fde* fde)
   { this->fdes_.push_back(fde); }
 
+  // Remove an FDE associated with this CIE.  Only the last FDE may be removed.
+  void
+  remove_fde(const Fde*);
+
   // Return the number of FDEs.
   unsigned int
   fde_count() const
@@ -405,6 +411,13 @@ class Eh_frame : public Output_section_data
                      size_t cie_length, const unsigned char* fde_data,
                      size_t fde_length);
 
+  // Remove unwind information for a PLT.  Only the last FDE added may
+  // be removed.
+  void
+  remove_ehframe_for_plt(Output_data* plt, const unsigned char* cie_data,
+                        size_t cie_length, const unsigned char* fde_data,
+                        size_t fde_length);
+
   // Return the number of FDEs.
   unsigned int
   fde_count() const;