aboutsummaryrefslogtreecommitdiff
path: root/ld/deffilep.y
diff options
context:
space:
mode:
authorKai Tietz <kai.tietz@onevision.com>2010-05-25 10:05:16 +0000
committerKai Tietz <kai.tietz@onevision.com>2010-05-25 10:05:16 +0000
commit770c040b7ea961f5fa87658361a8384308204fa0 (patch)
tree4cd465c300f815d5e7d26b0488ec4bcd2d16d074 /ld/deffilep.y
parent6ec6c79c28377f76932384d54ec6db56de8a8d51 (diff)
downloadfsf-binutils-gdb-770c040b7ea961f5fa87658361a8384308204fa0.zip
fsf-binutils-gdb-770c040b7ea961f5fa87658361a8384308204fa0.tar.gz
fsf-binutils-gdb-770c040b7ea961f5fa87658361a8384308204fa0.tar.bz2
2010-05-25 Kai Tietz <kai.tietz@onevision.com>
* deffilep.y (opt_name): Allow leading dot. (dot_name): Likewise. (anylang_id): Likewise.
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);