Index: gold/symtab.h |
=================================================================== |
--- a/gold/symtab.h |
+++ b/gold/symtab.h |
@@ -255,6 +255,11 @@ |
nonvis() const |
{ return this->nonvis_; } |
+ // Set the non-visibility part of the st_other field. |
+ void |
+ set_nonvis(unsigned int nonvis) |
+ { this->nonvis_ = nonvis; } |
+ |
// Return whether this symbol is a forwarder. This will never be |
// true of a symbol found in the hash table, but may be true of |
// symbol pointers attached to object files. |
@@ -1565,6 +1570,11 @@ |
version_script() const |
{ return version_script_; } |
+ // Return index of the first global symbol with .got entry. |
+ unsigned int |
+ global_got_index() const |
+ { return this->global_got_index_; } |
+ |
private: |
Symbol_table(const Symbol_table&); |
Symbol_table& operator=(const Symbol_table&); |
@@ -1887,6 +1897,12 @@ |
const Version_script_info& version_script_; |
Garbage_collection* gc_; |
Icf* icf_; |
+ // MIPS needs this because dynamic symbol table is divided into local and |
+ // global parts. The global part of the dynamic symbol table is further |
+ // divided into two parts: symbols that do not have GOT entries associated |
+ // with them and symbols that do have GOT entries associated with them. This |
+ // is index of the first global symbol that has .got entry. |
+ unsigned int global_got_index_; |
}; |
// We inline get_sized_symbol for efficiency. |