projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
This fixes a bug in the ARm assembler where an immediate operand larger than 4 bits...
[deliverable/binutils-gdb.git]
/
gas
/
config
/
obj-coff-seh.c
diff --git
a/gas/config/obj-coff-seh.c
b/gas/config/obj-coff-seh.c
index 2ffefa86ec54a55ccd6656f479563767fe175c64..183be7925fc39fd6ec63da885c0850797209ce31 100644
(file)
--- a/
gas/config/obj-coff-seh.c
+++ b/
gas/config/obj-coff-seh.c
@@
-1,5
+1,5
@@
/* seh pdata/xdata coff object file format
/* seh pdata/xdata coff object file format
- Copyright (C) 2009-201
5
Free Software Foundation, Inc.
+ Copyright (C) 2009-201
9
Free Software Foundation, Inc.
This file is part of GAS.
This file is part of GAS.
@@
-329,8
+329,7
@@
obj_coff_seh_handler (int what ATTRIBUTE_UNUSED)
if (*input_line_pointer == '@')
{
if (*input_line_pointer == '@')
{
- symbol_name = input_line_pointer;
- name_end = get_symbol_end ();
+ name_end = get_symbol_name (&symbol_name);
seh_ctx_cur->handler.X_op = O_constant;
seh_ctx_cur->handler.X_add_number = 0;
seh_ctx_cur->handler.X_op = O_constant;
seh_ctx_cur->handler.X_add_number = 0;
@@
-343,7
+342,7
@@
obj_coff_seh_handler (int what ATTRIBUTE_UNUSED)
else
as_bad (_("unknown constant value '%s' for handler"), symbol_name);
else
as_bad (_("unknown constant value '%s' for handler"), symbol_name);
-
*input_line_pointer = name_end
;
+
(void) restore_line_pointer (name_end)
;
}
else
expression (&seh_ctx_cur->handler);
}
else
expression (&seh_ctx_cur->handler);
@@
-359,8
+358,7
@@
obj_coff_seh_handler (int what ATTRIBUTE_UNUSED)
{
do
{
{
do
{
- symbol_name = input_line_pointer;
- name_end = get_symbol_end ();
+ name_end = get_symbol_name (&symbol_name);
if (strcasecmp (symbol_name, "@unwind") == 0)
seh_ctx_cur->handler_flags |= UNW_FLAG_UHANDLER;
if (strcasecmp (symbol_name, "@unwind") == 0)
seh_ctx_cur->handler_flags |= UNW_FLAG_UHANDLER;
@@
-369,7
+367,7
@@
obj_coff_seh_handler (int what ATTRIBUTE_UNUSED)
else
as_bad (_(".seh_handler constant '%s' unknown"), symbol_name);
else
as_bad (_(".seh_handler constant '%s' unknown"), symbol_name);
-
*input_line_pointer = name_end
;
+
(void) restore_line_pointer (name_end)
;
}
while (skip_whitespace_and_comma (0));
}
}
while (skip_whitespace_and_comma (0));
}
@@
-454,10
+452,9
@@
obj_coff_seh_proc (int what ATTRIBUTE_UNUSED)
SKIP_WHITESPACE ();
SKIP_WHITESPACE ();
- symbol_name = input_line_pointer;
- name_end = get_symbol_end ();
+ name_end = get_symbol_name (&symbol_name);
seh_ctx_cur->func_name = xstrdup (symbol_name);
seh_ctx_cur->func_name = xstrdup (symbol_name);
-
*input_line_pointer = name_end
;
+
(void) restore_line_pointer (name_end)
;
demand_empty_rest_of_line ();
demand_empty_rest_of_line ();
@@
-486,10
+483,7
@@
void
obj_coff_seh_do_final (void)
{
if (seh_ctx_cur != NULL)
obj_coff_seh_do_final (void)
{
if (seh_ctx_cur != NULL)
- {
- as_bad (_("open SEH entry at end of file (missing .cfi_endproc)"));
- do_seh_endproc ();
- }
+ as_bad (_("open SEH entry at end of file (missing .seh_endproc)"));
}
/* Enter a prologue element into current context (x64). */
}
/* Enter a prologue element into current context (x64). */
@@
-549,14
+543,13
@@
seh_x64_read_reg (const char *directive, int kind)
SKIP_WHITESPACE ();
if (*input_line_pointer == '%')
++input_line_pointer;
SKIP_WHITESPACE ();
if (*input_line_pointer == '%')
++input_line_pointer;
- symbol_name = input_line_pointer;
- name_end = get_symbol_end ();
+ name_end = get_symbol_name (& symbol_name);
for (i = 0; i < 16; i++)
if (! strcasecmp (regs[i], symbol_name))
break;
for (i = 0; i < 16; i++)
if (! strcasecmp (regs[i], symbol_name))
break;
-
*input_line_pointer = name_end
;
+
(void) restore_line_pointer (name_end)
;
/* Error if register not found, or EAX used as a frame pointer. */
if (i == 16 || (kind == 0 && i == 0))
/* Error if register not found, or EAX used as a frame pointer. */
if (i == 16 || (kind == 0 && i == 0))
This page took
0.025798 seconds
and
4
git commands to generate.