[Patch][binutils][arm] Change CRC from fpu feature to archititectural extension

Nathan Chancellor natechancellor@gmail.com
Thu Nov 21 20:19:00 GMT 2019


On Thu, Nov 21, 2019 at 02:38:01PM +0000, Mihail Ionescu wrote:
> Hi,
> 
> This patch changes the CRC extension to use the core feature bits instead
> of the coproc/fpu feature bits.
> CRC is not an fpu feature and it causes issues with the new fpu reset
> patch (f439988037a589de3798f44e7268301adaec21a9). CRC can be set using
> the '.arch_extension' directive, which sets bits in the coproc bitfield. When
> a '.fpu' directive is encountered, the CRC feature bit gets removed and
> there is no way to set it back using '.fpu'.
> With this patch, CRC will be marked in the feature core bits, which prevents
> it from getting removed when setting/changing the fpu options.
> 
> gas/ChangeLog:
> 
> 2019-11-21  Mihail Ionescu  <mihail.ionescu@arm.com>
> 
> 	* config/tc-arm.c (arm_ext_crc): New.
> 	(crc_ext_armv8): Remove.
> 	(insns): Rename crc_ext_armv8 to arm_ext_crc.
> 	(arm_cpus): Replace CRC_EXT_ARMV8 with ARM_EXT2_CRC.
> 	(armv8a_ext_table, armv8r_ext_table,
> 	arm_option_extension_value_table): Redefine the crc
> 	extension in terms of ARM_EXT2_CRC.
> 	* gas/testsuite/gas/arm/crc-ext.s: New.
> 	* gas/testsuite/gas/arm/crc-ext.d: New.
> 
> include/ChangeLog:
> 
> 2019-11-21  Mihail Ionescu  <mihail.ionescu@arm.com>
> 
> 	* opcode/arm.h (ARM_EXT2_CRC): New extension feature
> 	to replace CRC_EXT_ARMV8.
> 	(CRC_EXT_ARMV8): Remove and mark bit as unused.
> 	(ARM_ARCH_V8A_CRC, ARM_ARCH_V8_1A, ARM_ARCH_V8_2A,
> 	ARM_ARCH_V8_3A, ARM_ARCH_V8_4A, ARM_ARCH_V8_5A,
> 	ARM_ARCH_V8_6A): Redefine using ARM_EXT2_CRC instead of
> 	CRC_EXT_ARMV8.
> 
> 
> opcodes/ChangeLog:
> 
> 2019-11-21  Mihail Ionescu  <mihail.ionescu@arm.com>
> 
> 	* opcodes/arm-dis.c (arm_opcodes, thumb32_opcodes):
> 	Change the coproc CRC conditions to use the extension
> 	feature set, second word, based on ARM_EXT2_CRC.
> 
> 
> 
> Tested on arm-elf, arm-linux and arm-*-pe targets.
> 
> Is it ok for trunk?
> 
> Regards,
> Mihail

Hi Mihail,

Thank you for the quick fix, this resolves the error for me.

Cheers,
Nathan



More information about the Binutils mailing list