From 7fe7c52f9d18fc94536632ca9f6a0b893f36609b Mon Sep 17 00:00:00 2001 From: jbeulich Date: Thu, 17 Nov 2005 08:33:36 +0000 Subject: [PATCH] gas/ 2005-11-17 Jan Beulich * dw2gencfi.c (dot_cfi): Put argument parsing for cases DW_CFA_restore and DW_CFA_undefined in a loop. --- gas/ChangeLog | 5 +++++ gas/dw2gencfi.c | 22 ++++++++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 531391959f..63a84e10a4 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,10 @@ 2005-11-17 Jan Beulich + * dw2gencfi.c (dot_cfi): Put argument parsing for cases + DW_CFA_restore and DW_CFA_undefined in a loop. + +2005-11-17 Jan Beulich + * 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 9601b30d77..eb2f476b71 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: -- 2.11.0