// symtab.h -- the gold symbol table -*- C++ -*-
-// Copyright 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+// Copyright (C) 2006-2014 Free Software Foundation, Inc.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of gold.
nonvis() const
{ return this->nonvis_; }
+ // Set the non-visibility part of the st_other field.
+ void
+ set_nonvis(unsigned int nonvis)
+ { this->nonvis_ = nonvis; }
+
// Return whether this symbol is a forwarder. This will never be
// true of a symbol found in the hash table, but may be true of
// symbol pointers attached to object files.
if (!parameters->options().shared())
return false;
- // If the user used -Bsymbolic, then nothing is preemptible.
- if (parameters->options().Bsymbolic())
+ // If the symbol was named in a --dynamic-list script, it is preemptible.
+ if (parameters->options().in_dynamic_list(this->name()))
+ return true;
+
+ // If the user used -Bsymbolic or provided a --dynamic-list script,
+ // then nothing (else) is preemptible.
+ if (parameters->options().Bsymbolic()
+ || parameters->options().have_dynamic_list())
return false;
// If the user used -Bsymbolic-functions, then functions are not