This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch][gold] Add -nostdlib


The attached patch adds the -nostdlib option. I didn't include a warning for
the script case since gnu ld is silent when ignoring SEARCH_DIR.

2010-05-18  Rafael Espindola  <espindola@google.com>

	* options.cc (General_options::finalize): Handle -nostdlib.
	* options.h (nostdlib): New option.
	* script.cc (script_add_search_dir): Handle -nostdlib.

Cheers,
-- 
Rafael Ãvila de EspÃndola
diff --git a/gold/options.cc b/gold/options.cc
index c566b99..6ff4dfd 100644
--- a/gold/options.cc
+++ b/gold/options.cc
@@ -1074,7 +1074,7 @@ General_options::finalize()
 	}
       while (next_pos != std::string::npos);
     }
-  else
+  else if(!this->nostdlib())
     {
       // Even if they don't specify it, we add -L /lib and -L /usr/lib.
       // FIXME: We should only do this when configured in native mode.
diff --git a/gold/options.h b/gold/options.h
index ca5f74d..1e328a8 100644
--- a/gold/options.h
+++ b/gold/options.h
@@ -800,6 +800,10 @@ class General_options
   DEFINE_dirlist(library_path, options::TWO_DASHES, 'L',
                  N_("Add directory to search path"), N_("DIR"));
 
+  DEFINE_bool(nostdlib, options::ONE_DASH, '\0', false,
+              N_(" Only search directories specified on the command line."),
+              NULL);
+
   DEFINE_string(m, options::EXACTLY_ONE_DASH, 'm', "",
                 N_("Ignored for compatibility"), N_("EMULATION"));
 
diff --git a/gold/script.cc b/gold/script.cc
index a68fb38..1015c40 100644
--- a/gold/script.cc
+++ b/gold/script.cc
@@ -2767,7 +2767,7 @@ script_add_search_dir(void* closurev, const char* option, size_t length)
     gold_warning(_("%s:%d:%d: ignoring SEARCH_DIR; SEARCH_DIR is only valid"
 		   " for scripts specified via -T/--script"),
 		 closure->filename(), closure->lineno(), closure->charpos());
-  else
+  else if(!closure->command_line()->options().nostdlib())
     {
       std::string s = "-L" + std::string(option, length);
       script_parse_option(closurev, s.c_str(), s.size());

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]