This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch][gas][arm] Make .fpu reset the FPU/Coprocessor feature bits


Hi,


On 11/21/2019 10:05 AM, Mihail Ionescu wrote:
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.


The issue was causes by crc using the fpu feature bits instead of the core feature bits. I've got a fix for it here:
https://sourceware.org/ml/binutils/2019-11/msg00286.html

Cheers,
Nathan


Regards,
Mihail

Regards,
Mihail


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]