aboutsummaryrefslogtreecommitdiff
path: root/gold/layout.h
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2007-12-06 05:55:50 +0000
committerIan Lance Taylor <iant@google.com>2007-12-06 05:55:50 +0000
commit7bf1f8020f64a69dc0d93a166c96547655c7eeb2 (patch)
treed430fb9f7ae36dcc1e86b6d71fea9936f0bc443e /gold/layout.h
parentfd6940ea27f3c684c695d9de375e1df8eb589ba6 (diff)
downloadgdb-7bf1f8020f64a69dc0d93a166c96547655c7eeb2.zip
gdb-7bf1f8020f64a69dc0d93a166c96547655c7eeb2.tar.gz
gdb-7bf1f8020f64a69dc0d93a166c96547655c7eeb2.tar.bz2
From Cary Coutant: More support for generating shared libraries.
Diffstat (limited to 'gold/layout.h')
-rw-r--r--gold/layout.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/gold/layout.h b/gold/layout.h
index a790892..12f703f 100644
--- a/gold/layout.h
+++ b/gold/layout.h
@@ -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*);