summaryrefslogtreecommitdiff
path: root/gold/yyscript.y
diff options
context:
space:
mode:
authorRoland McGrath <mcgrathr@google.com>2016-08-12 09:50:49 -0700
committerRoland McGrath <mcgrathr@google.com>2016-08-12 09:50:49 -0700
commitf300578f78f5ecddc9cfb28c02d032a0acffdf70 (patch)
tree17eff36a7e48846b8e5bc71d90f8e707b3f79f66 /gold/yyscript.y
parent90ac242072dc68ad454aaaa228868b0f1c8e10f9 (diff)
[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.
Diffstat (limited to 'gold/yyscript.y')
-rw-r--r--gold/yyscript.y3
1 files changed, 3 insertions, 0 deletions
diff --git a/gold/yyscript.y b/gold/yyscript.y
index 7e6bd27b41..38831d5609 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 ')'