Add -rpath-link option, currently unused.
authorIan Lance Taylor <iant@google.com>
Thu, 6 Sep 2007 23:37:53 +0000 (23:37 +0000)
committerIan Lance Taylor <iant@google.com>
Thu, 6 Sep 2007 23:37:53 +0000 (23:37 +0000)
gold/options.cc
gold/options.h

index af168ad..2c0579e 100644 (file)
@@ -249,11 +249,15 @@ options::Command_line_options::options[] =
              &General_options::set_output_file_name),
   GENERAL_NOARG('r', NULL, N_("Generate relocatable output"), NULL,
                ONE_DASH, &General_options::set_relocatable),
-  GENERAL_ARG('R', "rpath", N_("Add directory to runtime search path"),
+  GENERAL_ARG('R', "rpath", N_("Add DIR to runtime search path"),
               N_("-R DIR, -rpath DIR"), ONE_DASH,
               &General_options::add_to_rpath),
   GENERAL_NOARG('\0', "eh-frame-hdr", N_("Create exception frame header"),
                 NULL, TWO_DASHES, &General_options::create_eh_frame_hdr),
+  GENERAL_ARG('\0', "rpath-link",
+              N_("Add DIR to link time shared library search path"),
+              N_("--rpath-link DIR"), TWO_DASHES,
+              &General_options::add_to_rpath_link),
   GENERAL_NOARG('\0', "shared", N_("Generate shared library"),
                NULL, ONE_DASH, &General_options::set_shared),
   GENERAL_NOARG('\0', "static", N_("Do not link against shared libraries"),
@@ -289,6 +293,7 @@ General_options::General_options()
     is_relocatable_(false),
     create_eh_frame_hdr_(false),
     rpath_(),
+    rpath_link_(),
     is_shared_(false),
     is_static_(false)
 {
index 7b1fe67..3521f08 100644 (file)
@@ -74,6 +74,11 @@ class General_options
   rpath() const
   { return this->rpath_; }
 
+  // --rpath-link: The link time search patch for shared libraries.
+  const Dir_list&
+  rpath_link() const
+  { return this->rpath_link_; }
+
   // --shared: Whether generating a shared object.
   bool
   is_shared() const
@@ -121,6 +126,10 @@ class General_options
   { this->rpath_.push_back(arg); }
 
   void
+  add_to_rpath_link(const char* arg)
+  { this->rpath_link_.push_back(arg); }
+
+  void
   set_shared()
   { this->is_shared_ = true; }
 
@@ -139,6 +148,7 @@ class General_options
   bool is_relocatable_;
   bool create_eh_frame_hdr_;
   Dir_list rpath_;
+  Dir_list rpath_link_;
   bool is_shared_;
   bool is_static_;
 };