Home | History | Annotate | Download | only in libkern
History log of /src/sys/lib/libkern/Makefile.compiler-rt
RevisionDateAuthorComments
 1.14  13-Nov-2023  mrg avoid dependency on NETBSDSRCDIR being set.

due to various things, non-build.sh builds don't have it set already
and it ends up defaulting to /usr/src, so if that doesn't exist or
is the wrong version, building libkern fails.

XXX: pullup-10, ..?
 1.13  16-Jun-2021  rin 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
 1.12  24-Apr-2020  rin branches: 1.12.6;
For m68k, do not compile in {,u}divmodsi4 also, that are not used by
codes generated by gcc (confirmed not only for kernel, but also all
executables and libraries for userland).

Fix build failure for MODULAR kernel, noticed by mlelstv.
 1.11  23-Apr-2020  rin For m68k, do not compile in {,u}divsi3 and {,u}modsi3 since codes
generated by gcc do not depend on them.

We should not have unused functions in libkern for MODULAR.
 1.10  29-Sep-2019  mrg branches: 1.10.6;
convert HAVE_GCC == 7 to HAVE_GCC >= 7.
 1.9  05-Apr-2019  thorpej branches: 1.9.4;
clzdi2 and ctzdi2 are needed on alpha. (counting instructions are in the
optional CIX extension, and thus not used by the default compiler configuation).
 1.8  07-Feb-2019  mrg don't use -fnon-call-exceptions on arm. not needed and triggers eh_frame generation.
 1.7  07-Feb-2019  mrg apply the previous to all GCC-7 platforms. it affects vax as well.
 1.6  07-Feb-2019  mrg for sh3 and GCC 7 pass -fnon-call-exceptions for udivmoddi4.c.
avoids it emitting a call to abort() for an explicit divide by zero.
 1.5  10-Aug-2014  matt branches: 1.5.4; 1.5.30;
Changes to existing files to enable building AARCH64 userland.
evbarm64-el
This is clang only. While gcc4.8 supports aarch64, no netbsd support has
been written for aarch64 with gcc4.8.
 1.4  26-Feb-2014  joerg branches: 1.4.4; 1.4.6;
Update compiler-rt glue for the new source layout.
 1.3  29-Jan-2014  joerg For ARM EABI, includ divide-by-0 trap handlers.
 1.2  17-Jan-2014  joerg This is not libc, so don't check the libc arch macro.
 1.1  03-Dec-2013  joerg libkern build glue for compiler-rt.
 1.4.6.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4.6.1  26-Feb-2014  yamt file Makefile.compiler-rt was added on branch yamt-pagecache on 2014-05-22 11:41:04 +0000
 1.4.4.2  18-May-2014  rmind sync with head
 1.4.4.1  26-Feb-2014  rmind file Makefile.compiler-rt was added on branch rmind-smpnet on 2014-05-18 17:46:08 +0000
 1.5.30.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.5.30.1  10-Jun-2019  christos Sync with HEAD
 1.5.4.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.4.1  10-Aug-2014  tls file Makefile.compiler-rt was added on branch tls-maxphys on 2014-08-20 00:04:29 +0000
 1.9.4.1  08-Aug-2021  martin 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
 1.10.6.1  25-Apr-2020  bouyer Sync with bouyer-xenpvh-base2 (HEAD)
 1.12.6.1  17-Jun-2021  thorpej Sync w/ HEAD.

RSS XML Feed