diff options
author | Craig Silverstein <csilvers@google.com> | 2008-11-06 07:23:31 +0000 |
---|---|---|
committer | Craig Silverstein <csilvers@google.com> | 2008-11-06 07:23:31 +0000 |
commit | c82fbeee5970971ab2988ab7fda3439719df09ab (patch) | |
tree | e3d01b8663155d445595c3a0a9e410e4d82bc3d2 /gold/options.cc | |
parent | e0bb29a5842200725829ebdb21dfa1f3c692b223 (diff) | |
download | fsf-binutils-gdb-c82fbeee5970971ab2988ab7fda3439719df09ab.zip fsf-binutils-gdb-c82fbeee5970971ab2988ab7fda3439719df09ab.tar.gz fsf-binutils-gdb-c82fbeee5970971ab2988ab7fda3439719df09ab.tar.bz2 |
* options.cc (General_options::parse_dynamic_list): New function.
* options.h (General_options): New flags dynamic_list,
dynamic_list_data, dynamic_list_cpp_new, and
dynamic_list_cpp_typeinfo. New variable dynamic_list_.
(General_options::in_dynamic_list): New function.
* script.cc (Lex::Mode): New enum DYNAMIC_LIST.
(Lex::can_start_name): Add support for DYNAMIC_LIST mode.
(Lex::can_continue_name): Likewise.
(yylex): Likewise.
(read_script_file): New parameter script_options.
(read_dynamic_list): New function.
(Script_options::define_dynamic_list): New function.
(dynamic_list_keyword_parsecodes): New variable.
(dynamic_list_keywords): New variable.
* script.h (Script_options::define_dynamic_list): New function
prototype.
(read_dynamic_list): New function prototype.
* symtab.cc (strprefix): New macro.
(Symbol::should_add_dynsym_entry): Support dynamic_list,
dynamic_list_data, dynamic_list_cpp_new, and
dynamic_list_cpp_typeinfo.
* yyscript.y (PARSING_DYNAMIC_LIST): New token.
(dynamic_list_expr): New rule.
(dynamic_list_nodes): Likewise.
(dynamic_list_node): Likewise.
* testsuite/Makefile.am (dynamic_list): New test.
* testsuite/Makefile.in: Regenerated.
* testsuite/dynamic_list.t: New file.
* testsuite/dynamic_list.sh: New file.
Diffstat (limited to 'gold/options.cc')
-rw-r--r-- | gold/options.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gold/options.cc b/gold/options.cc index 069c138..90fa163 100644 --- a/gold/options.cc +++ b/gold/options.cc @@ -348,6 +348,14 @@ General_options::parse_version_script(const char*, const char* arg, } void +General_options::parse_dynamic_list(const char*, const char* arg, + Command_line* cmdline) +{ + if (!read_dynamic_list(arg, cmdline, &this->dynamic_list_)) + gold::gold_fatal(_("unable to parse dynamic-list script file %s"), arg); +} + +void General_options::parse_start_group(const char*, const char*, Command_line* cmdline) { |