From: Jan Beulich Date: Mon, 8 Jun 2020 06:38:54 +0000 (+0200) Subject: x86: also allow %st(N) in CFI directives X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=af32b7220966364b083ce771ba45f35491293d55;p=binutils-gdb.git x86: also allow %st(N) in CFI directives In 0e0eea782025 ("x86: x87-related adjustments") I screwed up CFI directives with FPU support disabled, by moving the conditional there across a check of "allow_pseudo_reg". Add the missing check. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index d244ab4c574..787c0fd44ed 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2020-06-08 Jan Beulich + + * config/tc-i386.c (parse_real_register): Add allow_pseudo_reg + check to %st(N) parsing logic. + * testsuite/gas/cfi/cfi-i386.s: Set "generic32" arch. + 2020-06-08 Jan Beulich * config/tc-i386.c (bad_reg): New. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index e34ff8568d4..6b9479872c2 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -12452,7 +12452,8 @@ parse_real_register (char *reg_string, char **end_op) { if (!cpu_arch_flags.bitfield.cpu8087 && !cpu_arch_flags.bitfield.cpu287 - && !cpu_arch_flags.bitfield.cpu387) + && !cpu_arch_flags.bitfield.cpu387 + && !allow_pseudo_reg) return (const reg_entry *) NULL; if (is_space_char (*s)) diff --git a/gas/testsuite/gas/cfi/cfi-i386.s b/gas/testsuite/gas/cfi/cfi-i386.s index 09fd466d364..0816a0c524b 100644 --- a/gas/testsuite/gas/cfi/cfi-i386.s +++ b/gas/testsuite/gas/cfi/cfi-i386.s @@ -1,4 +1,5 @@ .text + .arch generic32 #; func_locvars #; - function with a space on the stack