]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gold/layout.h
From Cary Coutant: More support for generating shared libraries.
[thirdparty/binutils-gdb.git] / gold / layout.h
index a7908925149cc9dcb24b0ba6bf9896f4107e8dec..12f703f70c1b7c7295edd3c27323dafb286212d7 100644 (file)
@@ -270,6 +270,11 @@ class Layout
   Output_segment*
   find_first_load_seg();
 
+  // Count the local symbols in the regular symbol table and the dynamic
+  // symbol table, and build the respective string pools.
+  void
+  count_local_symbols(const Input_objects*);
+
   // Create the output sections for the symbol table.
   void
   create_symtab_sections(const Input_objects*, Symbol_table*, off_t*);
@@ -284,11 +289,16 @@ class Layout
 
   // Create the dynamic symbol table.
   void
-  create_dynamic_symtab(const Target*, Symbol_table*, Output_section** pdynstr,
+  create_dynamic_symtab(const Input_objects*, const Target*,
+                        Symbol_table*, Output_section** pdynstr,
                        unsigned int* plocal_dynamic_count,
                        std::vector<Symbol*>* pdynamic_symbols,
                        Versions* versions);
 
+  // Assign offsets to each local portion of the dynamic symbol table.
+  void
+  assign_local_dynsym_offsets(const Input_objects*);
+
   // Finish the .dynamic section and PT_DYNAMIC segment.
   void
   finish_dynamic_section(const Input_objects*, const Symbol_table*);