Source-Changes-HG archive

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

[src/trunk]: src PR port-arm/55897



details:   https://anonhg.NetBSD.org/src/rev/c522fb0d16f9
branches:  trunk
changeset: 379729:c522fb0d16f9
user:      rin <rin%NetBSD.org@localhost>
date:      Wed Jun 16 05:21:08 2021 +0000

description:
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/lib/libkern/Makefile.compiler-rt |  8 ++++++--
 4 files changed, 21 insertions(+), 6 deletions(-)

diffs (67 lines):

diff -r b298a62c15ad -r c522fb0d16f9 lib/libc/compiler_rt/Makefile.inc
--- a/lib/libc/compiler_rt/Makefile.inc Wed Jun 16 05:07:49 2021 +0000
+++ b/lib/libc/compiler_rt/Makefile.inc Wed Jun 16 05:21:08 2021 +0000
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile.inc,v 1.39 2020/09/02 16:22:45 jakllsch Exp $
+# $NetBSD: Makefile.inc,v 1.40 2021/06/16 05:21:08 rin 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
@@ -299,3 +300,5 @@ COPTS.${src}+=      -Wno-missing-prototypes \
 COPTS.${src}+= -D__SOFT_FP__
 .endif
 .endfor
+
+.include "${COMPILER_RT_DIR}/abi.mk"
diff -r b298a62c15ad -r c522fb0d16f9 lib/libm/compiler_rt/Makefile.inc
--- a/lib/libm/compiler_rt/Makefile.inc Wed Jun 16 05:07:49 2021 +0000
+++ b/lib/libm/compiler_rt/Makefile.inc Wed Jun 16 05:21:08 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.11 2021/06/16 05:21:08 rin 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 @@ SRCS+=        ${src}
 COPTS.${src}+= -Wno-error=missing-prototypes
 .  endif
 .endfor
+
+.include "${COMPILER_RT_DIR}/abi.mk"
diff -r b298a62c15ad -r c522fb0d16f9 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       Wed Jun 16 05:21:08 2021 +0000
@@ -0,0 +1,5 @@
+# $NetBSD: abi.mk,v 1.1 2021/06/16 05:21:08 rin Exp $
+
+.if !empty(MACHINE_ARCH:Mearm*hf*)
+CPPFLAGS+=     -DCOMPILER_RT_ARMHF_TARGET
+.endif
diff -r b298a62c15ad -r c522fb0d16f9 sys/lib/libkern/Makefile.compiler-rt
--- a/sys/lib/libkern/Makefile.compiler-rt      Wed Jun 16 05:07:49 2021 +0000
+++ b/sys/lib/libkern/Makefile.compiler-rt      Wed Jun 16 05:21:08 2021 +0000
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile.compiler-rt,v 1.12 2020/04/24 00:22:57 rin Exp $
+# $NetBSD: Makefile.compiler-rt,v 1.13 2021/06/16 05:21:09 rin 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_ARCH} == "powerpc"
 COMPILER_RT_CPU_DIR=   ${COMPILER_RT_SRCDIR}/lib/builtins/ppc
@@ -134,3 +135,6 @@ CPPFLAGS.int_util.c+=       -DKERNEL_USE
 COPTS.udivmoddi4.c+=   -fnon-call-exceptions
 . endif
 .endif
+
+# XXX This makes no binary changes at the moment.
+.include "${COMPILER_RT_DIR}/abi.mk"



Home | Main Index | Thread Index | Old Index