From 1ebd95fdf1ebf842d59c98715fa7b62ba85f0c83 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 a5701349835..68ce3b1efee 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 cba97d0bf9e..15d1f788eb0 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.30.2