in libc.
ok patrick@, jsg@, guenther@
ldexpl
modfl
+/* EABI */
+__aeabi_idiv
+__aeabi_idivmod
+__aeabi_uidiv
+__aeabi_uidivmod
+
+/* EABI softfloat */
+__aeabi_d2f
+__aeabi_d2iz
+__aeabi_d2lz
+__aeabi_dadd
+__aeabi_ddiv
+__aeabi_dmul
+__aeabi_dsub
+__aeabi_f2d
+__aeabi_f2iz
+__aeabi_f2lz
+__aeabi_fadd
+__aeabi_fdiv
+__aeabi_fmul
+__aeabi_fsub
+__aeabi_i2d
+__aeabi_i2f
+__aeabi_l2d
+__aeabi_l2f
+
/* dlfcn */
dl_unwind_find_exidx
__gnu_Unwind_Find_exidx
-/* $OpenBSD: divsi3.S,v 1.3 2016/08/06 19:16:09 guenther Exp $ */
+/* $OpenBSD: divsi3.S,v 1.4 2017/12/26 15:11:17 kettenis Exp $ */
/* $NetBSD: divsi3.S,v 1.5 2003/04/05 23:08:51 bjh21 Exp $ */
/*
addhs r3, r3, r2
mov r0, r3
mov pc, lr
+
+STRONG_ALIAS(__aeabi_idiv, __divsi3)
+STRONG_ALIAS(__aeabi_idivmod, __divsi3)
+STRONG_ALIAS(__aeabi_uidiv, __udivsi3)
+STRONG_ALIAS(__aeabi_uidivmod, __udivsi3)
-/* $OpenBSD: fixdfdi.c,v 1.5 2005/08/08 08:05:35 espie Exp $ */
+/* $OpenBSD: fixdfdi.c,v 1.6 2017/12/26 15:11:17 kettenis Exp $ */
/*-
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
else
return ((quad_t)(u_quad_t)x);
}
+
+#ifdef __ARM_EABI__
+__strong_alias(__aeabi_d2lz, __fixdfdi);
+#endif
-/* $OpenBSD: fixsfdi.c,v 1.6 2005/08/08 08:05:35 espie Exp $ */
+/* $OpenBSD: fixsfdi.c,v 1.7 2017/12/26 15:11:17 kettenis Exp $ */
/*-
* Copyright (c) 1992 The Regents of the University of California.
* All rights reserved.
else
return ((quad_t)(u_quad_t)x);
}
+
+#ifdef __ARM_EABI__
+__strong_alias(__aeabi_f2lz, __fixsfdi);
+#endif
-/* $OpenBSD: fixunsdfdi.c,v 1.7 2005/08/08 08:05:35 espie Exp $ */
+/* $OpenBSD: fixunsdfdi.c,v 1.8 2017/12/26 15:11:17 kettenis Exp $ */
/*-
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
t.ul[H] = tmp;
return (t.uq);
}
+
+#ifdef __ARM_EABI__
+__strong_alias(__aeabi_d2ulz, __fixunsdfdi);
+#endif
-/* $OpenBSD: fixunssfdi.c,v 1.5 2005/08/08 08:05:35 espie Exp $ */
+/* $OpenBSD: fixunssfdi.c,v 1.6 2017/12/26 15:11:17 kettenis Exp $ */
/*-
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
t.ul[L] = (u_int)x;
return (t.uq);
}
+
+#ifdef __ARM_EABI__
+__strong_alias(__aeabi_f2ulz, __fixunssfdi);
+#endif
-/* $OpenBSD: floatdidf.c,v 1.6 2005/08/08 08:05:35 espie Exp $ */
+/* $OpenBSD: floatdidf.c,v 1.7 2017/12/26 15:11:17 kettenis Exp $ */
/*-
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
return (neg ? -d : d);
}
+
+#ifdef __ARM_EABI__
+__strong_alias(__aeabi_l2d, __floatdidf);
+#endif
-/* $OpenBSD: floatdisf.c,v 1.6 2005/08/08 08:05:35 espie Exp $ */
+/* $OpenBSD: floatdisf.c,v 1.7 2017/12/26 15:11:17 kettenis Exp $ */
/*-
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
return (neg ? -f : f);
}
+
+#ifdef __ARM_EABI__
+__strong_alias(__aeabi_l2f, __floatdisf);
+#endif
major=92
-minor=1
+minor=2
# note: If changes were made to include/thread_private.h or if system
# calls were added/changed then librthread/shlib_version also be updated.
-/* $OpenBSD: softfloat-for-gcc.h,v 1.1 2006/11/06 15:11:37 drahn Exp $ */
+/* $OpenBSD: softfloat-for-gcc.h,v 1.2 2017/12/26 15:11:17 kettenis Exp $ */
/* $NetBSD: softfloat-for-gcc.h,v 1.6 2003/07/26 19:24:51 salo Exp $ */
/*
#define float32_to_float64 __extendsfdf2
#define float64_to_float32 __truncdfsf2
+#ifdef __ARM_EABI__
+__strong_alias(__aeabi_fadd, __addsf3);
+__strong_alias(__aeabi_dadd, __adddf3);
+__strong_alias(__aeabi_fsub, __subsf3);
+__strong_alias(__aeabi_dsub, __subdf3);
+__strong_alias(__aeabi_fmul, __mulsf3);
+__strong_alias(__aeabi_dmul, __muldf3);
+__strong_alias(__aeabi_fdiv, __divsf3);
+__strong_alias(__aeabi_ddiv, __divdf3);
+__strong_alias(__aeabi_i2f, __floatsisf);
+__strong_alias(__aeabi_i2d, __floatsidf);
+__strong_alias(__aeabi_l2f, __floatdisf);
+__strong_alias(__aeabi_l2d, __floatdidf);
+__strong_alias(__aeabi_f2iz, __fixsfsi);
+__strong_alias(__aeabi_d2iz, __fixdfsi);
+__strong_alias(__aeabi_f2lz, __fixsfdi);
+__strong_alias(__aeabi_d2lz, __fixdfdi);
+__strong_alias(__aeabi_f2uiz, __fixunssfsi);
+__strong_alias(__aeabi_d2uiz, __fixunsdfsi);
+__strong_alias(__aeabi_f2d, __extendsfdf2);
+__strong_alias(__aeabi_d2f, __truncdfsf2);
+#endif