about summary refs log tree commit diff
path: root/library/compiler-builtins
diff options
context:
space:
mode:
authorAmanieu d'Antras <amanieu@gmail.com>2022-07-28 18:14:59 +0200
committerGitHub <noreply@github.com>2022-07-28 18:14:59 +0200
commit0cc9a7e4a607425f427d2c9a7cb72c58e08ca2b8 (patch)
treefdbd05274e08303f2fc38511ed1eb0d1afa94b61 /library/compiler-builtins
parent863ddc5a6f338b62215a379470924806b0f6a1b0 (diff)
parent8568a33255ab36b8be9a6b19c9fa2ee4628621ae (diff)
downloadrust-0cc9a7e4a607425f427d2c9a7cb72c58e08ca2b8.tar.gz
rust-0cc9a7e4a607425f427d2c9a7cb72c58e08ca2b8.zip
Merge pull request #478 from Lokathor/weak-linkage-for-division
Diffstat (limited to 'library/compiler-builtins')
-rw-r--r--library/compiler-builtins/src/arm.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/library/compiler-builtins/src/arm.rs b/library/compiler-builtins/src/arm.rs
index 9c1b6ad123a..e517a9ef34b 100644
--- a/library/compiler-builtins/src/arm.rs
+++ b/library/compiler-builtins/src/arm.rs
@@ -22,6 +22,7 @@ intrinsics! {
     // custom calling convention which can't be implemented using a normal Rust function.
     #[naked]
     #[cfg(not(target_env = "msvc"))]
+    #[cfg_attr(all(not(windows), not(target_vendor="apple")), linkage = "weak")]
     pub unsafe extern "C" fn __aeabi_uidivmod() {
         core::arch::asm!(
             "push {{lr}}",
@@ -36,6 +37,7 @@ intrinsics! {
     }
 
     #[naked]
+    #[cfg_attr(all(not(windows), not(target_vendor="apple")), linkage = "weak")]
     pub unsafe extern "C" fn __aeabi_uldivmod() {
         core::arch::asm!(
             "push {{r4, lr}}",
@@ -52,6 +54,7 @@ intrinsics! {
     }
 
     #[naked]
+    #[cfg_attr(all(not(windows), not(target_vendor="apple")), linkage = "weak")]
     pub unsafe extern "C" fn __aeabi_idivmod() {
         core::arch::asm!(
             "push {{r0, r1, r4, lr}}",
@@ -65,6 +68,7 @@ intrinsics! {
     }
 
     #[naked]
+    #[cfg_attr(all(not(windows), not(target_vendor="apple")), linkage = "weak")]
     pub unsafe extern "C" fn __aeabi_ldivmod() {
         core::arch::asm!(
             "push {{r4, lr}}",