diff options
author | Cary Coutant <ccoutant@google.com> | 2014-03-10 13:34:53 -0700 |
---|---|---|
committer | Cary Coutant <ccoutant@google.com> | 2014-03-10 13:34:53 -0700 |
commit | 918fc1f8d23c634227c871b67ccb4ed32d0df83c (patch) | |
tree | a3904ecadd4c4da6a0b94509be387d622fbda540 /gold/target.h | |
parent | 98ff9231545f9ba7221ad64ec1ff17cf52cafc07 (diff) | |
download | gdb-918fc1f8d23c634227c871b67ccb4ed32d0df83c.zip gdb-918fc1f8d23c634227c871b67ccb4ed32d0df83c.tar.gz gdb-918fc1f8d23c634227c871b67ccb4ed32d0df83c.tar.bz2 |
Allow target to add custom dynamic table entries.
2014-03-10 Sasa Stankovic <Sasa.Stankovic@imgtec.com>
gold/
* output.cc (Output_data_dynamic::Dynamic_entry::write):
Get the value of DYNAMIC_CUSTOM dynamic entry.
* output.h (Output_data_dynamic::add_custom): New function.
(Dynamic_entry::Dynamic_entry): New constructor for DYNAMIC_CUSTOM
dynamic entry.
(enum Dynamic_entry::Classification): Add DYNAMIC_CUSTOM.
* target.h (Target::dynamic_tag_custom_value): New function.
(Target::do_dynamic_tag_custom_value): New function.
Diffstat (limited to 'gold/target.h')
-rw-r--r-- | gold/target.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gold/target.h b/gold/target.h index 1be300a..bd51250 100644 --- a/gold/target.h +++ b/gold/target.h @@ -470,6 +470,11 @@ class Target versions, symtab); } + // Get the custom dynamic tag value. + unsigned int + dynamic_tag_custom_value(elfcpp::DT tag) const + { return this->do_dynamic_tag_custom_value(tag); } + protected: // This struct holds the constant information for a child class. We // use a struct to avoid the overhead of virtual function calls for @@ -753,6 +758,11 @@ class Target Symbol_table*) const { gold_unreachable(); } + // This may be overridden by the child class. + virtual unsigned int + do_dynamic_tag_custom_value(elfcpp::DT) const + { gold_unreachable(); } + private: // The implementations of the four do_make_elf_object virtual functions are // almost identical except for their sizes and endianness. We use a template. |