From: Roland McGrath Date: Fri, 12 Aug 2016 16:50:49 +0000 (-0700) Subject: [gold] Implement HIDDEN syntax in linker scripts X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=f300578f78f5ecddc9cfb28c02d032a0acffdf70;p=deliverable%2Fbinutils-gdb.git [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. --- diff --git a/gold/ChangeLog b/gold/ChangeLog index 687e56e282..a156163027 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,9 @@ +2016-08-12 Roland McGrath + + * yyscript.y (HIDDEN): New %token. + (assignment): Handle HIDDEN(string = expr) syntax. + * script.cc (script_keyword_parsecodes): Add HIDDEN. + 2016-08-10 Cary Coutant PR gold/20216 diff --git a/gold/script.cc b/gold/script.cc index d6aa7b250a..bb8b4372f8 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 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 ')'