// plugin.h -- plugin manager for gold -*- C++ -*-
-// Copyright 2008, 2009, 2010, 2011, 2013 Free Software Foundation, Inc.
+// Copyright (C) 2008-2015 Free Software Foundation, Inc.
// Written by Cary Coutant <ccoutant@google.com>.
// This file is part of gold.
in_claim_file_handler_(false),
options_(options), workqueue_(NULL), task_(NULL), input_objects_(NULL),
symtab_(NULL), layout_(NULL), dirpath_(NULL), mapfile_(NULL),
- this_blocker_(NULL), extra_search_path_()
+ this_blocker_(NULL), extra_search_path_(), lock_(NULL),
+ initialize_lock_(&lock_)
{ this->current_ = plugins_.end(); }
~Plugin_manager();
input_objects() const
{ return this->input_objects_; }
+ Symbol_table*
+ symtab()
+ { return this->symtab_; }
+
Layout*
layout()
{ return this->layout_; }
// An extra directory to seach for the libraries passed by
// add_input_library.
std::string extra_search_path_;
+ Lock* lock_;
+ Initialize_lock initialize_lock_;
};
// Fill in the symbol resolution status for the given plugin symbols.
ld_plugin_status
- get_symbol_resolution_info(int nsyms,
+ get_symbol_resolution_info(Symbol_table* symtab,
+ int nsyms,
ld_plugin_symbol* syms,
int version) const;
// Get the name of a section.
std::string
- do_section_name(unsigned int shndx);
+ do_section_name(unsigned int shndx) const;
// Return a view of the contents of a section.
const unsigned char*