summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2020-08-03 03:32:05 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2020-08-03 03:32:05 +0000
commit9f5732ad269138291140a35fb971b92286ab874c (patch)
tree3c28a8f0ef85cff785b95ef16936641f97d958a2 /sys
parentcbd079c1a12540c77f9ecc4ec02d553170714eea (diff)
add aliases for arm eabi long long shift functions
clang 10 on armv7 references these when building RAMDISK (-Oz) but not GENERIC (-O2). feedback and ok guenther@
Diffstat (limited to 'sys')
-rw-r--r--sys/lib/libkern/ashrdi3.c4
-rw-r--r--sys/lib/libkern/lshldi3.c4
-rw-r--r--sys/lib/libkern/lshrdi3.c4
3 files changed, 12 insertions, 0 deletions
diff --git a/sys/lib/libkern/ashrdi3.c b/sys/lib/libkern/ashrdi3.c
index f55e7813c3f..8c8e1670c6d 100644
--- a/sys/lib/libkern/ashrdi3.c
+++ b/sys/lib/libkern/ashrdi3.c
@@ -64,3 +64,7 @@ __ashrdi3(quad_t a, qshift_t shift)
}
return (aa.q);
}
+
+#ifdef __ARM_EABI__
+__strong_alias(__aeabi_lasr, __ashrdi3);
+#endif
diff --git a/sys/lib/libkern/lshldi3.c b/sys/lib/libkern/lshldi3.c
index 7d38b506696..debbcc2c156 100644
--- a/sys/lib/libkern/lshldi3.c
+++ b/sys/lib/libkern/lshldi3.c
@@ -55,3 +55,7 @@ __lshldi3(quad_t a, qshift_t shift)
}
return (aa.q);
}
+
+#ifdef __ARM_EABI__
+__strong_alias(__aeabi_llsl, __lshldi3);
+#endif
diff --git a/sys/lib/libkern/lshrdi3.c b/sys/lib/libkern/lshrdi3.c
index dafb446ef70..6aee85e1be4 100644
--- a/sys/lib/libkern/lshrdi3.c
+++ b/sys/lib/libkern/lshrdi3.c
@@ -54,3 +54,7 @@ __lshrdi3(quad_t a, qshift_t shift)
}
return (aa.q);
}
+
+#ifdef __ARM_EABI__
+__strong_alias(__aeabi_llsr, __lshrdi3);
+#endif