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.
This commit is contained in:
Jan Beulich 2005-02-11 07:45:20 +00:00
parent 5cb53c2102
commit b3f19c14d0
2 changed files with 32 additions and 5 deletions

View 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.

View 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' },