From b57d375bdea3e29a7636cc9f786b55733f0bb9f2 Mon Sep 17 00:00:00 2001 From: Jan Beulich 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 531391959fd..63a84e10a43 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +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 diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c index 9601b30d778..eb2f476b711 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.30.2