Skip to content

Commit b8476c9

Browse files
committed
rust: compiler_builtins: more for arm due to midpoint
e.g. >>> referenced by f32.rs:964 (/root/.rustup/toolchains/1.71.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/num/f32.rs:964) >>> rust/core.o:(<f32>::midpoint) in archive vmlinux.a >>> referenced by f32.rs:964 (/root/.rustup/toolchains/1.71.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/num/f32.rs:964) >>> rust/core.o:(<f32>::midpoint) in archive vmlinux.a Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
1 parent a69bfd2 commit b8476c9

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

rust/Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,9 @@ redirect-intrinsics = \
400400
__adddf3 __ledf2 __ltdf2 __muldf3 __unorddf2 \
401401
__muloti4 __multi3 \
402402
__udivmodti4 __udivti3 __umodti3 \
403-
__aeabi_fcmpeq __aeabi_fcmpun __aeabi_dcmpun __aeabi_uldivmod
403+
__aeabi_fadd __aeabi_fmul __aeabi_fcmpeq __aeabi_fcmple __aeabi_fcmplt __aeabi_fcmpun \
404+
__aeabi_dadd __aeabi_dmul __aeabi_dcmple __aeabi_dcmplt __aeabi_dcmpun \
405+
__aeabi_uldivmod
404406

405407
ifneq ($(or $(CONFIG_ARM64),$(and $(CONFIG_RISCV),$(CONFIG_64BIT))),)
406408
# These intrinsics are defined for ARM64 and RISCV64

rust/compiler_builtins.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,20 @@ define_panicking_intrinsics!("`u128` should not be used", {
7272

7373
#[cfg(target_arch = "arm")]
7474
define_panicking_intrinsics!("`f32` should not be used", {
75+
__aeabi_fadd,
76+
__aeabi_fmul,
7577
__aeabi_fcmpeq,
78+
__aeabi_fcmple,
79+
__aeabi_fcmplt,
7680
__aeabi_fcmpun,
7781
});
7882

7983
#[cfg(target_arch = "arm")]
8084
define_panicking_intrinsics!("`f64` should not be used", {
85+
__aeabi_dadd,
86+
__aeabi_dmul,
87+
__aeabi_dcmple,
88+
__aeabi_dcmplt,
8189
__aeabi_dcmpun,
8290
});
8391

0 commit comments

Comments
 (0)