diff options
Diffstat (limited to 'gold/output.h')
-rw-r--r-- | gold/output.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gold/output.h b/gold/output.h index 1354551..032a2bb 100644 --- a/gold/output.h +++ b/gold/output.h @@ -2342,6 +2342,12 @@ class Output_segment this->are_addresses_set_ = true; } + // Set the segment flags. This is only used if we have a PHDRS + // clause which explicitly specifies the flags. + void + set_flags(elfcpp::Elf_Word flags) + { this->flags_ = flags; } + // Set the address of the segment to ADDR and the offset to *POFF // and set the addresses and offsets of all contained output // sections accordingly. Set the section indexes of all contained @@ -2372,6 +2378,12 @@ class Output_segment unsigned int output_section_count() const; + // Return the section attached to the list segment with the lowest + // load address. This is used when handling a PHDRS clause in a + // linker script. + Output_section* + section_with_lowest_load_address() const; + // Write the segment header into *OPHDR. template<int size, bool big_endian> void @@ -2411,6 +2423,13 @@ class Output_segment unsigned int dynamic_reloc_count_list(const Output_data_list*) const; + // Find the section with the lowest load address in an + // Output_data_list. + void + lowest_load_address_in_list(const Output_data_list* pdl, + Output_section** found, + uint64_t* found_lma) const; + // Write the section headers in the list into V. template<int size, bool big_endian> unsigned char* |