[PATCH] arm: ignore inapplicable .arch=no...

Jan Beulich jbeulich@suse.com
Wed Apr 30 13:34:56 GMT 2025


Unlike for command line options, where a base architecture needs to be
provided explicitly, the .arch directive doesn't have such a
requirement. Therefore it is odd that disabling of an inapplicable
extension isn't silently ignored; claiming "not allowed for the current
base architecture" is at best misleading. Simply skip the error path,
leveraging that in such a case ARM_CLEAR_FEATURE() is (supposed to be)
a no-op.

--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -32792,7 +32792,7 @@ s_arm_arch_extension (int ignored ATTRIB
 	      break;
 	  }
 
-	if (i == nb_allowed_archs)
+	if (i == nb_allowed_archs && adding_value)
 	  {
 	    as_bad (_("architectural extension `%s' is not allowed for the "
 		      "current base architecture"), name);


More information about the Binutils mailing list