diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/dw2gencfi.c | 22 |
2 files changed, 23 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 5313919..63a84e1 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,10 @@ 2005-11-17 Jan Beulich <jbeulich@novell.com> + * dw2gencfi.c (dot_cfi): Put argument parsing for cases + DW_CFA_restore and DW_CFA_undefined in a loop. + +2005-11-17 Jan Beulich <jbeulich@novell.com> + * symbols.h (S_CLEAR_VOLATILE): Declare. * symbols.c (colon): Also accept redefinable symbols for diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c index 9601b30..eb2f476 100644 --- a/gas/dw2gencfi.c +++ b/gas/dw2gencfi.c @@ -502,13 +502,27 @@ dot_cfi (int arg) break; case DW_CFA_restore: - reg1 = cfi_parse_reg (); - cfi_add_CFA_restore (reg1); + for (;;) + { + reg1 = cfi_parse_reg (); + cfi_add_CFA_restore (reg1); + SKIP_WHITESPACE (); + if (*input_line_pointer != ',') + break; + ++input_line_pointer; + } break; case DW_CFA_undefined: - reg1 = cfi_parse_reg (); - cfi_add_CFA_undefined (reg1); + for (;;) + { + reg1 = cfi_parse_reg (); + cfi_add_CFA_undefined (reg1); + SKIP_WHITESPACE (); + if (*input_line_pointer != ',') + break; + ++input_line_pointer; + } break; case DW_CFA_same_value: |