Add "volatile" keyword to "struct gdb_exception" declaration
[deliverable/binutils-gdb.git] / gold / symtab.h
index 689d99f5bf0442479034defe542cb121729f32d8..1232c97747ef6d92f52524405bdc698ccc431d2a 100644 (file)
@@ -638,7 +638,10 @@ class Symbol
     // A TLS-related reference.
     TLS_REF = 4,
     // A reference that can always be treated as a function call.
-    FUNCTION_CALL = 8
+    FUNCTION_CALL = 8,
+    // When set, says that dynamic relocations are needed even if a
+    // symbol has a plt entry.
+    FUNC_DESC_ABI = 16,
   };
 
   // Given a direct absolute or pc-relative static relocation against
@@ -675,7 +678,8 @@ class Symbol
 
     // A reference to any PLT entry in a non-position-independent executable
     // does not need a dynamic relocation.
-    if (!parameters->options().output_is_position_independent()
+    if (!(flags & FUNC_DESC_ABI)
+       && !parameters->options().output_is_position_independent()
         && this->has_plt_offset())
       return false;
 
@@ -817,6 +821,11 @@ class Symbol
   is_predefined() const
   { return this->is_predefined_; }
 
+  // Return true if this is a C++ vtable symbol.
+  bool
+  is_cxx_vtable() const
+  { return is_prefix_of("_ZTV", this->name_); }
+
  protected:
   // Instances of this class should always be created at a specific
   // size.
This page took 0.024689 seconds and 4 git commands to generate.