This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[patch][gold] Add -nostdlib
- From: Rafael Espindola <espindola at google dot com>
- To: Binutils <binutils at sourceware dot org>
- Cc: Ian Lance Taylor <iant at google dot com>
- Date: Tue, 18 May 2010 12:19:50 -0400
- Subject: [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());