gdb: fix vfork with multiple threads
[deliverable/binutils-gdb.git] / ld / ldgram.y
index 771d990a5c29efde02c9ab548411459f2aad64cf..dd911f461693292042f798a86fd5b3d8b1feee19 100644 (file)
@@ -1,5 +1,5 @@
 /* A YACC grammar to parse a superset of the AT&T linker scripting language.
-   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   Copyright (C) 1991-2021 Free Software Foundation, Inc.
    Written by Steve Chamberlain of Cygnus Support (steve@cygnus.com).
 
    This file is part of the GNU Binutils.
@@ -29,6 +29,7 @@
 #include "sysdep.h"
 #include "bfd.h"
 #include "bfdlink.h"
+#include "ctf-api.h"
 #include "ld.h"
 #include "ldexp.h"
 #include "ldver.h"
@@ -48,7 +49,7 @@
 static enum section_type sectype;
 static lang_memory_region_type *region;
 
-static bfd_boolean ldgram_had_keep = FALSE;
+static bool ldgram_had_keep = false;
 static char *ldgram_vers_current_lang = NULL;
 
 #define ERROR_NAME_MAX 20
@@ -76,8 +77,8 @@ static int error_index;
   union etree_union *etree;
   struct phdr_info
     {
-      bfd_boolean filehdr;
-      bfd_boolean phdrs;
+      bool filehdr;
+      bool phdrs;
       union etree_union *at;
       union etree_union *flags;
     } phdr;
@@ -175,12 +176,9 @@ filename:  NAME;
 
 
 defsym_expr:
-               { ldlex_defsym(); }
-               NAME '=' exp
-               {
-                 ldlex_popstate();
-                 lang_add_assignment (exp_defsym ($2, $4));
-               }
+               { ldlex_expression(); }
+               assignment
+               { ldlex_popstate(); }
        ;
 
 /* SYNTAX WITHIN AN MRI SCRIPT FILE */
@@ -199,27 +197,27 @@ mri_script_file:
 
 mri_script_lines:
                mri_script_lines mri_script_command NEWLINE
-          |
+       |
        ;
 
 mri_script_command:
                CHIP  exp
        |       CHIP  exp ',' exp
-       |       NAME    {
-                       einfo(_("%P%F: unrecognised keyword in MRI style script '%s'\n"),$1);
+       |       NAME    {
+                       einfo(_("%F%P: unrecognised keyword in MRI style script '%s'\n"),$1);
                        }
-       |       LIST    {
+       |       LIST    {
                        config.map_filename = "-";
                        }
-        |       ORDER ordernamelist
-       |       ENDWORD
-        |       PUBLIC NAME '=' exp
-                       { mri_public($2, $4); }
-        |       PUBLIC NAME ',' exp
-                       { mri_public($2, $4); }
-        |       PUBLIC NAME  exp
-                       { mri_public($2, $3); }
-       |       FORMAT NAME
+       |       ORDER ordernamelist
+       |       ENDWORD
+       |       PUBLIC NAME '=' exp
+                       { mri_public($2, $4); }
+       |       PUBLIC NAME ',' exp
+                       { mri_public($2, $4); }
+       |       PUBLIC NAME  exp
+                       { mri_public($2, $3); }
+       |       FORMAT NAME
                        { mri_format($2); }
        |       SECT NAME ',' exp
                        { mri_output_section($2, $4);}
@@ -237,13 +235,13 @@ mri_script_command:
                        { mri_alignmod($2,$4); }
        |       ABSOLUTE mri_abs_name_list
        |       LOAD     mri_load_name_list
-       |       NAMEWORD NAME
+       |       NAMEWORD NAME
                        { mri_name($2); }
        |       ALIAS NAME ',' NAME
                        { mri_alias($2,$4,0);}
        |       ALIAS NAME ',' INT
                        { mri_alias ($2, 0, (int) $4.integer); }
-       |       BASE     exp
+       |       BASE     exp
                        { mri_base($2); }
        |       TRUNCATE INT
                { mri_truncate ((unsigned int) $2.integer); }
@@ -254,14 +252,14 @@ mri_script_command:
                mri_script_lines END
                { ldlex_popstate (); }
        |       START NAME
-               { lang_add_entry ($2, FALSE); }
-        |
+               { lang_add_entry ($2, false); }
+       |
        ;
 
 ordernamelist:
-             ordernamelist ',' NAME         { mri_order($3); }
-       |     ordernamelist  NAME         { mri_order($2); }
-       |
+             ordernamelist ',' NAME         { mri_order($3); }
+       |     ordernamelist  NAME         { mri_order($2); }
+       |
        ;
 
 mri_load_name_list:
@@ -271,10 +269,10 @@ mri_load_name_list:
        ;
 
 mri_abs_name_list:
-               NAME
-                       { mri_only_load($1); }
+               NAME
+                       { mri_only_load($1); }
        |       mri_abs_name_list ','  NAME
-                       { mri_only_load($3); }
+                       { mri_only_load($3); }
        ;
 
 casesymlist:
@@ -291,22 +289,22 @@ extern_name_list:
 
 extern_name_list_body:
          NAME
-                       { ldlang_add_undef ($1, FALSE); }
+                       { ldlang_add_undef ($1, false); }
        | extern_name_list_body NAME
-                       { ldlang_add_undef ($2, FALSE); }
+                       { ldlang_add_undef ($2, false); }
        | extern_name_list_body ',' NAME
-                       { ldlang_add_undef ($3, FALSE); }
+                       { ldlang_add_undef ($3, false); }
        ;
 
 script_file:
        { ldlex_both(); }
        ifile_list
        { ldlex_popstate(); }
-        ;
+       ;
 
 ifile_list:
        ifile_list ifile_p1
-        |
+       |
        ;
 
 
@@ -320,32 +318,32 @@ ifile_p1:
        |       floating_point_support
        |       statement_anywhere
        |       version
-        |       ';'
+              ';'
        |       TARGET_K '(' NAME ')'
                { lang_add_target($3); }
        |       SEARCH_DIR '(' filename ')'
-               { ldfile_add_library_path ($3, FALSE); }
+               { ldfile_add_library_path ($3, false); }
        |       OUTPUT '(' filename ')'
                { lang_add_output($3, 1); }
-        |      OUTPUT_FORMAT '(' NAME ')'
+             OUTPUT_FORMAT '(' NAME ')'
                  { lang_add_output_format ($3, (char *) NULL,
                                            (char *) NULL, 1); }
        |       OUTPUT_FORMAT '(' NAME ',' NAME ',' NAME ')'
                  { lang_add_output_format ($3, $5, $7, 1); }
-        |      OUTPUT_ARCH '(' NAME ')'
+             OUTPUT_ARCH '(' NAME ')'
                  { ldfile_set_output_arch ($3, bfd_arch_unknown); }
        |       FORCE_COMMON_ALLOCATION
-               { command_line.force_common_definition = TRUE ; }
+               { command_line.force_common_definition = true ; }
        |       FORCE_GROUP_ALLOCATION
-               { command_line.force_group_allocation = TRUE ; }
+               { command_line.force_group_allocation = true ; }
        |       INHIBIT_COMMON_ALLOCATION
-               { command_line.inhibit_common_definition = TRUE ; }
+               { link_info.inhibit_common_definition = true ; }
        |       INPUT '(' input_list ')'
        |       GROUP
                  { lang_enter_group (); }
                    '(' input_list ')'
                  { lang_leave_group (); }
-       |       MAP '(' filename ')'
+       |       MAP '(' filename ')'
                { lang_add_map($3); }
        |       INCLUDE filename
                { ldlex_script (); ldfile_open_command_file($2); }
@@ -396,17 +394,17 @@ input_list1:
                                 (char *)NULL); }
        |       AS_NEEDED '('
                  { $<integer>$ = input_flags.add_DT_NEEDED_for_regular;
-                   input_flags.add_DT_NEEDED_for_regular = TRUE; }
+                   input_flags.add_DT_NEEDED_for_regular = true; }
                     input_list1 ')'
                  { input_flags.add_DT_NEEDED_for_regular = $<integer>3; }
        |       input_list1 ',' AS_NEEDED '('
                  { $<integer>$ = input_flags.add_DT_NEEDED_for_regular;
-                   input_flags.add_DT_NEEDED_for_regular = TRUE; }
+                   input_flags.add_DT_NEEDED_for_regular = true; }
                     input_list1 ')'
                  { input_flags.add_DT_NEEDED_for_regular = $<integer>5; }
        |       input_list1 AS_NEEDED '('
                  { $<integer>$ = input_flags.add_DT_NEEDED_for_regular;
-                   input_flags.add_DT_NEEDED_for_regular = TRUE; }
+                   input_flags.add_DT_NEEDED_for_regular = true; }
                     input_list1 ')'
                  { input_flags.add_DT_NEEDED_for_regular = $<integer>4; }
        ;
@@ -423,7 +421,7 @@ sec_or_group_p1:
 
 statement_anywhere:
                ENTRY '(' NAME ')'
-               { lang_add_entry ($3, FALSE); }
+               { lang_add_entry ($3, false); }
        |       assignment end
        |       ASSERT_K  {ldlex_expression ();} '(' exp ',' NAME ')'
                { ldlex_popstate ();
@@ -455,7 +453,7 @@ wildcard_maybe_exclude:
                          $$.exclude_name_list = NULL;
                          $$.section_flag_list = NULL;
                        }
-       |       EXCLUDE_FILE '(' exclude_name_list ')' wildcard_name
+       |       EXCLUDE_FILE '(' exclude_name_list ')' wildcard_name
                        {
                          $$.name = $5;
                          $$.sorted = none;
@@ -536,7 +534,7 @@ sect_flag_list:     NAME
                              n->with = with_flags;
                              n->name = $1;
                            }
-                         n->valid = FALSE;
+                         n->valid = false;
                          n->next = NULL;
                          $$ = n;
                        }
@@ -554,7 +552,7 @@ sect_flag_list:     NAME
                              n->with = with_flags;
                              n->name = $3;
                            }
-                         n->valid = FALSE;
+                         n->valid = false;
                          n->next = $1;
                          $$ = n;
                        }
@@ -566,7 +564,7 @@ sect_flags:
                          struct flag_info *n;
                          n = ((struct flag_info *) xmalloc (sizeof *n));
                          n->flag_list = $3;
-                         n->flags_initialized = FALSE;
+                         n->flags_initialized = false;
                          n->not_with_flags = 0;
                          n->only_with_flags = 0;
                          $$ = n;
@@ -632,11 +630,11 @@ input_section_spec_no_keep:
                          tmp.section_flag_list = $1;
                          lang_add_wild (&tmp, NULL, ldgram_had_keep);
                        }
-        |      '[' section_name_list ']'
+             '[' section_name_list ']'
                        {
                          lang_add_wild (NULL, $2, ldgram_had_keep);
                        }
-        |      sect_flags '[' section_name_list ']'
+             sect_flags '[' section_name_list ']'
                        {
                          struct wildcard_spec tmp;
                          tmp.name = NULL;
@@ -659,38 +657,38 @@ input_section_spec_no_keep:
 input_section_spec:
                input_section_spec_no_keep
        |       KEEP '('
-                       { ldgram_had_keep = TRUE; }
+                       { ldgram_had_keep = true; }
                input_section_spec_no_keep ')'
-                       { ldgram_had_keep = FALSE; }
+                       { ldgram_had_keep = false; }
        ;
 
 statement:
-               assignment end
+               assignment end
        |       CREATE_OBJECT_SYMBOLS
                {
-               lang_add_attribute(lang_object_symbols_statement_enum);
-               }
-        |      ';'
-        |      CONSTRUCTORS
+               lang_add_attribute(lang_object_symbols_statement_enum);
+               }
+             ';'
+             CONSTRUCTORS
                {
 
                  lang_add_attribute(lang_constructors_statement_enum);
                }
        | SORT_BY_NAME '(' CONSTRUCTORS ')'
                {
-                 constructors_sorted = TRUE;
+                 constructors_sorted = true;
                  lang_add_attribute (lang_constructors_statement_enum);
                }
        | input_section_spec
-        | length '(' mustbe_exp ')'
-                       {
-                         lang_add_data ((int) $1, $3);
-                       }
+       | length '(' mustbe_exp ')'
+               {
+                 lang_add_data ((int) $1, $3);
+               }
 
        | FILL '(' fill_exp ')'
-                       {
-                         lang_add_fill ($3);
-                       }
+               {
+                 lang_add_fill ($3);
+               }
        | ASSERT_K  {ldlex_expression ();} '(' exp ',' NAME ')' end
                        { ldlex_popstate ();
                          lang_add_assignment (exp_assert ($4, $6)); }
@@ -702,7 +700,7 @@ statement:
 
 statement_list:
                statement_list statement
-       |       statement
+       |       statement
        ;
 
 statement_list_opt:
@@ -717,7 +715,7 @@ length:
                        { $$ = $1; }
        |       LONG
                        { $$ = $1; }
-       |       SHORT
+       |       SHORT
                        { $$ = $1; }
        |       BYTE
                        { $$ = $1; }
@@ -733,7 +731,7 @@ fill_exp:
 fill_opt:
          '=' fill_exp
                { $$ = $2; }
-       |       { $$ = (fill_type *) 0; }
+       |       { $$ = (fill_type *) 0; }
        ;
 
 assign_op:
@@ -741,17 +739,17 @@ assign_op:
                        { $$ = '+'; }
        |       MINUSEQ
                        { $$ = '-'; }
-       |       MULTEQ
+       |       MULTEQ
                        { $$ = '*'; }
-       |       DIVEQ
+       |       DIVEQ
                        { $$ = '/'; }
-       |       LSHIFTEQ
+       |       LSHIFTEQ
                        { $$ = LSHIFT; }
-       |       RSHIFTEQ
+       |       RSHIFTEQ
                        { $$ = RSHIFT; }
-       |       ANDEQ
+       |       ANDEQ
                        { $$ = '&'; }
-       |       OREQ
+       |       OREQ
                        { $$ = '|'; }
 
        ;
@@ -763,7 +761,7 @@ end:        ';' | ','
 assignment:
                NAME '=' mustbe_exp
                {
-                 lang_add_assignment (exp_assign ($1, $3, FALSE));
+                 lang_add_assignment (exp_assign ($1, $3, false));
                }
        |       NAME assign_op mustbe_exp
                {
@@ -771,19 +769,19 @@ assignment:
                                                   exp_binop ($2,
                                                              exp_nameop (NAME,
                                                                          $1),
-                                                             $3), FALSE));
+                                                             $3), false));
                }
        |       HIDDEN '(' NAME '=' mustbe_exp ')'
                {
-                 lang_add_assignment (exp_assign ($3, $5, TRUE));
+                 lang_add_assignment (exp_assign ($3, $5, true));
                }
        |       PROVIDE '(' NAME '=' mustbe_exp ')'
                {
-                 lang_add_assignment (exp_provide ($3, $5, FALSE));
+                 lang_add_assignment (exp_provide ($3, $5, false));
                }
        |       PROVIDE_HIDDEN '(' NAME '=' mustbe_exp ')'
                {
-                 lang_add_assignment (exp_provide ($3, $5, TRUE));
+                 lang_add_assignment (exp_provide ($3, $5, true));
                }
        ;
 
@@ -804,8 +802,8 @@ memory_spec_list:
        ;
 
 
-memory_spec:   NAME
-               { region = lang_memory_region_lookup ($1, TRUE); }
+memory_spec:   NAME
+               { region = lang_memory_region_lookup ($1, true); }
                attributes_opt ':'
                origin_spec opt_comma length_spec
                {}
@@ -819,12 +817,11 @@ origin_spec:
        ORIGIN '=' mustbe_exp
                {
                  region->origin_exp = $3;
-                 region->current = region->origin;
                }
        ;
 
 length_spec:
-             LENGTH '=' mustbe_exp
+            LENGTH '=' mustbe_exp
                {
                  region->length_exp = $3;
                }
@@ -864,12 +861,13 @@ high_level_library_NAME_list:
                        { ldemul_hll($3); }
        |       filename
                        { ldemul_hll($1); }
-
        ;
 
 low_level_library:
        SYSLIB '(' low_level_library_NAME_list ')'
-       ; low_level_library_NAME_list:
+       ;
+
+low_level_library_NAME_list:
                low_level_library_NAME_list opt_comma filename
                        { ldemul_syslib($3); }
        |
@@ -877,9 +875,9 @@ low_level_library:
 
 floating_point_support:
                FLOAT
-                       { lang_float(TRUE); }
+                       { lang_float(true); }
        |       NOFLOAT
-                       { lang_float(FALSE); }
+                       { lang_float(false); }
        ;
 
 nocrossref_list:
@@ -946,7 +944,7 @@ exp :
                        { $$ = exp_binop (NE , $1, $3); }
        |       exp LE exp
                        { $$ = exp_binop (LE , $1, $3); }
-       |       exp GE exp
+       |       exp GE exp
                        { $$ = exp_binop (GE , $1, $3); }
        |       exp '<' exp
                        { $$ = exp_binop ('<' , $1, $3); }
@@ -968,7 +966,7 @@ exp :
                        { $$ = exp_nameop (DEFINED, $3); }
        |       INT
                        { $$ = exp_bigintop ($1.integer, $1.str); }
-        |      SIZEOF_HEADERS
+             SIZEOF_HEADERS
                        { $$ = exp_nameop (SIZEOF_HEADERS,0); }
 
        |       ALIGNOF '(' NAME ')'
@@ -993,8 +991,8 @@ exp :
                        { $$ = exp_binop (DATA_SEGMENT_RELRO_END, $5, $3); }
        |       DATA_SEGMENT_END '(' exp ')'
                        { $$ = exp_unop (DATA_SEGMENT_END, $3); }
-        |       SEGMENT_START '(' NAME ',' exp ')'
-                        { /* The operands to the expression node are
+       |       SEGMENT_START '(' NAME ',' exp ')'
+                       { /* The operands to the expression node are
                             placed in the opposite order from the way
                             in which they appear in the script as
                             that allows us to reuse more code in
@@ -1022,9 +1020,9 @@ exp       :
 
 
 memspec_at_opt:
-                AT '>' NAME { $$ = $3; }
-        |       { $$ = 0; }
-        ;
+               AT '>' NAME { $$ = $3; }
+       |       { $$ = 0; }
+       ;
 
 opt_at:
                AT '(' exp ')' { $$ = $3; }
@@ -1053,7 +1051,7 @@ sect_constraint:
        |       { $$ = 0; }
        ;
 
-section:       NAME            { ldlex_expression(); }
+section:       NAME            { ldlex_expression(); }
                opt_exp_with_type
                opt_at
                opt_align
@@ -1067,14 +1065,18 @@ section:        NAME            { ldlex_expression(); }
                                                              $5, $7, $4, $9, $6);
                        }
                statement_list_opt
-               '}' { ldlex_popstate (); ldlex_expression (); }
+               '}' { ldlex_popstate (); ldlex_expression (); }
                memspec_opt memspec_at_opt phdr_opt fill_opt
                {
+                 if (yychar == NAME)
+                   {
+                     yyclearin;
+                     ldlex_backup ();
+                   }
                  ldlex_popstate ();
                  lang_leave_output_section_statement ($18, $15, $17, $16);
                }
                opt_comma
-               {}
        |       OVERLAY
                        { ldlex_expression (); }
                opt_exp_without_type opt_nocrossrefs opt_at opt_subalign
@@ -1088,6 +1090,11 @@ section: NAME            { ldlex_expression(); }
                        { ldlex_popstate (); ldlex_expression (); }
                memspec_opt memspec_at_opt phdr_opt fill_opt
                        {
+                         if (yychar == NAME)
+                           {
+                             yyclearin;
+                             ldlex_backup ();
+                           }
                          ldlex_popstate ();
                          lang_leave_overlay ($5, (int) $4,
                                              $16, $13, $15, $14);
@@ -1101,7 +1108,7 @@ section:  NAME            { ldlex_expression(); }
                opt_exp_with_type
                {
                  ldlex_popstate ();
-                 lang_add_assignment (exp_assign (".", $3, FALSE));
+                 lang_add_assignment (exp_assign (".", $3, false));
                }
                '{' sec_or_group_p1 '}'
        |       INCLUDE filename
@@ -1119,9 +1126,9 @@ type:
        ;
 
 atype:
-               '(' type ')'
-       |       /* EMPTY */ { sectype = normal_section; }
-       |       '(' ')' { sectype = normal_section; }
+               '(' type ')'
+       |       /* EMPTY */ { sectype = normal_section; }
+       |       '(' ')' { sectype = normal_section; }
        ;
 
 opt_exp_with_type:
@@ -1166,7 +1173,7 @@ phdr_opt:
                  n = ((struct lang_output_section_phdr_list *)
                       xmalloc (sizeof *n));
                  n->name = $3;
-                 n->used = FALSE;
+                 n->used = false;
                  n->next = $1;
                  $$ = n;
                }
@@ -1244,7 +1251,7 @@ phdr_type:
                          else
                            {
                              einfo (_("\
-%X%P:%S: unknown phdr type `%s' (try integer literal)\n"),
+%X%P:%pS: unknown phdr type `%s' (try integer literal)\n"),
                                     NULL, s);
                              $$ = exp_intop (0);
                            }
@@ -1262,13 +1269,13 @@ phdr_qualifiers:
                {
                  $$ = $3;
                  if (strcmp ($1, "FILEHDR") == 0 && $2 == NULL)
-                   $$.filehdr = TRUE;
+                   $$.filehdr = true;
                  else if (strcmp ($1, "PHDRS") == 0 && $2 == NULL)
-                   $$.phdrs = TRUE;
+                   $$.phdrs = true;
                  else if (strcmp ($1, "FLAGS") == 0 && $2 != NULL)
                    $$.flags = $2;
                  else
-                   einfo (_("%X%P:%S: PHDRS syntax error at `%s'\n"),
+                   einfo (_("%X%P:%pS: PHDRS syntax error at `%s'\n"),
                           NULL, $1);
                }
        |       AT '(' exp ')' phdr_qualifiers
@@ -1313,7 +1320,7 @@ dynamic_list_node:
 dynamic_list_tag:
                vers_defns ';'
                {
-                 lang_append_dynamic_list ($1);
+                 lang_append_dynamic_list (current_dynamic_list_p, $1);
                }
        ;
 
@@ -1400,19 +1407,19 @@ vers_tag:
 vers_defns:
                VERS_IDENTIFIER
                {
-                 $$ = lang_new_vers_pattern (NULL, $1, ldgram_vers_current_lang, FALSE);
+                 $$ = lang_new_vers_pattern (NULL, $1, ldgram_vers_current_lang, false);
                }
-        |       NAME
+       |       NAME
                {
-                 $$ = lang_new_vers_pattern (NULL, $1, ldgram_vers_current_lang, TRUE);
+                 $$ = lang_new_vers_pattern (NULL, $1, ldgram_vers_current_lang, true);
                }
        |       vers_defns ';' VERS_IDENTIFIER
                {
-                 $$ = lang_new_vers_pattern ($1, $3, ldgram_vers_current_lang, FALSE);
+                 $$ = lang_new_vers_pattern ($1, $3, ldgram_vers_current_lang, false);
                }
        |       vers_defns ';' NAME
                {
-                 $$ = lang_new_vers_pattern ($1, $3, ldgram_vers_current_lang, TRUE);
+                 $$ = lang_new_vers_pattern ($1, $3, ldgram_vers_current_lang, true);
                }
        |       vers_defns ';' EXTERN NAME '{'
                        {
@@ -1439,27 +1446,27 @@ vers_defns:
                        }
        |       GLOBAL
                {
-                 $$ = lang_new_vers_pattern (NULL, "global", ldgram_vers_current_lang, FALSE);
+                 $$ = lang_new_vers_pattern (NULL, "global", ldgram_vers_current_lang, false);
                }
        |       vers_defns ';' GLOBAL
                {
-                 $$ = lang_new_vers_pattern ($1, "global", ldgram_vers_current_lang, FALSE);
+                 $$ = lang_new_vers_pattern ($1, "global", ldgram_vers_current_lang, false);
                }
        |       LOCAL
                {
-                 $$ = lang_new_vers_pattern (NULL, "local", ldgram_vers_current_lang, FALSE);
+                 $$ = lang_new_vers_pattern (NULL, "local", ldgram_vers_current_lang, false);
                }
        |       vers_defns ';' LOCAL
                {
-                 $$ = lang_new_vers_pattern ($1, "local", ldgram_vers_current_lang, FALSE);
+                 $$ = lang_new_vers_pattern ($1, "local", ldgram_vers_current_lang, false);
                }
        |       EXTERN
                {
-                 $$ = lang_new_vers_pattern (NULL, "extern", ldgram_vers_current_lang, FALSE);
+                 $$ = lang_new_vers_pattern (NULL, "extern", ldgram_vers_current_lang, false);
                }
        |       vers_defns ';' EXTERN
                {
-                 $$ = lang_new_vers_pattern ($1, "extern", ldgram_vers_current_lang, FALSE);
+                 $$ = lang_new_vers_pattern ($1, "extern", ldgram_vers_current_lang, false);
                }
        ;
 
@@ -1477,7 +1484,7 @@ yyerror(arg)
     einfo (_("%P:%s: file format not recognized; treating as linker script\n"),
           ldlex_filename ());
   if (error_index > 0 && error_index < ERROR_NAME_MAX)
-    einfo ("%P%F:%S: %s in %s\n", NULL, arg, error_names[error_index - 1]);
+    einfo ("%F%P:%pS: %s in %s\n", NULL, arg, error_names[error_index - 1]);
   else
-    einfo ("%P%F:%S: %s\n", NULL, arg);
+    einfo ("%F%P:%pS: %s\n", NULL, arg);
 }
This page took 0.037979 seconds and 4 git commands to generate.