void
define_section_symbols(Symbol_table*);
+ // Create sections for linker scripts.
+ void
+ create_script_sections()
+ { this->script_options_->create_script_sections(this); }
+
// Define symbols from any linker script.
void
define_script_symbols(Symbol_table* symtab)
void
get_allocated_sections(Section_list*) const;
+ // Make a section for a linker script to hold data.
+ Output_section*
+ make_output_section_for_script(const char* name);
+
// Make a segment. This is used by the linker script code.
Output_segment*
make_output_segment(elfcpp::Elf_Word type, elfcpp::Elf_Word flags);
const Symbol_table*,
unsigned int local_symcount,
const std::vector<Symbol*>& dynamic_symbols,
- const Output_section* dynstr
- ACCEPT_SIZE_ENDIAN);
+ const Output_section* dynstr);
// Return whether to include this section in the link.
template<int size, bool big_endian>
make_output_section(const char* name, elfcpp::Elf_Word type,
elfcpp::Elf_Xword flags);
+ // Attach a section to a segment.
+ void
+ attach_to_segment(Output_section*, elfcpp::Elf_Xword flags);
+
+ // Allocate a previously unallocated output section.
+ void
+ allocate_output_section(Output_section*, elfcpp::Elf_Xword flags);
+
+ // Turn a read-only output section into a read-write output section.
+ void
+ write_enable_output_section(Output_section*, 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);