Copy in_reg and in_dyn when resolving NAME/VERSION with NAME/NULL.
This commit is contained in:
parent
ae13662f95
commit
1ebd95fdf1
2 changed files with 9 additions and 0 deletions
|
@ -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
|
||||||
|
|
|
@ -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()
|
||||||
|
|
Loading…
Reference in a new issue