Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-9]: src Pull up following revision(s) (requested by skrll in tick...



details:   https://anonhg.NetBSD.org/src/rev/bcc662ada68c
branches:  netbsd-9
changeset: 985096:bcc662ada68c
user:      martin <martin%NetBSD.org@localhost>
date:      Sun Aug 08 10:11:39 2021 +0000

description:
Pull up following revision(s) (requested by skrll in ticket #1328):

        sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
        sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
        sys/external/bsd/compiler_rt/abi.mk: revision 1.1
        sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
        sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
        sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
        sys/lib/libkern/Makefile.compiler-rt: revision 1.13
        sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
        sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
        lib/libm/compiler_rt/Makefile.inc: revision 1.11
        sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
        lib/libc/compiler_rt/Makefile.inc: revision 1.40
        sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
        sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
        sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
        sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
  Windows
Windows does not honour the __attribute__((pcs)) on ARM.  Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
These actually may change calling conventions.  We cannot simply provide
function aliases as the aliased function may have a different calling
convention.  Provide a forwarding function instead to permit the
compiler to synthesize the calling convention adjustment thunk.
Remove the `ARM_EABI_FNALIAS` macro as that is not safe to use.
Resolves PR33030!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
r303188 removed all the uses of aliases for EABI functions from
compiler-rt, because some of them had mismatched calling conventions.
Obviously, we can't use aliases for functions which don't have the same
calling convention, but that's only an issue for floating-point
functions with the hardfloat ABI.  In other cases, the stubs increase
size and reduce performance for no benefit.
This patch adds back the aliases, with appropriate checks to make sure
they're only used in cases where the calling convention matches.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll

diffstat:

 lib/libc/compiler_rt/Makefile.inc                                            |   7 ++-
 lib/libm/compiler_rt/Makefile.inc                                            |   7 ++-
 sys/external/bsd/compiler_rt/abi.mk                                          |   5 ++
 sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c                      |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c                      |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c |   3 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c |   3 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c              |   4 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c             |   4 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c             |   4 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c                     |   6 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c                     |   6 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c                  |  11 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c                  |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c                      |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c                      |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c                      |   6 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c                 |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c                 |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c                     |  11 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c                     |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c                     |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c                     |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c                  |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c                  |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c                  |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c                  |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c                   |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c                   |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c                   |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c                   |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c                 |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c                 |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c                 |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c                 |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h                     |  21 +++++----
 sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c                     |   6 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c                      |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c                      |   6 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c                      |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c                      |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c                      |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c                      |  11 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c                      |  11 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c                  |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c                  |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c                  |  12 ++++-
 sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c                     |   6 +-
 sys/lib/libkern/Makefile.compiler-rt                                         |   8 ++-
 49 files changed, 391 insertions(+), 103 deletions(-)

diffs (truncated from 1110 to 300 lines):

diff -r fd40005e824c -r bcc662ada68c lib/libc/compiler_rt/Makefile.inc
--- a/lib/libc/compiler_rt/Makefile.inc Sun Aug 08 10:00:16 2021 +0000
+++ b/lib/libc/compiler_rt/Makefile.inc Sun Aug 08 10:11:39 2021 +0000
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile.inc,v 1.35 2017/07/23 09:50:54 martin Exp $
+# $NetBSD: Makefile.inc,v 1.35.6.1 2021/08/08 10:11:39 martin Exp $
 
-COMPILER_RT_SRCDIR=    ${NETBSDSRCDIR}/sys/external/bsd/compiler_rt/dist
+COMPILER_RT_DIR=       ${NETBSDSRCDIR}/sys/external/bsd/compiler_rt
+COMPILER_RT_SRCDIR=    ${COMPILER_RT_DIR}/dist
 
 .if ${LIBC_MACHINE_ARCH} == "powerpc" || ${LIBC_MACHINE_ARCH} == "powerpc64"
 COMPILER_RT_CPU_DIR=   ${COMPILER_RT_SRCDIR}/lib/builtins/ppc
@@ -296,3 +297,5 @@
 COPTS.${src}+= -D__SOFT_FP__
 .endif
 .endfor
+
+.include "${COMPILER_RT_DIR}/abi.mk"
diff -r fd40005e824c -r bcc662ada68c lib/libm/compiler_rt/Makefile.inc
--- a/lib/libm/compiler_rt/Makefile.inc Sun Aug 08 10:00:16 2021 +0000
+++ b/lib/libm/compiler_rt/Makefile.inc Sun Aug 08 10:11:39 2021 +0000
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile.inc,v 1.10 2016/02/27 19:06:56 joerg Exp $
+# $NetBSD: Makefile.inc,v 1.10.18.1 2021/08/08 10:11:39 martin Exp $
 
-COMPILER_RT_SRCDIR=    ${NETBSDSRCDIR}/sys/external/bsd/compiler_rt/dist
+COMPILER_RT_DIR=       ${NETBSDSRCDIR}/sys/external/bsd/compiler_rt
+COMPILER_RT_SRCDIR=    ${COMPILER_RT_DIR}/dist
 
 .if ${MACHINE_CPU} == "powerpc"
 COMPILER_RT_CPU_DIR=   ${COMPILER_RT_SRCDIR}/lib/builtins/ppc
@@ -38,3 +39,5 @@
 COPTS.${src}+= -Wno-error=missing-prototypes
 .  endif
 .endfor
+
+.include "${COMPILER_RT_DIR}/abi.mk"
diff -r fd40005e824c -r bcc662ada68c sys/external/bsd/compiler_rt/abi.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/external/bsd/compiler_rt/abi.mk       Sun Aug 08 10:11:39 2021 +0000
@@ -0,0 +1,5 @@
+# $NetBSD: abi.mk,v 1.1.8.2 2021/08/08 10:11:39 martin Exp $
+
+.if !empty(MACHINE_ARCH:Mearm*hf*)
+CPPFLAGS+=     -DCOMPILER_RT_ARMHF_TARGET
+.endif
diff -r fd40005e824c -r bcc662ada68c sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c   Sun Aug 08 10:00:16 2021 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c   Sun Aug 08 10:11:39 2021 +0000
@@ -15,8 +15,16 @@
 #define DOUBLE_PRECISION
 #include "fp_add_impl.inc"
 
-ARM_EABI_FNALIAS(dadd, adddf3)
-
 COMPILER_RT_ABI double __adddf3(double a, double b){
     return __addXf3__(a, b);
 }
+
+#if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
+AEABI_RTABI double __aeabi_dadd(double a, double b) {
+  return __adddf3(a, b);
+}
+#else
+AEABI_RTABI double __aeabi_dadd(double a, double b) COMPILER_RT_ALIAS(__adddf3);
+#endif
+#endif
diff -r fd40005e824c -r bcc662ada68c sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c   Sun Aug 08 10:00:16 2021 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c   Sun Aug 08 10:11:39 2021 +0000
@@ -15,8 +15,16 @@
 #define SINGLE_PRECISION
 #include "fp_add_impl.inc"
 
-ARM_EABI_FNALIAS(fadd, addsf3)
-
 COMPILER_RT_ABI float __addsf3(float a, float b) {
     return __addXf3__(a, b);
 }
+
+#if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
+AEABI_RTABI float __aeabi_fadd(float a, float b) {
+  return __addsf3(a, b);
+}
+#else
+AEABI_RTABI float __aeabi_fadd(float a, float b) COMPILER_RT_ALIAS(__addsf3);
+#endif
+#endif
diff -r fd40005e824c -r bcc662ada68c sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c      Sun Aug 08 10:00:16 2021 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c      Sun Aug 08 10:11:39 2021 +0000
@@ -9,8 +9,7 @@
 
 #include <stdint.h>
 
-__attribute__((pcs("aapcs")))
-__attribute__((visibility("hidden")))
+AEABI_RTABI __attribute__((visibility("hidden")))
 int __aeabi_cdcmpeq_check_nan(double a, double b) {
     return __builtin_isnan(a) || __builtin_isnan(b);
 }
diff -r fd40005e824c -r bcc662ada68c sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c      Sun Aug 08 10:00:16 2021 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c      Sun Aug 08 10:11:39 2021 +0000
@@ -9,8 +9,7 @@
 
 #include <stdint.h>
 
-__attribute__((pcs("aapcs")))
-__attribute__((visibility("hidden")))
+AEABI_RTABI __attribute__((visibility("hidden")))
 int __aeabi_cfcmpeq_check_nan(float a, float b) {
     return __builtin_isnan(a) || __builtin_isnan(b);
 }
diff -r fd40005e824c -r bcc662ada68c sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c   Sun Aug 08 10:00:16 2021 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c   Sun Aug 08 10:11:39 2021 +0000
@@ -30,12 +30,12 @@
 extern unsigned char declaration;
 
 #if defined(__ARM_EABI__)
-int __attribute__((weak)) __attribute__((visibility("hidden")))
+AEABI_RTABI int __attribute__((weak)) __attribute__((visibility("hidden")))
 __aeabi_idiv0(int return_value) {
   return return_value;
 }
 
-long long __attribute__((weak)) __attribute__((visibility("hidden")))
+AEABI_RTABI long long __attribute__((weak)) __attribute__((visibility("hidden")))
 __aeabi_ldiv0(long long return_value) {
   return return_value;
 }
diff -r fd40005e824c -r bcc662ada68c sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c  Sun Aug 08 10:00:16 2021 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c  Sun Aug 08 10:11:39 2021 +0000
@@ -10,10 +10,10 @@
 #define DOUBLE_PRECISION
 #include "../fp_lib.h"
 
-COMPILER_RT_ABI fp_t
+AEABI_RTABI fp_t
 __aeabi_dsub(fp_t, fp_t);
 
-COMPILER_RT_ABI fp_t
+AEABI_RTABI fp_t
 __aeabi_drsub(fp_t a, fp_t b) {
     return __aeabi_dsub(b, a);
 }
diff -r fd40005e824c -r bcc662ada68c sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c  Sun Aug 08 10:00:16 2021 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c  Sun Aug 08 10:11:39 2021 +0000
@@ -10,10 +10,10 @@
 #define SINGLE_PRECISION
 #include "../fp_lib.h"
 
-COMPILER_RT_ABI fp_t
+AEABI_RTABI fp_t
 __aeabi_fsub(fp_t, fp_t);
 
-COMPILER_RT_ABI fp_t
+AEABI_RTABI fp_t
 __aeabi_frsub(fp_t a, fp_t b) {
     return __aeabi_fsub(b, a);
 }
diff -r fd40005e824c -r bcc662ada68c sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c  Sun Aug 08 10:00:16 2021 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c  Sun Aug 08 10:11:39 2021 +0000
@@ -18,8 +18,6 @@
 
 /* Precondition:  0 <= b < bits_in_dword */
 
-ARM_EABI_FNALIAS(llsl, ashldi3)
-
 COMPILER_RT_ABI di_int
 __ashldi3(di_int a, si_int b)
 {
@@ -41,3 +39,7 @@
     }
     return result.all;
 }
+
+#if defined(__ARM_EABI__)
+AEABI_RTABI di_int __aeabi_llsl(di_int a, si_int b) COMPILER_RT_ALIAS(__ashldi3);
+#endif
diff -r fd40005e824c -r bcc662ada68c sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c  Sun Aug 08 10:00:16 2021 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c  Sun Aug 08 10:11:39 2021 +0000
@@ -18,8 +18,6 @@
 
 /* Precondition:  0 <= b < bits_in_dword */
 
-ARM_EABI_FNALIAS(lasr, ashrdi3)
-
 COMPILER_RT_ABI di_int
 __ashrdi3(di_int a, si_int b)
 {
@@ -42,3 +40,7 @@
     }
     return result.all;
 }
+
+#if defined(__ARM_EABI__)
+AEABI_RTABI di_int __aeabi_lasr(di_int a, si_int b) COMPILER_RT_ALIAS(__ashrdi3);
+#endif
diff -r fd40005e824c -r bcc662ada68c sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c       Sun Aug 08 10:00:16 2021 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c       Sun Aug 08 10:11:39 2021 +0000
@@ -113,8 +113,6 @@
     }
 }
 
-ARM_EABI_FNALIAS(dcmpun, unorddf2)
-
 COMPILER_RT_ABI int
 __unorddf2(fp_t a, fp_t b) {
     const rep_t aAbs = toRep(a) & absMask;
@@ -144,3 +142,12 @@
     return __gedf2(a, b);
 }
 
+#if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
+AEABI_RTABI int __aeabi_dcmpun(fp_t a, fp_t b) {
+  return __unorddf2(a, b);
+}
+#else
+AEABI_RTABI int __aeabi_dcmpun(fp_t a, fp_t b) COMPILER_RT_ALIAS(__unorddf2);
+#endif
+#endif
diff -r fd40005e824c -r bcc662ada68c sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c       Sun Aug 08 10:00:16 2021 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c       Sun Aug 08 10:11:39 2021 +0000
@@ -113,8 +113,6 @@
     }
 }
 
-ARM_EABI_FNALIAS(fcmpun, unordsf2)
-
 COMPILER_RT_ABI int
 __unordsf2(fp_t a, fp_t b) {
     const rep_t aAbs = toRep(a) & absMask;
@@ -143,3 +141,13 @@
 __gtsf2(fp_t a, fp_t b) {
     return __gesf2(a, b);
 }
+
+#if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
+AEABI_RTABI int __aeabi_fcmpun(fp_t a, fp_t b) {
+  return __unordsf2(a, b);
+}
+#else
+AEABI_RTABI int __aeabi_fcmpun(fp_t a, fp_t b) COMPILER_RT_ALIAS(__unordsf2);
+#endif
+#endif
diff -r fd40005e824c -r bcc662ada68c sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c   Sun Aug 08 10:00:16 2021 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c   Sun Aug 08 10:11:39 2021 +0000
@@ -19,8 +19,6 @@
 #define DOUBLE_PRECISION
 #include "fp_lib.h"
 
-ARM_EABI_FNALIAS(ddiv, divdf3)
-
 COMPILER_RT_ABI fp_t
 __divdf3(fp_t a, fp_t b) {
     
@@ -183,3 +181,13 @@
         return result;
     }
 }
+
+#if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
+AEABI_RTABI fp_t __aeabi_ddiv(fp_t a, fp_t b) {
+  return __divdf3(a, b);
+}
+#else
+AEABI_RTABI fp_t __aeabi_ddiv(fp_t a, fp_t b) COMPILER_RT_ALIAS(__divdf3);
+#endif
+#endif
diff -r fd40005e824c -r bcc662ada68c sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c   Sun Aug 08 10:00:16 2021 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c   Sun Aug 08 10:11:39 2021 +0000
@@ -19,8 +19,6 @@
 #define SINGLE_PRECISION
 #include "fp_lib.h"
 
-ARM_EABI_FNALIAS(fdiv, divsf3)
-
 COMPILER_RT_ABI fp_t
 __divsf3(fp_t a, fp_t b) {
     
@@ -167,3 +165,13 @@
         return fromRep(absResult | quotientSign);
     }
 }



Home | Main Index | Thread Index | Old Index