diff options
author | Roland McGrath <mcgrathr@google.com> | 2016-08-12 09:50:49 -0700 |
---|---|---|
committer | Roland McGrath <mcgrathr@google.com> | 2016-08-12 09:50:49 -0700 |
commit | f300578f78f5ecddc9cfb28c02d032a0acffdf70 (patch) | |
tree | 17eff36a7e48846b8e5bc71d90f8e707b3f79f66 | |
parent | 90ac242072dc68ad454aaaa228868b0f1c8e10f9 (diff) | |
download | gdb-f300578f78f5ecddc9cfb28c02d032a0acffdf70.zip gdb-f300578f78f5ecddc9cfb28c02d032a0acffdf70.tar.gz gdb-f300578f78f5ecddc9cfb28c02d032a0acffdf70.tar.bz2 |
[gold] Implement HIDDEN syntax in linker scripts
gold/
* yyscript.y (HIDDEN): New %token.
(assignment): Handle HIDDEN(string = expr) syntax.
* script.cc (script_keyword_parsecodes): Add HIDDEN.
-rw-r--r-- | gold/ChangeLog | 6 | ||||
-rw-r--r-- | gold/script.cc | 3 | ||||
-rw-r--r-- | gold/yyscript.y | 3 |
3 files changed, 11 insertions, 1 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index 687e56e..a156163 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,9 @@ +2016-08-12 Roland McGrath <roland@hack.frob.com> + + * yyscript.y (HIDDEN): New %token. + (assignment): Handle HIDDEN(string = expr) syntax. + * script.cc (script_keyword_parsecodes): Add HIDDEN. + 2016-08-10 Cary Coutant <ccoutant@gmail.com> PR gold/20216 diff --git a/gold/script.cc b/gold/script.cc index d6aa7b2..bb8b437 100644 --- a/gold/script.cc +++ b/gold/script.cc @@ -1755,6 +1755,7 @@ script_keyword_parsecodes[] = { "FLOAT", FLOAT }, { "FORCE_COMMON_ALLOCATION", FORCE_COMMON_ALLOCATION }, { "GROUP", GROUP }, + { "HIDDEN", HIDDEN }, { "HLL", HLL }, { "INCLUDE", INCLUDE }, { "INFO", INFO }, @@ -2696,7 +2697,7 @@ script_add_library(void* closurev, const char* name, size_t length) if (name_string[0] != 'l') gold_error(_("library name must be prefixed with -l")); - + Input_file_argument file(name_string.c_str() + 1, Input_file_argument::INPUT_FILE_TYPE_LIBRARY, "", false, diff --git a/gold/yyscript.y b/gold/yyscript.y index 7e6bd27..38831d5 100644 --- a/gold/yyscript.y +++ b/gold/yyscript.y @@ -137,6 +137,7 @@ %token FORCE_COMMON_ALLOCATION %token GLOBAL /* global */ %token GROUP +%token HIDDEN %token HLL %token INCLUDE %token INHIBIT_COMMON_ALLOCATION @@ -864,6 +865,8 @@ assignment: Expression_ptr e = script_exp_binary_bitwise_or(s, $3); script_set_symbol(closure, $1.value, $1.length, e, 0, 0); } + | HIDDEN '(' string '=' parse_exp ')' + { script_set_symbol(closure, $3.value, $3.length, $5, 0, 1); } | PROVIDE '(' string '=' parse_exp ')' { script_set_symbol(closure, $3.value, $3.length, $5, 1, 0); } | PROVIDE_HIDDEN '(' string '=' parse_exp ')' |