* ldexp.c (exp_print_tree): Print function-like binary nodes as
[binutils-gdb.git] / ld / deffilep.y
index 43847bcd2702356c63bc77d6eaff3408970fe0d8..36214d9fc0803d2ecbe2fa910d57ae081f861e89 100644 (file)
@@ -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);
@@ -382,7 +400,7 @@ def_file_free (def_file *fdef)
 
   if (fdef->exports)
     {
-      for (i = 0; i < def->num_exports; i++)
+      for (i = 0; i < fdef->num_exports; i++)
        {
          if (fdef->exports[i].internal_name
              && fdef->exports[i].internal_name != fdef->exports[i].name)
@@ -512,7 +530,7 @@ def_file_print (FILE *file, def_file *fdef)
   if (fdef->version_major != -1)
     fprintf (file, "  version: %d.%d\n", fdef->version_major, fdef->version_minor);
 
-  fprintf (file, "<<<< def_file at 0x%08x\n", def);
+  fprintf (file, "<<<< def_file at 0x%08x\n", fdef);
 }
 #endif
 
@@ -569,7 +587,7 @@ def_stash_module (def_file *fdef, const char *name)
   if ((s = def_get_module (fdef, name)) != NULL)
       return s;
   s = xmalloc (sizeof (def_file_module) + strlen (name));
-  s->next = def->modules;
+  s->next = fdef->modules;
   fdef->modules = s;
   s->user_data = 0;
   strcpy (s->name, name);
@@ -602,7 +620,7 @@ def_file_add_import (def_file *fdef,
   if (name)
     i->name = xstrdup (name);
   if (module)
-    i->module = def_stash_module (def, module);
+    i->module = def_stash_module (fdef, module);
   i->ordinal = ordinal;
   if (internal_name)
     i->internal_name = xstrdup (internal_name);