diff options
author | Ian Lance Taylor <iant@google.com> | 2007-08-29 03:42:51 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2007-08-29 03:42:51 +0000 |
commit | 1ebd95fdf1ebf842d59c98715fa7b62ba85f0c83 (patch) | |
tree | 712e3e081348abc7134d94f2546db96c21b38c7f /gold | |
parent | ae13662f958ab4a001294eb832f0dc058fc7c8fa (diff) | |
download | fsf-binutils-gdb-1ebd95fdf1ebf842d59c98715fa7b62ba85f0c83.zip fsf-binutils-gdb-1ebd95fdf1ebf842d59c98715fa7b62ba85f0c83.tar.gz fsf-binutils-gdb-1ebd95fdf1ebf842d59c98715fa7b62ba85f0c83.tar.bz2 |
Copy in_reg and in_dyn when resolving NAME/VERSION with NAME/NULL.
Diffstat (limited to 'gold')
-rw-r--r-- | gold/symtab.cc | 4 | ||||
-rw-r--r-- | gold/symtab.h | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gold/symtab.cc b/gold/symtab.cc index a570134..68ce3b1 100644 --- a/gold/symtab.cc +++ b/gold/symtab.cc @@ -267,6 +267,10 @@ Symbol_table::resolve(Sized_symbol<size>* to, const Sized_symbol<size>* from, esym.put_st_other(from->visibility(), from->nonvis()); esym.put_st_shndx(from->shndx()); Symbol_table::resolve(to, esym.sym(), from->object(), version); + if (from->in_reg()) + to->set_in_reg(); + if (from->in_dyn()) + to->set_in_dyn(); } // Add one symbol from OBJECT to the symbol table. NAME is symbol diff --git a/gold/symtab.h b/gold/symtab.h index cba97d0..15d1f78 100644 --- a/gold/symtab.h +++ b/gold/symtab.h @@ -195,6 +195,11 @@ class Symbol set_in_reg() { this->in_reg_ = true; } + // Return whether this symbol has been seen in a dynamic object. + bool + in_dyn() const + { return this->in_dyn_; } + // Mark this symbol as having been seen in a dynamic object. void set_in_dyn() |