Disable --long-plt test for arm-nacl targets.
[deliverable/binutils-gdb.git] / gold / copy-relocs.h
index 2fe6a245e072f0295ee6b394f67260c33d55d5cb..2ec7a143ca641ceb4c1edbf7e7d125a4b1ff9306 100644 (file)
@@ -1,6 +1,6 @@
 // copy-relocs.h -- handle COPY relocations for gold   -*- C++ -*-
 
-// Copyright 2006, 2007, 2008 Free Software Foundation, Inc.
+// Copyright (C) 2006-2014 Free Software Foundation, Inc.
 // Written by Ian Lance Taylor <iant@google.com>.
 
 // This file is part of gold.
@@ -66,7 +66,7 @@ class Copy_relocs
   // section is where the dynamic relocs are put.
   void
   copy_reloc(Symbol_table*, Layout*, Sized_symbol<size>* sym,
-             Sized_relobj<size, big_endian>* object,
+             Sized_relobj_file<size, big_endian>* object,
             unsigned int shndx, Output_section* output_section,
             const Reloc& rel,
             Output_data_reloc<sh_type, true, size, big_endian>*);
@@ -81,6 +81,12 @@ class Copy_relocs
   void
   emit(Output_data_reloc<sh_type, true, size, big_endian>*);
 
+  // Emit a COPY reloc.
+  void
+  emit_copy_reloc(Symbol_table*, Sized_symbol<size>*,
+                 Output_data*, off_t,
+                 Output_data_reloc<sh_type, true, size, big_endian>*);
+
  private:
   typedef typename elfcpp::Elf_types<size>::Elf_Addr Address;
   typedef typename elfcpp::Elf_types<size>::Elf_Addr Addend;
@@ -92,7 +98,7 @@ class Copy_relocs
   {
    public:
     Copy_reloc_entry(Symbol* sym, unsigned int reloc_type,
-                    Sized_relobj<size, big_endian>* relobj,
+                    Sized_relobj_file<size, big_endian>* relobj,
                      unsigned int shndx,
                     Output_section* output_section,
                     Address address, Addend addend)
@@ -110,7 +116,7 @@ class Copy_relocs
    private:
     Symbol* sym_;
     unsigned int reloc_type_;
-    Sized_relobj<size, big_endian>* relobj_;
+    Sized_relobj_file<size, big_endian>* relobj_;
     unsigned int shndx_;
     Output_section* output_section_;
     Address address_;
@@ -123,22 +129,17 @@ class Copy_relocs
   // Return whether we need a COPY reloc.
   bool
   need_copy_reloc(Sized_symbol<size>* gsym,
-                  Sized_relobj<size, big_endian>* object,
+                  Sized_relobj_file<size, big_endian>* object,
                  unsigned int shndx) const;
 
-  // Emit a COPY reloc.
+  // Make a new COPY reloc and emit it.
   void
-  emit_copy_reloc(Symbol_table*, Layout*, Sized_symbol<size>*,
+  make_copy_reloc(Symbol_table*, Layout*, Sized_symbol<size>*,
                  Output_data_reloc<sh_type, true, size, big_endian>*);
 
-  // Add a COPY reloc to the dynamic reloc section.
-  void
-  add_copy_reloc(Symbol*, section_size_type,
-                Output_data_reloc<sh_type, true, size, big_endian>*);
-
   // Save a reloc against SYM for possible emission later.
   void
-  save(Symbol*, Sized_relobj<size, big_endian>*, unsigned int shndx,
+  save(Symbol*, Sized_relobj_file<size, big_endian>*, unsigned int shndx,
        Output_section*, const Reloc& rel);
 
   // The target specific relocation type of the COPY relocation.
This page took 0.024482 seconds and 4 git commands to generate.