Framework for relocation scanning. Implement simple static TLS

relocations.
This commit is contained in:
Ian Lance Taylor
2006-10-20 20:40:49 +00:00
parent af4658dc3d
commit 92e059d8dc
24 changed files with 2382 additions and 348 deletions

View File

@ -14,6 +14,7 @@
#include <list>
#include <string>
#include <vector>
namespace gold
{
@ -52,6 +53,11 @@ class General_options
is_relocatable() const
{ return this->is_relocatable_; }
// --shared: Whether generating a shared object.
bool
is_shared() const
{ return this->is_shared_; }
// --static: Whether doing a static link.
bool
is_static() const
@ -73,6 +79,10 @@ class General_options
set_relocatable()
{ this->is_relocatable_ = true; }
void
set_shared()
{ this->is_shared_ = true; }
void
set_static()
{ this->is_static_ = true; }
@ -80,6 +90,7 @@ class General_options
Dir_list search_path_;
const char* output_file_name_;
bool is_relocatable_;
bool is_shared_;
bool is_static_;
// Don't copy this structure.
@ -143,6 +154,11 @@ class Input_argument
Position_dependent_options options_;
};
// A list of input files.
class Input_argument_list : public std::vector<Input_argument>
{
};
// All the information read from the command line.
class Command_line
@ -164,8 +180,6 @@ class Command_line
options() const
{ return this->options_; }
typedef std::list<Input_argument> Input_argument_list;
// Get the list of input files.
const Input_argument_list&
inputs() const