[Patch][gas][arm] Make .fpu reset the FPU/Coprocessor feature bits
Mihail Ionescu
mihail.ionescu@foss.arm.com
Thu Nov 21 10:05:00 GMT 2019
Hi Nathan,
On 11/20/2019 03:19 AM, Nathan Chancellor wrote:
> On Tue, Nov 12, 2019 at 12:22:47PM +0000, Nick Clifton wrote:
>> Hi Mihail,
>>
>>> gas/ChangeLog:
>>>
>>> 2019-11-11 Mihail Ionescu <mihail.ionescu@arm.com>
>>>
>>> * config/tc-arm.c (s_arm_fpu): Clear selected_cpu fpu bits.
>>> (fpu_any): Remove OBJ_ELF guards.
>>> * gas/testsuite/gas/arm/fpu-rst.s: New.
>>> * gas/testsuite/gas/arm/fpu-rst.d: New.
>>> * gas/testsuite/gas/arm/fpu-rst.l: New.
>>
>> Approved - please apply.
>>
>> Cheers
>> Nick
>
> For what it's worth, this commit breaks building the Linux kernel for me:
>
> $ make -j$(nproc) -s ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- O=out.arm32 distclean defconfig arch/arm/crypto/
> ../arch/arm/crypto/crc32-ce-core.S: Assembler messages:
> ../arch/arm/crypto/crc32-ce-core.S:300: Error: selected processor does not support `crc32w r0,r0,r2' in ARM mode
> ../arch/arm/crypto/crc32-ce-core.S:300: Error: selected processor does not support `crc32w r0,r0,r3' in ARM mode
> ../arch/arm/crypto/crc32-ce-core.S:300: Error: selected processor does not support `crc32w r0,r0,r3' in ARM mode
> ../arch/arm/crypto/crc32-ce-core.S:300: Error: selected processor does not support `crc32h r0,r0,r3' in ARM mode
> ../arch/arm/crypto/crc32-ce-core.S:300: Error: selected processor does not support `crc32b r0,r0,r3' in ARM mode
> ../arch/arm/crypto/crc32-ce-core.S:300: Error: selected processor does not support `crc32b r0,r0,r3' in ARM mode
> ../arch/arm/crypto/crc32-ce-core.S:300: Error: selected processor does not support `crc32h r0,r0,r3' in ARM mode
> ../arch/arm/crypto/crc32-ce-core.S:305: Error: selected processor does not support `crc32cw r0,r0,r2' in ARM mode
> ../arch/arm/crypto/crc32-ce-core.S:305: Error: selected processor does not support `crc32cw r0,r0,r3' in ARM mode
> ../arch/arm/crypto/crc32-ce-core.S:305: Error: selected processor does not support `crc32cw r0,r0,r3' in ARM mode
> ../arch/arm/crypto/crc32-ce-core.S:305: Error: selected processor does not support `crc32ch r0,r0,r3' in ARM mode
> ../arch/arm/crypto/crc32-ce-core.S:305: Error: selected processor does not support `crc32cb r0,r0,r3' in ARM mode
> ../arch/arm/crypto/crc32-ce-core.S:305: Error: selected processor does not support `crc32cb r0,r0,r3' in ARM mode
> ../arch/arm/crypto/crc32-ce-core.S:305: Error: selected processor does not support `crc32ch r0,r0,r3' in ARM mode
> ../scripts/Makefile.build:357: recipe for target 'arch/arm/crypto/crc32-ce-core.o' failed
> make[3]: *** [arch/arm/crypto/crc32-ce-core.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
> ../Makefile:1652: recipe for target 'arch/arm/crypto' failed
> make[2]: *** [arch/arm/crypto] Error 2
> make[2]: *** Waiting for unfinished jobs....
> /home/nathan/src/linux/Makefile:326: recipe for target '__build_one_by_one' failed
> make[1]: *** [__build_one_by_one] Error 2
> Makefile:179: recipe for target 'sub-make' failed
> make: *** [sub-make] Error 2
>
> $ git bisect log
> # bad: [fa4dea24454e132e677b98c21d23e87e5041e1af] Automatic date update in version.in
> # good: [e264b5b7a57dab997776ae845f9e0b3e5f20c713] Allow the --output option of the "ar" prorgam to extract files to locations outside of the current directory.
> git bisect start 'origin/master' 'e264b5b7a5'
> # bad: [31175a0d7167ab7f98878076be02dc4330b825bb] Automatic date update in version.in
> git bisect bad 31175a0d7167ab7f98878076be02dc4330b825bb
> # good: [cf57ad6d61771f608079f31db10a93872a4553c5] gdb_vecs.h: Avoid self move assign
> git bisect good cf57ad6d61771f608079f31db10a93872a4553c5
> # good: [aa16be3993e2b29d4f6a774fca82c67a43956864] Automatic date update in version.in
> git bisect good aa16be3993e2b29d4f6a774fca82c67a43956864
> # bad: [ef8f595f73a6b42f745bc76a716f45079eae1075] [gas][arm] Enable VLDM, VSTM, VPUSH, VPOP for MVE
> git bisect bad ef8f595f73a6b42f745bc76a716f45079eae1075
> # good: [51c8edf68bf1e16c6d05fbb31a36e0cc436a9750] x86: fold EsSeg into IsString
> git bisect good 51c8edf68bf1e16c6d05fbb31a36e0cc436a9750
> # bad: [ce760a762093d59a3faab07fff895b484071977c] [binutils][arm] Update the decoding of MVE VMOV, VMVN
> git bisect bad ce760a762093d59a3faab07fff895b484071977c
> # bad: [f439988037a589de3798f44e7268301adaec21a9] [gas][arm] Make .fpu reset the FPU/Coprocessor feature bits
> git bisect bad f439988037a589de3798f44e7268301adaec21a9
> # first bad commit: [f439988037a589de3798f44e7268301adaec21a9] [gas][arm] Make .fpu reset the FPU/Coprocessor feature bits
>
> Let me know if there is anything I can do to test a fix (either on the
> binutils or kernel side).
>
I'm looking into the failure.
> Cheers,
> Nathan
>
Regards,
Mihail
More information about the Binutils
mailing list