Copy in_reg and in_dyn when resolving NAME/VERSION with NAME/NULL.

This commit is contained in:
Ian Lance Taylor 2007-08-29 03:42:51 +00:00
parent ae13662f95
commit 1ebd95fdf1
2 changed files with 9 additions and 0 deletions

View file

@ -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_other(from->visibility(), from->nonvis());
esym.put_st_shndx(from->shndx()); esym.put_st_shndx(from->shndx());
Symbol_table::resolve(to, esym.sym(), from->object(), version); 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 // Add one symbol from OBJECT to the symbol table. NAME is symbol

View file

@ -195,6 +195,11 @@ class Symbol
set_in_reg() set_in_reg()
{ this->in_reg_ = true; } { 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. // Mark this symbol as having been seen in a dynamic object.
void void
set_in_dyn() set_in_dyn()