From 91e75c8a9c3b92c1699a156890fc97587bc17098 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20=C3=81vila=20de=20Esp=C3=ADndola?= Date: Tue, 18 May 2010 18:08:03 +0000 Subject: 2010-05-18 Rafael Espindola * options.cc (General_options::finalize): Handle -nostdlib. * options.h (nostdlib): New option. * script.cc (script_add_search_dir): Handle -nostdlib. --- gold/ChangeLog | 6 ++++++ gold/options.cc | 2 +- gold/options.h | 4 ++++ gold/script.cc | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) (limited to 'gold') diff --git a/gold/ChangeLog b/gold/ChangeLog index 71bbf2a..1085875 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,9 @@ +2010-05-18 Rafael Espindola + + * options.cc (General_options::finalize): Handle -nostdlib. + * options.h (nostdlib): New option. + * script.cc (script_add_search_dir): Handle -nostdlib. + 2010-05-12 Doug Kwan * arm.cc (Target_arm::do_finalize_sections): Create an empty diff --git a/gold/options.cc b/gold/options.cc index c566b99..b209f85 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..fc036bb 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()); -- cgit v1.1