|
@@ -1,4 +1,3 @@
|
|
|
-#[cfg(not(feature = "gen-tests"))]
|
|
|
use core::intrinsics;
|
|
|
|
|
|
#[cfg(feature = "mem")]
|
|
@@ -7,8 +6,7 @@ use mem::{memcpy, memmove, memset};
|
|
|
// NOTE This function and the ones below are implemented using assembly because they using a custom
|
|
|
// calling convention which can't be implemented using a normal Rust function
|
|
|
#[naked]
|
|
|
-#[cfg_attr(not(test), no_mangle)]
|
|
|
-#[cfg(not(feature = "gen-tests"))]
|
|
|
+#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
|
|
|
pub unsafe fn __aeabi_uidivmod() {
|
|
|
asm!("push {lr}
|
|
|
sub sp, sp, #4
|
|
@@ -21,8 +19,7 @@ pub unsafe fn __aeabi_uidivmod() {
|
|
|
}
|
|
|
|
|
|
#[naked]
|
|
|
-#[cfg_attr(not(test), no_mangle)]
|
|
|
-#[cfg(not(feature = "gen-tests"))]
|
|
|
+#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
|
|
|
pub unsafe fn __aeabi_uldivmod() {
|
|
|
asm!("push {r4, lr}
|
|
|
sub sp, sp, #16
|
|
@@ -37,8 +34,7 @@ pub unsafe fn __aeabi_uldivmod() {
|
|
|
}
|
|
|
|
|
|
#[naked]
|
|
|
-#[cfg_attr(not(test), no_mangle)]
|
|
|
-#[cfg(not(feature = "gen-tests"))]
|
|
|
+#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
|
|
|
pub unsafe fn __aeabi_idivmod() {
|
|
|
asm!("push {r0, r1, r4, lr}
|
|
|
bl __divsi3
|
|
@@ -50,8 +46,7 @@ pub unsafe fn __aeabi_idivmod() {
|
|
|
}
|
|
|
|
|
|
#[naked]
|
|
|
-#[cfg_attr(not(test), no_mangle)]
|
|
|
-#[cfg(not(feature = "gen-tests"))]
|
|
|
+#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
|
|
|
pub unsafe fn __aeabi_ldivmod() {
|
|
|
asm!("push {r4, lr}
|
|
|
sub sp, sp, #16
|
|
@@ -75,55 +70,55 @@ extern "C" {
|
|
|
|
|
|
// FIXME: The `*4` and `*8` variants should be defined as aliases.
|
|
|
|
|
|
-#[cfg_attr(not(test), no_mangle)]
|
|
|
+#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
|
|
|
pub unsafe extern "aapcs" fn __aeabi_memcpy(dest: *mut u8, src: *const u8, n: usize) {
|
|
|
memcpy(dest, src, n);
|
|
|
}
|
|
|
-#[cfg_attr(not(test), no_mangle)]
|
|
|
+#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
|
|
|
pub unsafe extern "aapcs" fn __aeabi_memcpy4(dest: *mut u8, src: *const u8, n: usize) {
|
|
|
memcpy(dest, src, n);
|
|
|
}
|
|
|
-#[cfg_attr(not(test), no_mangle)]
|
|
|
+#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
|
|
|
pub unsafe extern "aapcs" fn __aeabi_memcpy8(dest: *mut u8, src: *const u8, n: usize) {
|
|
|
memcpy(dest, src, n);
|
|
|
}
|
|
|
|
|
|
-#[cfg_attr(not(test), no_mangle)]
|
|
|
+#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
|
|
|
pub unsafe extern "aapcs" fn __aeabi_memmove(dest: *mut u8, src: *const u8, n: usize) {
|
|
|
memmove(dest, src, n);
|
|
|
}
|
|
|
-#[cfg_attr(not(test), no_mangle)]
|
|
|
+#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
|
|
|
pub unsafe extern "aapcs" fn __aeabi_memmove4(dest: *mut u8, src: *const u8, n: usize) {
|
|
|
memmove(dest, src, n);
|
|
|
}
|
|
|
-#[cfg_attr(not(test), no_mangle)]
|
|
|
+#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
|
|
|
pub unsafe extern "aapcs" fn __aeabi_memmove8(dest: *mut u8, src: *const u8, n: usize) {
|
|
|
memmove(dest, src, n);
|
|
|
}
|
|
|
|
|
|
// Note the different argument order
|
|
|
-#[cfg_attr(not(test), no_mangle)]
|
|
|
+#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
|
|
|
pub unsafe extern "aapcs" fn __aeabi_memset(dest: *mut u8, n: usize, c: i32) {
|
|
|
memset(dest, c, n);
|
|
|
}
|
|
|
-#[cfg_attr(not(test), no_mangle)]
|
|
|
+#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
|
|
|
pub unsafe extern "aapcs" fn __aeabi_memset4(dest: *mut u8, n: usize, c: i32) {
|
|
|
memset(dest, c, n);
|
|
|
}
|
|
|
-#[cfg_attr(not(test), no_mangle)]
|
|
|
+#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
|
|
|
pub unsafe extern "aapcs" fn __aeabi_memset8(dest: *mut u8, n: usize, c: i32) {
|
|
|
memset(dest, c, n);
|
|
|
}
|
|
|
|
|
|
-#[cfg_attr(not(test), no_mangle)]
|
|
|
+#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
|
|
|
pub unsafe extern "aapcs" fn __aeabi_memclr(dest: *mut u8, n: usize) {
|
|
|
memset(dest, 0, n);
|
|
|
}
|
|
|
-#[cfg_attr(not(test), no_mangle)]
|
|
|
+#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
|
|
|
pub unsafe extern "aapcs" fn __aeabi_memclr4(dest: *mut u8, n: usize) {
|
|
|
memset(dest, 0, n);
|
|
|
}
|
|
|
-#[cfg_attr(not(test), no_mangle)]
|
|
|
+#[cfg_attr(not(feature = "mangled-names"), no_mangle)]
|
|
|
pub unsafe extern "aapcs" fn __aeabi_memclr8(dest: *mut u8, n: usize) {
|
|
|
memset(dest, 0, n);
|
|
|
}
|