Fix group signature handling for relocatable link, add bootstrap

relocatable test.
This commit is contained in:
Ian Lance Taylor
2008-02-06 19:32:32 +00:00
parent 06b1d59cd6
commit 755ab8af10
7 changed files with 204 additions and 37 deletions

View File

@@ -171,6 +171,10 @@ class Layout
define_script_symbols(Symbol_table* symtab)
{ this->script_options_->add_symbols_to_table(symtab); }
// Define symbols for group signatures.
void
define_group_signatures(Symbol_table*);
// Return the Stringpool used for symbol names.
const Stringpool*
sympool() const
@@ -332,6 +336,25 @@ class Layout
static const Linkonce_mapping linkonce_mapping[];
static const int linkonce_mapping_count;
// During a relocatable link, a list of group sections and
// signatures.
struct Group_signature
{
// The group section.
Output_section* section;
// The signature.
const char* signature;
Group_signature()
: section(NULL), signature(NULL)
{ }
Group_signature(Output_section* sectiona, const char* signaturea)
: section(sectiona), signature(signaturea)
{ }
};
typedef std::vector<Group_signature> Group_signatures;
// Create a .note section for gold.
void
create_gold_note();
@@ -537,6 +560,8 @@ class Layout
Eh_frame* eh_frame_data_;
// The exception frame header output section if there is one.
Output_section* eh_frame_hdr_section_;
// A list of group sections and their signatures.
Group_signatures group_signatures_;
// The size of the output file.
off_t output_file_size_;
// Whether we have seen an object file marked to require an