Up to [cvs.NetBSD.org] / src / sys / lib / libkern
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
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, ..?
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
Sync w/ HEAD.
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
Sync with bouyer-xenpvh-base2 (HEAD)
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.
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.
Mostly merge changes from HEAD upto 20200411
convert HAVE_GCC == 7 to HAVE_GCC >= 7.
Sync with HEAD
clzdi2 and ctzdi2 are needed on alpha. (counting instructions are in the optional CIX extension, and thus not used by the default compiler configuation).
don't use -fnon-call-exceptions on arm. not needed and triggers eh_frame generation.
apply the previous to all GCC-7 platforms. it affects vax as well.
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.
Rebase to HEAD as of a few days ago.
file Makefile.compiler-rt was added on branch tls-maxphys on 2014-08-20 00:04:29 +0000
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.
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")
sync with head
file Makefile.compiler-rt was added on branch yamt-pagecache on 2014-05-22 11:41:04 +0000
file Makefile.compiler-rt was added on branch rmind-smpnet on 2014-05-18 17:46:08 +0000
Update compiler-rt glue for the new source layout.
For ARM EABI, includ divide-by-0 trap handlers.
This is not libc, so don't check the libc arch macro.
libkern build glue for compiler-rt.