aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2008-04-09 00:48:13 +0000
committerIan Lance Taylor <ian@airs.com>2008-04-09 00:48:13 +0000
commit0864d55193d9ad757c26cba29da1de1c00be4ba8 (patch)
treebd0b661d221890ae9c1e7211dd2a861f5140f2a7 /gold/options.cc
parent * errors.cc (Errors::undefined_symbol): Mention symbol version if (diff)
downloadbinutils-gdb-0864d55193d9ad757c26cba29da1de1c00be4ba8.tar.gz
binutils-gdb-0864d55193d9ad757c26cba29da1de1c00be4ba8.tar.bz2
binutils-gdb-0864d55193d9ad757c26cba29da1de1c00be4ba8.zip
* options.h (class General_options): Define --wrap as a special
option. Add wrap_symbols_ field. (General_options::any_wrap_symbols): New function. (General_options::is_wrap_symbol): New function. * options.cc (General_options::parse_wrap): New function. (General_options::General_options): Initialize wrap_symbols_. * symtab.cc (Symbol_table::wrap_symbol): New function. (Symbol_table::add_from_object): Handle --wrap. * symtab.h (class Symbol_table): Declare wrap_symbol. * target.h (Target::wrap_char): New function. (Target::Target_info): Add wrap_char field. * i386.cc (Target_i386::i386_info): Initialize wrap_char. * x86_64.cc (Target_x86_64::x86_64_info): Likewise. * testsuite/testfile.cc (Target_test::test_target_info): Likewise.
Diffstat (limited to 'gold/options.cc')
-rw-r--r--gold/options.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/gold/options.cc b/gold/options.cc
index b6e4711881c..a80f32cb960 100644
--- a/gold/options.cc
+++ b/gold/options.cc
@@ -325,6 +325,13 @@ General_options::parse_version_script(const char*, const char* arg,
}
void
+General_options::parse_wrap(const char*, const char* arg,
+ Command_line*)
+{
+ this->wrap_symbols_.insert(std::string(arg));
+}
+
+void
General_options::parse_start_group(const char*, const char*,
Command_line* cmdline)
{
@@ -581,7 +588,7 @@ namespace gold
General_options::General_options()
: execstack_status_(General_options::EXECSTACK_FROM_INPUT), static_(false),
- do_demangle_(false)
+ do_demangle_(false), wrap_symbols_()
{
}