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/ce9be47c4e0d
branches:  trunk
changeset: 983979:ce9be47c4e0d
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 509a34e200d7 -r ce9be47c4e0d 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}+= -D__SOFT_FP__
 .endif
 .endfor
+
+.include "${COMPILER_RT_DIR}/abi.mk"
diff -r 509a34e200d7 -r ce9be47c4e0d 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 @@
 COPTS.${src}+= -Wno-error=missing-prototypes
 .  endif
 .endfor
+
+.include "${COMPILER_RT_DIR}/abi.mk"
diff -r 509a34e200d7 -r ce9be47c4e0d 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 509a34e200d7 -r ce9be47c4e0d 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 @@
 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