aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog9
-rw-r--r--ld/ldgram.y17
2 files changed, 25 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index eab0eed..e13943a 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,12 @@
+2003-02-20 Phil Edwards <pme@gcc.gnu.org>
+
+ * ldgram.y (vers_defns): Also recurse with 'EXTERN NAME' patterns.
+
+2003-02-20 Harri Porten <porten@kde.org>
+
+ * ldgram.y (vers_defns): Allow optional trailing semicolon in
+ EXTERN NAME block;
+
2003-02-18 Alan Modra <amodra@bigpond.net.au>
* emultempl/ppc32elf.em: New file.
diff --git a/ld/ldgram.y b/ld/ldgram.y
index 5904acc..fadc3e5 100644
--- a/ld/ldgram.y
+++ b/ld/ldgram.y
@@ -1130,18 +1130,33 @@ vers_defns:
{
$$ = lang_new_vers_pattern ($1, $3, ldgram_vers_current_lang);
}
+ | vers_defns ';' EXTERN NAME '{'
+ {
+ $<name>$ = ldgram_vers_current_lang;
+ ldgram_vers_current_lang = $4;
+ }
+ vers_defns opt_semicolon '}'
+ {
+ $$ = $7;
+ ldgram_vers_current_lang = $<name>6;
+ }
| EXTERN NAME '{'
{
$<name>$ = ldgram_vers_current_lang;
ldgram_vers_current_lang = $2;
}
- vers_defns '}'
+ vers_defns opt_semicolon '}'
{
$$ = $5;
ldgram_vers_current_lang = $<name>4;
}
;
+opt_semicolon:
+ /* empty */
+ | ';'
+ ;
+
%%
void
yyerror(arg)