gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gold / target.h
index 1f8f757dbfa6c77f100d2854b7860f558bcd8b09..089d7b377c3b38132253286cf793ed7d6e457168 100644 (file)
@@ -1,6 +1,6 @@
 // target.h -- target support for gold   -*- C++ -*-
 
-// Copyright (C) 2006-2018 Free Software Foundation, Inc.
+// Copyright (C) 2006-2020 Free Software Foundation, Inc.
 // Written by Ian Lance Taylor <iant@google.com>.
 
 // This file is part of gold.
@@ -509,22 +509,10 @@ class Target
   should_include_section(elfcpp::Elf_Word sh_type) const
   { return this->do_should_include_section(sh_type); }
 
-  // Merge a target-specific program property in the .note.gnu.properties
-  // section.
+  // Finalize the target-specific properties in the .note.gnu.property section.
   void
-  merge_gnu_property(int note_type,
-                    int pr_type,
-                    size_t new_pr_datasz,
-                    const unsigned char* new_pr_data,
-                    size_t old_pr_datasz,
-                    unsigned char* old_pr_data,
-                    const Object* object) const
-  {
-    return this->do_merge_gnu_property(note_type, pr_type,
-                                      new_pr_datasz, new_pr_data,
-                                      old_pr_datasz, old_pr_data,
-                                      object);
-  }
+  finalize_gnu_properties(Layout* layout) const
+  { this->do_finalize_gnu_properties(layout); }
 
  protected:
   // This struct holds the constant information for a child class.  We
@@ -832,11 +820,9 @@ class Target
   do_should_include_section(elfcpp::Elf_Word) const
   { return true; }
 
-  // Merge a target-specific program property in the .note.gnu.properties
-  // section.
+  // Finalize the target-specific properties in the .note.gnu.property section.
   virtual void
-  do_merge_gnu_property(int, int, size_t, const unsigned char*,
-                       size_t, unsigned char*, const Object*) const
+  do_finalize_gnu_properties(Layout*) const
   { }
 
  private:
@@ -1158,6 +1144,18 @@ class Sized_target : public Target
     return elfcpp::elf_r_sym<size>(rel.get_r_info());
   }
 
+  // Record a target-specific program property in the .note.gnu.property
+  // section.
+  virtual void
+  record_gnu_property(unsigned int, unsigned int, size_t,
+                     const unsigned char*, const Object*)
+  { }
+
+  // Merge the target-specific program properties from the current object.
+  virtual void
+  merge_gnu_properties(const Object*)
+  { }
+
  protected:
   Sized_target(const Target::Target_info* pti)
     : Target(pti)
This page took 0.027742 seconds and 4 git commands to generate.