Module Name:    src
Committed By:   rin
Date:           Wed Jun 16 05:07:49 UTC 2021

Modified Files:
        src/sys/external/bsd/compiler_rt/dist/lib/builtins: adddf3.c addsf3.c
            ashldi3.c ashrdi3.c comparedf2.c comparesf2.c divdf3.c divsf3.c
            divsi3.c extendhfsf2.c extendsfdf2.c fixdfdi.c fixdfsi.c fixsfdi.c
            fixsfsi.c fixunsdfdi.c fixunsdfsi.c fixunssfdi.c fixunssfsi.c
            floatdidf.c floatdisf.c floatsidf.c floatsisf.c floatundidf.c
            floatundisf.c floatunsidf.c floatunsisf.c int_lib.h lshrdi3.c
            muldf3.c muldi3.c mulsf3.c negdf2.c negsf2.c subdf3.c subsf3.c
            truncdfhf2.c truncdfsf2.c truncsfhf2.c udivsi3.c

Log Message:
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


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c
cvs rdiff -u -r1.4 -r1.5 \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c
cvs rdiff -u -r1.3 -r1.4 \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c
cvs rdiff -u -r1.5 -r1.6 \
    src/sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c	Wed Jun 16 05:07:49 2021
@@ -20,8 +20,11 @@ COMPILER_RT_ABI double __adddf3(double a
 }
 
 #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
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c	Wed Jun 16 05:07:49 2021
@@ -20,8 +20,11 @@ COMPILER_RT_ABI float __addsf3(float a, 
 }
 
 #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
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c	Wed Jun 16 05:07:49 2021
@@ -41,8 +41,5 @@ __ashldi3(di_int a, si_int b)
 }
 
 #if defined(__ARM_EABI__)
-AEABI_RTABI di_int __aeabi_llsl(di_int a, si_int b) {
-  return __ashldi3(a, b);
-}
+AEABI_RTABI di_int __aeabi_llsl(di_int a, si_int b) COMPILER_RT_ALIAS(__ashldi3);
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c	Wed Jun 16 05:07:49 2021
@@ -42,8 +42,5 @@ __ashrdi3(di_int a, si_int b)
 }
 
 #if defined(__ARM_EABI__)
-AEABI_RTABI di_int __aeabi_lasr(di_int a, si_int b) {
-  return __ashrdi3(a, b);
-}
+AEABI_RTABI di_int __aeabi_lasr(di_int a, si_int b) COMPILER_RT_ALIAS(__ashrdi3);
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c	Wed Jun 16 05:07:49 2021
@@ -143,8 +143,11 @@ __gtdf2(fp_t a, fp_t 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
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c	Wed Jun 16 05:07:49 2021
@@ -143,8 +143,11 @@ __gtsf2(fp_t a, fp_t 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
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c	Wed Jun 16 05:07:49 2021
@@ -183,8 +183,11 @@ __divdf3(fp_t a, fp_t b) {
 }
 
 #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
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c	Wed Jun 16 05:07:49 2021
@@ -167,8 +167,11 @@ __divsf3(fp_t a, fp_t b) {
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI fp_t __aeabi_fdiv(fp_t a, fp_t b) {
   return __divsf3(a, b);
 }
+#else
+AEABI_RTABI fp_t __aeabi_fdiv(fp_t a, fp_t b) COMPILER_RT_ALIAS(__divsf3);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c	Wed Jun 16 05:07:49 2021
@@ -35,8 +35,5 @@ __divsi3(si_int a, si_int b)
 }
 
 #if defined(__ARM_EABI__)
-AEABI_RTABI si_int __aeabi_idiv(si_int a, si_int b) {
-  return __divsi3(a, b);
-}
+AEABI_RTABI si_int __aeabi_idiv(si_int a, si_int b) COMPILER_RT_ALIAS(__divsi3);
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c	Wed Jun 16 05:07:49 2021
@@ -23,8 +23,11 @@ COMPILER_RT_ABI float __gnu_h2f_ieee(uin
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI float __aeabi_h2f(uint16_t a) {
   return __extendhfsf2(a);
 }
+#else
+AEABI_RTABI float __aeabi_h2f(uint16_t a) COMPILER_RT_ALIAS(__extendhfsf2);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c	Wed Jun 16 05:07:49 2021
@@ -17,8 +17,11 @@ COMPILER_RT_ABI double __extendsfdf2(flo
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI double __aeabi_f2d(float a) {
   return __extendsfdf2(a);
 }
+#else
+AEABI_RTABI double __aeabi_f2d(float a) COMPILER_RT_ALIAS(__extendsfdf2);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c	Wed Jun 16 05:07:49 2021
@@ -45,13 +45,11 @@ __fixdfdi(fp_t a) {
 #endif
 
 #if defined(__ARM_EABI__)
-AEABI_RTABI di_int
-#if defined(__SOFT_FP__)
-__aeabi_d2lz(fp_t a) {
-#else
-__aeabi_d2lz(double a) {
-#endif
+#if defined(COMPILER_RT_ARMHF_TARGET)
+AEABI_RTABI di_int __aeabi_d2lz(fp_t a) {
   return __fixdfdi(a);
 }
+#else
+AEABI_RTABI di_int __aeabi_d2lz(fp_t a) COMPILER_RT_ALIAS(__fixdfdi);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c	Wed Jun 16 05:07:49 2021
@@ -20,8 +20,11 @@ __fixdfsi(fp_t a) {
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI si_int __aeabi_d2iz(fp_t a) {
   return __fixdfsi(a);
 }
+#else
+AEABI_RTABI si_int __aeabi_d2iz(fp_t a) COMPILER_RT_ALIAS(__fixdfsi);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c	Wed Jun 16 05:07:49 2021
@@ -45,13 +45,11 @@ __fixsfdi(fp_t a) {
 #endif
 
 #if defined(__ARM_EABI__)
-AEABI_RTABI di_int
-#if defined(__SOFT_FP__)
-__aeabi_f2lz(fp_t a) {
-#else
-__aeabi_f2lz(float a) {
-#endif
+#if defined(COMPILER_RT_ARMHF_TARGET)
+AEABI_RTABI di_int __aeabi_f2lz(fp_t a) {
   return __fixsfdi(a);
 }
+#else
+AEABI_RTABI di_int __aeabi_f2lz(fp_t a) COMPILER_RT_ALIAS(__fixsfdi);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c	Wed Jun 16 05:07:49 2021
@@ -20,8 +20,11 @@ __fixsfsi(fp_t a) {
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI si_int __aeabi_f2iz(fp_t a) {
   return __fixsfsi(a);
 }
+#else
+AEABI_RTABI si_int __aeabi_f2iz(fp_t a) COMPILER_RT_ALIAS(__fixsfsi);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c	Wed Jun 16 05:07:49 2021
@@ -42,13 +42,11 @@ __fixunsdfdi(fp_t a) {
 #endif
 
 #if defined(__ARM_EABI__)
-AEABI_RTABI du_int
-#if defined(__SOFT_FP__)
-__aeabi_d2ulz(fp_t a) {
-#else
-__aeabi_d2ulz(double a) {
-#endif
+#if defined(COMPILER_RT_ARMHF_TARGET)
+AEABI_RTABI du_int __aeabi_d2ulz(fp_t a) {
   return __fixunsdfdi(a);
 }
+#else
+AEABI_RTABI du_int __aeabi_d2ulz(fp_t a) COMPILER_RT_ALIAS(__fixunsdfdi);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c	Wed Jun 16 05:07:49 2021
@@ -19,8 +19,11 @@ __fixunsdfsi(fp_t a) {
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI su_int __aeabi_d2uiz(fp_t a) {
   return __fixunsdfsi(a);
 }
+#else
+AEABI_RTABI su_int __aeabi_d2uiz(fp_t a) COMPILER_RT_ALIAS(__fixunsdfsi);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c	Wed Jun 16 05:07:49 2021
@@ -43,13 +43,11 @@ __fixunssfdi(fp_t a) {
 #endif
 
 #if defined(__ARM_EABI__)
-AEABI_RTABI du_int
-#if defined(__SOFT_FP__)
-__aeabi_f2ulz(fp_t a) {
-#else
-__aeabi_f2ulz(float a) {
-#endif
+#if defined(COMPILER_RT_ARMHF_TARGET)
+AEABI_RTABI du_int __aeabi_f2ulz(fp_t a) {
   return __fixunssfdi(a);
 }
+#else
+AEABI_RTABI du_int __aeabi_f2ulz(fp_t a) COMPILER_RT_ALIAS(__fixunssfdi);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c	Wed Jun 16 05:07:49 2021
@@ -23,8 +23,11 @@ __fixunssfsi(fp_t a) {
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI su_int __aeabi_f2uiz(fp_t a) {
   return __fixunssfsi(a);
 }
+#else
+AEABI_RTABI su_int __aeabi_f2uiz(fp_t a) COMPILER_RT_ALIAS(__fixunssfsi);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c	Wed Jun 16 05:07:49 2021
@@ -78,8 +78,11 @@ __floatdisf(di_int a)
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI float __aeabi_l2f(di_int a) {
   return __floatdisf(a);
 }
+#else
+AEABI_RTABI float __aeabi_l2f(di_int a) COMPILER_RT_ALIAS(__floatdisf);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c	Wed Jun 16 05:07:49 2021
@@ -51,8 +51,11 @@ __floatsidf(int a) {
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI fp_t __aeabi_i2d(int a) {
   return __floatsidf(a);
 }
+#else
+AEABI_RTABI fp_t __aeabi_i2d(int a) COMPILER_RT_ALIAS(__floatsidf);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c	Wed Jun 16 05:07:49 2021
@@ -57,8 +57,11 @@ __floatsisf(int a) {
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI fp_t __aeabi_i2f(int a) {
   return __floatsisf(a);
 }
+#else
+AEABI_RTABI fp_t __aeabi_i2f(int a) COMPILER_RT_ALIAS(__floatsisf);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c	Wed Jun 16 05:07:49 2021
@@ -75,8 +75,11 @@ __floatundisf(du_int a)
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI float __aeabi_ul2f(du_int a) {
   return __floatundisf(a);
 }
+#else
+AEABI_RTABI float __aeabi_ul2f(du_int a) COMPILER_RT_ALIAS(__floatundisf);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c	Wed Jun 16 05:07:49 2021
@@ -40,8 +40,11 @@ __floatunsidf(unsigned int a) {
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI fp_t __aeabi_ui2d(unsigned int a) {
   return __floatunsidf(a);
 }
+#else
+AEABI_RTABI fp_t __aeabi_ui2d(unsigned int a) COMPILER_RT_ALIAS(__floatunsidf);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c	Wed Jun 16 05:07:49 2021
@@ -48,8 +48,11 @@ __floatunsisf(unsigned int a) {
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI fp_t __aeabi_ui2f(unsigned int a) {
   return __floatunsisf(a);
 }
+#else
+AEABI_RTABI fp_t __aeabi_ui2f(unsigned int a) COMPILER_RT_ALIAS(__floatunsisf);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c	Wed Jun 16 05:07:49 2021
@@ -41,8 +41,5 @@ __lshrdi3(di_int a, si_int b)
 }
 
 #if defined(__ARM_EABI__)
-AEABI_RTABI di_int __aeabi_llsr(di_int a, si_int b) {
-  return __lshrdi3(a, b);
-}
+AEABI_RTABI di_int __aeabi_llsr(di_int a, si_int b) COMPILER_RT_ALIAS(__lshrdi3);
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c	Wed Jun 16 05:07:49 2021
@@ -20,8 +20,11 @@ COMPILER_RT_ABI fp_t __muldf3(fp_t a, fp
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI fp_t __aeabi_dmul(fp_t a, fp_t b) {
   return __muldf3(a, b);
 }
+#else
+AEABI_RTABI fp_t __aeabi_dmul(fp_t a, fp_t b) COMPILER_RT_ALIAS(__muldf3);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c	Wed Jun 16 05:07:49 2021
@@ -54,8 +54,5 @@ __muldi3(di_int a, di_int b)
 }
 
 #if defined(__ARM_EABI__)
-AEABI_RTABI di_int __aeabi_lmul(di_int a, di_int b) {
-  return __muldi3(a, b);
-}
+AEABI_RTABI di_int __aeabi_lmul(di_int a, di_int b) COMPILER_RT_ALIAS(__muldi3);
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c	Wed Jun 16 05:07:49 2021
@@ -20,8 +20,11 @@ COMPILER_RT_ABI fp_t __mulsf3(fp_t a, fp
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI fp_t __aeabi_fmul(fp_t a, fp_t b) {
   return __mulsf3(a, b);
 }
+#else
+AEABI_RTABI fp_t __aeabi_fmul(fp_t a, fp_t b) COMPILER_RT_ALIAS(__mulsf3);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c	Wed Jun 16 05:07:49 2021
@@ -20,8 +20,11 @@ __negdf2(fp_t a) {
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI fp_t __aeabi_dneg(fp_t a) {
   return __negdf2(a);
 }
+#else
+AEABI_RTABI fp_t __aeabi_dneg(fp_t a) COMPILER_RT_ALIAS(__negdf2);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c	Wed Jun 16 05:07:49 2021
@@ -20,8 +20,11 @@ __negsf2(fp_t a) {
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI fp_t __aeabi_fneg(fp_t a) {
   return __negsf2(a);
 }
+#else
+AEABI_RTABI fp_t __aeabi_fneg(fp_t a) COMPILER_RT_ALIAS(__negsf2);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c	Wed Jun 16 05:07:49 2021
@@ -22,8 +22,11 @@ __subdf3(fp_t a, fp_t b) {
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI fp_t __aeabi_dsub(fp_t a, fp_t b) {
   return __subdf3(a, b);
 }
+#else
+AEABI_RTABI fp_t __aeabi_dsub(fp_t a, fp_t b) COMPILER_RT_ALIAS(__subdf3);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c	Wed Jun 16 05:07:49 2021
@@ -22,8 +22,11 @@ __subsf3(fp_t a, fp_t b) {
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI fp_t __aeabi_fsub(fp_t a, fp_t b) {
   return __subsf3(a, b);
 }
+#else
+AEABI_RTABI fp_t __aeabi_fsub(fp_t a, fp_t b) COMPILER_RT_ALIAS(__subsf3);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c	Wed Jun 16 05:07:49 2021
@@ -16,8 +16,11 @@ COMPILER_RT_ABI uint16_t __truncdfhf2(do
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI uint16_t __aeabi_d2h(double a) {
   return __truncdfhf2(a);
 }
+#else
+AEABI_RTABI uint16_t __aeabi_d2h(double a) COMPILER_RT_ALIAS(__truncdfhf2);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c	Wed Jun 16 05:07:49 2021
@@ -16,8 +16,11 @@ COMPILER_RT_ABI float __truncdfsf2(doubl
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI float __aeabi_d2f(double a) {
   return __truncdfsf2(a);
 }
+#else
+AEABI_RTABI float __aeabi_d2f(double a) COMPILER_RT_ALIAS(__truncdfsf2);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c	Wed Jun 16 05:07:49 2021
@@ -22,8 +22,11 @@ COMPILER_RT_ABI uint16_t __gnu_f2h_ieee(
 }
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI uint16_t __aeabi_f2h(float a) {
   return __truncsfhf2(a);
 }
+#else
+AEABI_RTABI uint16_t __aeabi_f2h(float a) COMPILER_RT_ALIAS(__truncsfhf2);
+#endif
 #endif
-
Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c:1.2 src/sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c:1.3
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c:1.2	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c	Wed Jun 16 05:07:49 2021
@@ -64,8 +64,5 @@ __udivsi3(su_int n, su_int d)
 }
 
 #if defined(__ARM_EABI__)
-AEABI_RTABI su_int __aeabi_uidiv(su_int n, su_int d) {
-  return __udivsi3(n, d);
-}
+AEABI_RTABI su_int __aeabi_uidiv(su_int n, su_int d) COMPILER_RT_ALIAS(__udivsi3);
 #endif
-

Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c:1.4 src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c:1.5
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c:1.4	Wed Jun 16 05:07:18 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c	Wed Jun 16 05:07:49 2021
@@ -105,8 +105,11 @@ __floatdidf(di_int a)
 #endif
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI double __aeabi_l2d(di_int a) {
   return __floatdidf(a);
 }
+#else
+AEABI_RTABI double __aeabi_l2d(di_int a) COMPILER_RT_ALIAS(__floatdidf);
+#endif
 #endif
-

Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c:1.3 src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c:1.4
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c:1.3	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c	Wed Jun 16 05:07:49 2021
@@ -104,8 +104,11 @@ __floatundidf(du_int a)
 #endif
 
 #if defined(__ARM_EABI__)
+#if defined(COMPILER_RT_ARMHF_TARGET)
 AEABI_RTABI double __aeabi_ul2d(du_int a) {
   return __floatundidf(a);
 }
+#else
+AEABI_RTABI double __aeabi_ul2d(du_int a) COMPILER_RT_ALIAS(__floatundidf);
+#endif
 #endif
-

Index: src/sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h
diff -u src/sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h:1.5 src/sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h:1.6
--- src/sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h:1.5	Wed Jun 16 05:06:45 2021
+++ src/sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h	Wed Jun 16 05:07:49 2021
@@ -22,9 +22,11 @@
 
 #if defined(__ELF__)
 #define FNALIAS(alias_name, original_name) \
-  void alias_name() __attribute__((alias(#original_name)))
+  void alias_name() __attribute__((__alias__(#original_name)))
+#define COMPILER_RT_ALIAS(aliasee) __attribute__((__alias__(#aliasee)))
 #else
 #define FNALIAS(alias, name) _Pragma("GCC error(\"alias unsupported on this file format\")")
+#define COMPILER_RT_ALIAS(aliasee) _Pragma("GCC error(\"alias unsupported on this file format\")")
 #endif
 
 /* ABI macro definitions */

Reply via email to