diff options
author | Ian Lance Taylor <iant@google.com> | 2006-11-14 19:21:05 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2006-11-14 19:21:05 +0000 |
commit | dbe717effbdf31236088837f4686fd5ad5e71893 (patch) | |
tree | fd5ed267334d62fadcaf7ff7132c0a7287553ed8 /gold/layout.h | |
parent | 6c73cbb1d9a26d1c4d9bd5464832846b7c049b9d (diff) | |
download | gdb-dbe717effbdf31236088837f4686fd5ad5e71893.zip gdb-dbe717effbdf31236088837f4686fd5ad5e71893.tar.gz gdb-dbe717effbdf31236088837f4686fd5ad5e71893.tar.bz2 |
More dynamic object support, initial scripting support.
Diffstat (limited to 'gold/layout.h')
-rw-r--r-- | gold/layout.h | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/gold/layout.h b/gold/layout.h index fa34617..759fd85 100644 --- a/gold/layout.h +++ b/gold/layout.h @@ -154,15 +154,6 @@ class Layout Output_segment* find_first_load_seg(); - // Set the final file offsets of all the segments. - off_t - set_segment_offsets(const Target*, Output_segment*, unsigned int* pshndx); - - // Set the final file offsets and section indices of all the - // sections not associated with a segment. - off_t - set_section_offsets(off_t, unsigned int *pshndx); - // Create the output sections for the symbol table. void create_symtab_sections(int size, const Input_objects*, Symbol_table*, off_t*, @@ -177,6 +168,18 @@ class Layout Output_section_headers* create_shdrs(int size, bool big_endian, off_t*); + // Create the dynamic symbol table. + void + create_dynamic_symtab(int size, Symbol_table*); + + // Create the .dynamic section and PT_DYNAMIC segment. + void + create_dynamic_section(); + + // Create the .interp section and PT_INTERP segment. + void + create_interp(const Target* target); + // Return whether to include this section in the link. template<int size, bool big_endian> bool @@ -204,6 +207,15 @@ class Layout make_output_section(const char* name, elfcpp::Elf_Word type, elfcpp::Elf_Xword flags); + // Set the final file offsets of all the segments. + off_t + set_segment_offsets(const Target*, Output_segment*, unsigned int* pshndx); + + // Set the final file offsets and section indices of all the + // sections not associated with a segment. + off_t + set_section_offsets(off_t, unsigned int *pshndx); + // Return whether SEG1 comes before SEG2 in the output file. static bool segment_precedes(const Output_segment* seg1, const Output_segment* seg2); |