]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commit
rust-target-config: fix target_features for vfpv3d16
authorBenjamin Bara <benjamin.bara@skidata.com>
Wed, 9 Aug 2023 13:11:32 +0000 (15:11 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 14 Aug 2023 11:51:18 +0000 (12:51 +0100)
commitd79f0a0702b667625e12c9e131932e02cb08bada
treeb7830c462ff12eaf8fe5b0549ddf1f024c9d4b2e
parent69d37620a7a0626eaee1c0b37057be2ac2687290
rust-target-config: fix target_features for vfpv3d16

A build with vfpv3d16 (armv7at2hf-vfpv3d16) tune currently warns:
'+d16' is not a recognized feature for this target (ignoring feature)

This correlates with the supported target_features for arm[1].

With the now enabled features, rustc might use vdiv.f64 with register
d17, which leads to an illegal instruction on the given platform.

Therefore, adapt the features s.t. they correspond to the
armv7_unknown_linux_gnueabihf target[2].

Additionally, only set the latest supported version of VFP.

[1] https://github.com/rust-lang/rust/blob/1.70.0/compiler/rustc_codegen_ssa/src/target_features.rs#L32
[2] https://github.com/rust-lang/rust/blob/1.70.0/compiler/rustc_target/src/spec/armv7_unknown_linux_gnueabihf.rs#L15

Signed-off-by: Benjamin Bara <benjamin.bara@skidata.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-recipe/rust-target-config.bbclass