Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Unified Diff: gold/target.h

Issue 10252012: [MIPS] Initial checkin for MIPS changes for GOLD. (Closed)
Patch Set: Updated MIPS code w/ SH_RELA. Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gold/symtab.cc ('k') | gold/utils.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gold/target.h
===================================================================
--- a/gold/target.h
+++ b/gold/target.h
@@ -60,6 +60,7 @@
class Output_section;
class Input_objects;
class Task;
+class Output_data_dynamic;
// The abstract class for target specific handling.
@@ -203,6 +204,11 @@
Symbol_table* symtab)
{ return this->do_finalize_sections(layout, input_objects, symtab); }
+ // Fix data that are known after finalize_sections for MIPS (and possible
+ // some other architectures).
+ void fix_sections(Layout* layout, Symbol_table* symtab)
+ { return this->do_fix_sections(layout, symtab); }
+
// Return the value to use for a global symbol which needs a special
// value in the dynamic symbol table. This will only be called if
// the backend first calls symbol->set_needs_dynsym_value().
@@ -235,6 +241,11 @@
is_local_label_name(const char* name) const
{ return this->do_is_local_label_name(name); }
+ // Get the value for target specific dynamic tags.
+ unsigned int
+ dynamic_tag_value(elfcpp::DT tag) const
+ { return this->do_dynamic_tag_value(tag); }
+
// Get the symbol index to use for a target specific reloc.
unsigned int
reloc_symbol_index(void* arg, unsigned int type) const
@@ -467,6 +478,11 @@
{ }
// Virtual function which may be implemented by the child class.
+ virtual void
+ do_fix_sections(Layout*, Symbol_table*)
+ { }
+
+ // Virtual function which may be implemented by the child class.
virtual uint64_t
do_dynsym_value(const Symbol*) const
{ gold_unreachable(); }
@@ -495,6 +511,12 @@
do_is_local_label_name(const char*) const;
// Virtual function that must be overridden by a target which uses
+ // target specific dynamic tags.
+ virtual unsigned int
+ do_dynamic_tag_value(elfcpp::DT) const
+ { gold_unreachable(); }
+
+ // Virtual function that must be overridden by a target which uses
// target specific relocations.
virtual unsigned int
do_reloc_symbol_index(void*, unsigned int) const
« no previous file with comments | « gold/symtab.cc ('k') | gold/utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698