aboutsummaryrefslogtreecommitdiff
path: root/ld/deffilep.y
diff options
context:
space:
mode:
Diffstat (limited to 'ld/deffilep.y')
-rw-r--r--ld/deffilep.y18
1 files changed, 18 insertions, 0 deletions
diff --git a/ld/deffilep.y b/ld/deffilep.y
index 1104c49..36214d9 100644
--- a/ld/deffilep.y
+++ b/ld/deffilep.y
@@ -224,6 +224,12 @@ attr:
;
opt_name: ID { $$ = $1; }
+ | '.' ID
+ {
+ char *name = xmalloc (strlen ($2) + 2);
+ sprintf (name, ".%s", $2);
+ $$ = name;
+ }
| ID '.' ID
{
char *name = xmalloc (strlen ($1) + 1 + strlen ($3) + 1);
@@ -252,6 +258,12 @@ opt_base: BASE '=' NUMBER { $$ = $3;}
;
dot_name: ID { $$ = $1; }
+ | '.' ID
+ {
+ char *name = xmalloc (strlen ($2) + 2);
+ sprintf (name, ".%s", $2);
+ $$ = name;
+ }
| dot_name '.' ID
{
char *name = xmalloc (strlen ($1) + 1 + strlen ($3) + 1);
@@ -261,6 +273,12 @@ dot_name: ID { $$ = $1; }
;
anylang_id: ID { $$ = $1; }
+ | '.' ID
+ {
+ char *id = xmalloc (strlen ($2) + 2);
+ sprintf (id, ".%s", $2);
+ $$ = id;
+ }
| anylang_id '.' opt_digits opt_id
{
char *id = xmalloc (strlen ($1) + 1 + strlen ($3) + strlen ($4) + 1);