From 3bd4db95fbc7207ddcb4cdde3a229a7fec59fc1f Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 29 Aug 2007 03:42:51 +0000 Subject: [PATCH] Copy in_reg and in_dyn when resolving NAME/VERSION with NAME/NULL. --- gold/symtab.cc | 4 ++++ gold/symtab.h | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/gold/symtab.cc b/gold/symtab.cc index a57013498..68ce3b1ef 100644 --- a/gold/symtab.cc +++ b/gold/symtab.cc @@ -267,6 +267,10 @@ Symbol_table::resolve(Sized_symbol* to, const Sized_symbol* 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 cba97d0bf..15d1f788e 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() -- 2.11.4.GIT