[PATCH 2/6] x86: also allow %st(N) in CFI directives

Jan Beulich jbeulich@suse.com
Wed Jun 3 10:15:42 GMT 2020


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.

gas/
2020-06-XX  Jan Beulich  <jbeulich@suse.com>

	* 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.

--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -12452,7 +12452,8 @@ parse_real_register (char *reg_string, c
     {
       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))
--- 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 



More information about the Binutils mailing list