[PATCH, GAS/ARM] Fix selected_cpu with default CPU and -mcpu

Thomas Preudhomme thomas.preudhomme@foss.arm.com
Fri Mar 24 13:21:00 GMT 2017


It actually solves lots of FAIL:

Old tests that failed, that have disappeared: (Eeek!)

arm-eabi-qemu: 32-bit Thumb instructions
arm-eabi-qemu: ARM 3 instructions
arm-eabi-qemu: ARM 6 instructions
arm-eabi-qemu: ARM 7DM instructions
arm-eabi-qemu: ARM CoProcessor Instructions
arm-eabi-qemu: ARM V6t2 Alignment
arm-eabi-qemu: ARM architecture 4t instructions (EABI)
arm-eabi-qemu: ARM arm7t
arm-eabi-qemu: ARMv7-a+virt Instructions
arm-eabi-qemu: Cannot use MSR with immediates in thumb mode.
arm-eabi-qemu: EABI attributes from command line
arm-eabi-qemu: Intel(r) Wireless MMX(tm) technology instructions
arm-eabi-qemu: Inter-section branch relocations
arm-eabi-qemu: Invalid r13/r15 register usage
arm-eabi-qemu: MSR immediate operands
arm-eabi-qemu: MSR register operands
arm-eabi-qemu: MSR register operands in thumb mode
arm-eabi-qemu: Thumb instructions (EABI)
arm-eabi-qemu: Thumb-2 VFP Double-precision instructions
arm-eabi-qemu: Thumb-2 VFP Single-precision instructions
arm-eabi-qemu: VFP PC-relative VSTR arm mode
arm-eabi-qemu: VFP VLDR
arm-eabi-qemu: Valid ARM, invalid Thumb
arm-eabi-qemu: XScale instructions
arm-eabi-qemu: attributes for 'armv8-m.base' CPU with Thumb integer divide
arm-eabi-qemu: attributes for -march=all
arm-eabi-qemu: attributes for -march=armv1
arm-eabi-qemu: attributes for -march=armv2
arm-eabi-qemu: attributes for -march=armv2a
arm-eabi-qemu: attributes for -march=armv2s
arm-eabi-qemu: attributes for -march=armv3
arm-eabi-qemu: attributes for -march=armv3m
arm-eabi-qemu: attributes for -march=armv4
arm-eabi-qemu: attributes for -march=armv4t
arm-eabi-qemu: attributes for -march=armv4txm
arm-eabi-qemu: attributes for -march=armv4xm
arm-eabi-qemu: attributes for -march=armv5
arm-eabi-qemu: attributes for -march=armv5t
arm-eabi-qemu: attributes for -march=armv5te
arm-eabi-qemu: attributes for -march=armv5tej
arm-eabi-qemu: attributes for -march=armv5texp
arm-eabi-qemu: attributes for -march=armv5txm
arm-eabi-qemu: attributes for -march=armv6
arm-eabi-qemu: attributes for -march=armv6-m
arm-eabi-qemu: attributes for -march=armv6-m
arm-eabi-qemu: attributes for -march=armv6j
arm-eabi-qemu: attributes for -march=armv6k
arm-eabi-qemu: attributes for -march=armv6k+sec
arm-eabi-qemu: attributes for -march=armv6kt2
arm-eabi-qemu: attributes for -march=armv6kz
arm-eabi-qemu: attributes for -march=armv6kzt2
arm-eabi-qemu: attributes for -march=armv6t2
arm-eabi-qemu: attributes for -march=armv6z
arm-eabi-qemu: attributes for -march=armv6zk
arm-eabi-qemu: attributes for -march=armv6zkt2
arm-eabi-qemu: attributes for -march=armv6zt2
arm-eabi-qemu: attributes for -march=armv7
arm-eabi-qemu: attributes for -march=armv7-a
arm-eabi-qemu: attributes for -march=armv7-a+idiv
arm-eabi-qemu: attributes for -march=armv7-a+mp
arm-eabi-qemu: attributes for -march=armv7-a+sec
arm-eabi-qemu: attributes for -march=armv7-a+sec+virt
arm-eabi-qemu: attributes for -march=armv7-a+virt
arm-eabi-qemu: attributes for -march=armv7-m
arm-eabi-qemu: attributes for -march=armv7-r
arm-eabi-qemu: attributes for -march=armv7-r+mp
arm-eabi-qemu: attributes for -march=armv7a
arm-eabi-qemu: attributes for -march=armv7e-m
arm-eabi-qemu: attributes for -march=armv7m
arm-eabi-qemu: attributes for -march=armv7r
arm-eabi-qemu: attributes for -march=armv7ve
arm-eabi-qemu: attributes for -march=armv8-a
arm-eabi-qemu: attributes for -march=armv8-a+crypto
arm-eabi-qemu: attributes for -march=armv8-a+fp
arm-eabi-qemu: attributes for -march=armv8-a+rdma
arm-eabi-qemu: attributes for -march=armv8-a+simd
arm-eabi-qemu: attributes for -march=armv8-m.base
arm-eabi-qemu: attributes for -march=armv8-m.main
arm-eabi-qemu: attributes for -march=armv8-m.main+dsp
arm-eabi-qemu: attributes for -march=armv8.1-a+simd
arm-eabi-qemu: attributes for -march=iwmmxt
arm-eabi-qemu: attributes for -march=iwmmxt2
arm-eabi-qemu: attributes for -march=xscale
arm-eabi-qemu: gas/arm/thumb2_pool
arm-eabi-qemu: gas/arm/thumb2_relax

There is still many FAILs remaining because the testsuite relies on no option 
meaning autodetection of architecture.

Best regards,

Thomas

On 24/03/17 12:38, Nick Clifton wrote:
> Hi Thomas,
>
>> 2017-02-03  Thomas preud'homme  <thomas.preudhomme@arm.com>
>>
>>     * config/tc-arm.: (md_begin): Set selected_cpu from *mcpu_cpu_opt when
>>     CPU_DEFAULT is defined.
>
> Patch approved - please apply.  (Plus apologies for the sloppy thinking that
> insitgated this bug in the first place).
>
> As a matter of interest have you compared the gas/binutils/ld testsuite results
> for a binutils compiled with CFLAGS="-DCPU_DEFAULT=ARM_ARCH_V6SM" and without ?
> Are there any discrepancies ?  (Post applying your patch that is).
>
> Cheers
>   Nick
>



More information about the Binutils mailing list