Add panic handlers for the following 32-bit arm intrinsics:
- __aeabi_ul2f, __aeabi_ul2d,
__aeabi_{f,d}cmpeq : floating-point operations
- __aeabi_uldivmod, __mulodi4 : 64-bit division
Neither floating point operations, nor native 64-bit
division are supported inside the kernel, so we can
safely implement these with a panic handler.
Signed-off-by: Sven Van Asbroeck <thesven73@gmail.com>
[normalized title]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
define_panicking_intrinsics!("`f32` should not be used", {
__addsf3,
__addsf3vfp,
+ __aeabi_fcmpeq,
+ __aeabi_ul2f,
__divsf3,
__divsf3vfp,
__eqsf2,
define_panicking_intrinsics!("`f64` should not be used", {
__adddf3,
__adddf3vfp,
+ __aeabi_dcmpeq,
+ __aeabi_ul2d,
__divdf3,
__divdf3vfp,
__eqdf2,
__umodti3,
});
+#[cfg(target_arch = "arm")]
+define_panicking_intrinsics!("`u64` division/modulo should not be used", {
+ __aeabi_uldivmod,
+ __mulodi4,
+});
+
extern "C" {
fn rust_helper_BUG() -> !;
}