gas/
authorJan Beulich <jbeulich@novell.com>
Fri, 11 Feb 2005 07:45:20 +0000 (07:45 +0000)
committerJan Beulich <jbeulich@novell.com>
Fri, 11 Feb 2005 07:45:20 +0000 (07:45 +0000)
2005-02-11  Jan Beulich  <jbeulich@novell.com>

* config/tc-ia64.c (parse_section_name): Handle non-quoted first
argument.
(dot_xdata): Free section name after use.
(dot_float_cons): Likewise.
(dot_xstringer): Likewise.
(dot_xdata_ua): Likewise.
(dot_float_cons_ua): Likewise.
(md_pseudo_table): Add xdata16 and xdata16.ua.

gas/ChangeLog
gas/config/tc-ia64.c

index ec0b9cbe3b6ddc9ad94ed44d30346b7802f71af3..dd3d0b5f53d903cd9bf8b78bdda4d72dc35ec15c 100644 (file)
@@ -1,3 +1,14 @@
+2005-02-11  Jan Beulich  <jbeulich@novell.com>
+
+       * config/tc-ia64.c (parse_section_name): Handle non-quoted first
+       argument.
+       (dot_xdata): Free section name after use.
+       (dot_float_cons): Likewise.
+       (dot_xstringer): Likewise.
+       (dot_xdata_ua): Likewise.
+       (dot_float_cons_ua): Likewise.
+       (md_pseudo_table): Add xdata16 and xdata16.ua.
+
 2005-02-10  H.J. Lu  <hongjiu.lu@intel.com>
 
        * doc/all.texi: Add IA64.
index 48ad67221ed53fca4035fe94d50606c4914c5242..1beec65e25de1b1e3d1e446d1d0ae0d3d98cc926 100644 (file)
@@ -4671,13 +4671,22 @@ parse_section_name ()
   int len;
 
   SKIP_WHITESPACE ();
-  if (*input_line_pointer != '"')
+  if (*input_line_pointer == '"')
+      name = demand_copy_C_string (&len);
+  else
     {
-      as_bad ("Missing section name");
-      ignore_rest_of_line ();
-      return 0;
+      char *start = input_line_pointer;
+      char c = get_symbol_end ();
+
+      if (input_line_pointer == start)
+       {
+         as_bad ("Missing section name");
+         ignore_rest_of_line ();
+         return 0;
+       }
+      name = obstack_copy (&notes, start, input_line_pointer - start + 1);
+      *input_line_pointer = c;
     }
-  name = demand_copy_C_string (&len);
   if (!name)
     {
       ignore_rest_of_line ();
@@ -4704,6 +4713,7 @@ dot_xdata (size)
 
   md.keep_pending_output = 1;
   set_section (name);
+  obstack_free (&notes, name);
   cons (size);
   obj_elf_previous (0);
   md.keep_pending_output = 0;
@@ -4758,6 +4768,7 @@ dot_xfloat_cons (kind)
 
   md.keep_pending_output = 1;
   set_section (name);
+  obstack_free (&notes, name);
   stmt_float_cons (kind);
   obj_elf_previous (0);
   md.keep_pending_output = 0;
@@ -4773,6 +4784,7 @@ dot_xstringer (zero)
 
   md.keep_pending_output = 1;
   set_section (name);
+  obstack_free (&notes, name);
   stringer (zero);
   obj_elf_previous (0);
   md.keep_pending_output = 0;
@@ -4789,6 +4801,7 @@ dot_xdata_ua (size)
 
   md.keep_pending_output = 1;
   set_section (name);
+  obstack_free (&notes, name);
   md.auto_align = 0;
   cons (size);
   md.auto_align = saved_auto_align;
@@ -4807,6 +4820,7 @@ dot_xfloat_cons_ua (kind)
 
   md.keep_pending_output = 1;
   set_section (name);
+  obstack_free (&notes, name);
   md.auto_align = 0;
   stmt_float_cons (kind);
   md.auto_align = saved_auto_align;
@@ -5232,6 +5246,7 @@ const pseudo_typeS md_pseudo_table[] =
     { "xdata2", dot_xdata, 2 },
     { "xdata4", dot_xdata, 4 },
     { "xdata8", dot_xdata, 8 },
+    { "xdata16", dot_xdata, 16 },
     { "xreal4", dot_xfloat_cons, 'f' },
     { "xreal8", dot_xfloat_cons, 'd' },
     { "xreal10", dot_xfloat_cons, 'x' },
@@ -5243,6 +5258,7 @@ const pseudo_typeS md_pseudo_table[] =
     { "xdata2.ua", dot_xdata_ua, 2 },
     { "xdata4.ua", dot_xdata_ua, 4 },
     { "xdata8.ua", dot_xdata_ua, 8 },
+    { "xdata16.ua", dot_xdata_ua, 16 },
     { "xreal4.ua", dot_xfloat_cons_ua, 'f' },
     { "xreal8.ua", dot_xfloat_cons_ua, 'd' },
     { "xreal10.ua", dot_xfloat_cons_ua, 'x' },
This page took 0.046176 seconds and 4 git commands to generate.