summaryrefslogtreecommitdiff
path: root/sys/external/bsd/compiler_rt/dist/lib
AgeCommit message (Collapse)Author
2023-05-07RISC-V support that works on QEMU with a single hart.skrll
Thanks for Simon Burge for plic(4).
2022-12-26remove the PPP HDLC ioctls from more copies of sanitizers.chs
2021-11-02Adjust for new __sigaction_siginfo symbol.thorpej
2021-06-30Do previous differently by pushing even number of registers and removeskrll
strange r7 usage.
2021-06-29Align sp to 8-byte boundary as required by EABI.rin
This is especially important for non-leaf functions; GCC optimizes codes based on assumption that sp is aligned properly. Mostly fix broken earmv5 userland compiled by GCC10 due to alignment faults in ld.elf_so, where {ld,st}rd are used for [sp, #8x]. No regression for ATF is observed for earmv[67]{,hf}{,eb}.
2021-06-16PR port-arm/55897rin
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
2021-06-16PR port-arm/55897rin
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
2021-06-16PR port-arm/55897rin
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
2021-06-16PR port-arm/55897rin
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
2021-06-16PR port-arm/55897rin
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 address https://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
2021-06-16PR port-arm/55897rin
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
2020-05-05Align addresses to cache lines in __clear_cache for aarch64.jmcneill
This corrects an issue where if the start and end address fall in different lines, and the end address is not cache line size aligned, the last line will not be invalidated properly. Patch from compiler-rt upstream: https://reviews.llvm.org/rCRT323315
2020-04-04Fix LLVM sanitizers build after removal of netsmbkamil
Cherry-pick upstream commit: From 695ca346eb0c724fb79c6f166cfecd736eae6608 Mon Sep 17 00:00:00 2001 From: Kamil Rytarowski <n54@gmx.com> Date: Sun, 5 Apr 2020 00:54:55 +0200 Subject: [PATCH] [compiler-rt] Fix build on NetBSD 9.99.52+ Add a fallback definition of the netsmb device driver that was removed.
2020-03-15Fix compiler-rt build with MKIPFILTER=nokamil
Cherry-pick upstream patch: From 7f6b25ad1bb3f8057655a9bad2a3b69621f4a543 Mon Sep 17 00:00:00 2001 From: Kamil Rytarowski <n54@gmx.com> Date: Mon, 16 Mar 2020 00:39:02 +0100 Subject: [PATCH] [compiler-rt] [netbsd] Add support for the MKIPFILTER=no distribution Add fallback definition for the IPFilter ioctl commands. https://github.com/llvm/llvm-project/commit/7f6b25ad1bb3f8057655a9bad2a3b69621f4a543.patch PR bin/55070 by Roy Marples
2020-01-31Fix the build of LLVM sanitizers after the urio(4) removalkamil
Cherry-pick a part of the upstream commit: [compiler-rt] Fix build on NetBSD 9.99.44 Fix build on >= 9.99.44 after the removal of urio(4). Add compat code for the device as NetBSD-9.0 is supported. https://github.com/llvm/llvm-project/commit/3a200f3f2e52e671b8d9911e3724d6b11dbbbe08
2019-12-27Cherry-pick LLVM upstream patch to fix build of compiler-rtkamil
commit 52b5fe5f45b1908e140e05a4eceaaac7002be768 Author: Kamil Rytarowski <n54@gmx.com> Date: Wed Dec 25 04:05:10 2019 +0100 [compiler-rt] [netbsd] Define _RTLD_SOURCE to fix build The TLS base (LWP private pointer) functions are namespaced and hidden i.e. inside the _RTLD_SOURCE namespace.
2019-12-24Fix compiler-rt sanitizer build with >= 9.99.30kamil
Cherry-pick (patched): [compiler-rt] Adapt for ptrace(2) changes in NetBSD-9.99.30 Enable compat support for now legacy PT_LWPINFO. Support PT_LWPSTATUS and PT_LWPNEXT. https://github.com/llvm/llvm-project/commit/4b8232d4f0bf5fd9f11ebef2b0f9e8e15f130fb3
2019-12-18Fix compiler-rt build after removal of filemonkamil
Cherry-pick [patched locally]: [compiler-rt] Sync NetBSD ioctl definitions with 9.99.26 Document the minimal version supported to 9.0. https://github.com/llvm/llvm-project/commit/e14ff22694c28b5e731502bfc30192b3208d4d8d
2019-10-23Correct the __libc_thr_keycreate signature in the MSan interceptorkamil
Noted by gcc8. In practice it might have no impact on the functionality.
2019-08-14Cherry-pick upstream compiler-rt patches for LLVM sanitizerskamil
Upstream no longer accepts patches for LLVM-8, therefore pull needed changes downstream. Enhancements: * resolved build failured with NetBSD 9.99.3 * ioctl(2) lists are synced with NetBSD 9.99.3 * fixes dynamic asan (-fsanitize=address -shared-libasa) crash on init commit 092068cd7429659138d6779a3072298462ad3e9c Author: Kamil Rytarowski <n54@gmx.com> Date: Wed Aug 7 21:56:43 2019 +0000 Restrict the NetBSD ASan TSD fallback to !ASAN_DYNAMIC The fallback to the alternative implementation of TSD with TLS is only needed for the static version of ASan for NetBSD. The same code cannot be reused for the dynamic version of ASan as TLS breaks and TSD code works. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@368219 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0bd9d23c4317d5d1c440e19892e178a29c9fe7be Author: Kamil Rytarowski <n54@gmx.com> Date: Thu Aug 8 02:21:44 2019 +0000 Sync ioctl(2) list with NetBSD 9.99.3 Register 36 new ioctl(2) calls. Enable NVMM for amd64 as the API has been stabilized. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@368247 91177308-0d34-0410-b5e6-96231b3b80d8 commit 08d3c10606f09a4545487e9c3fad919ee396e3a6 Author: Tom Stellard <tstellar@redhat.com> Date: Wed May 15 20:29:49 2019 +0000 Merging r360212: ------------------------------------------------------------------------ r360212 | kamil | 2019-05-07 17:44:41 -0700 (Tue, 07 May 2019) | 6 lines Fix build on NetBSD 8.99.38 With recent changes the dev/nvmm/nvmm_ioctl.h header is no longer a standalone NVMM header. Disable it until the NVMM operations will stabilize and be included in the ioctl(2) interceptors. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/branches/release_80@360811 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-08merge new versionkamil
2019-01-08Import compiler-rt r350590. LLVM sanitizers on top of unmodified files from ↵kamil
compiler-rt-259194.
2018-01-07Revert namespacing of atoi(3)kamil
Sanitizers can handle recursive interceptions in some / most cases, if they will cause damage the problem will be not workaroundable without libc changes - I will be back to it. Keep namespace of asctime() as this can be a cancellation point according to POSIX. Right now it's not implemented on NetBSD. Defer it for later. Keep weak symbols and namespace for wait6(2) as this could be a cancellation point as well. Defer this for later. Sanitizers's [recursive] interceptors are a hack and moving one way or another can cause new sets of problems. Recursive ones can be useful and cause problems (on Linux there are known with with signal handlers). Sponsored by <The NetBSD Foundation>
2018-01-05Register new weak symbol in libc for internal usage: atoikamil
The NetBSD Standard C Library uses internally some of its functions with a mangled symbol name, usually "_symbol". The internal functions shall not use the global (public) symbols. Add atoi to namespace.h. Register a new __weak_alias() entry for atoi() in atoi.c. atoi() is used internally in getrpcent(), rresvport_af(), ftok(), err(), __llvm_profile_write_file(), llvm_gcda_start_file(), citrus_iconv_open(), getprotoent_r(), __rpc_uaddr2taddr_af(), __res_nopt_rdata() and servent_parseline(). This revision switches the internal usage to the internal symbol. Sponsored by <The NetBSD Foundation>
2018-01-05Include namespace.h in GCDAProfiling.c (compiler_rt)kamil
The NetBSD Standard C Library uses internally some of its functions with a mangled symbol name, usually "_symbol". The internal functions shall not use the global (public) symbols. This change eliminates usage of the global name of the following symbols: - fdopen -> _fdopen - mmap -> _mmap - strdup -> _strdup Sponsored by <The NetBSD Foundation>
2017-06-16Implement __clear_cache using __syncicache on PPCjoerg
2017-05-24Add __clear_cache implementatin for SPARC/SPARC64.joerg
2016-03-26Make the softfloat variant compilemartin
2016-03-25No CRT_HAS_128BIT for pcc, which lacks attribute((mode(TI))).riastradh
2016-03-04Fix infinite recursion caused by gcc lossage.christos
2016-02-27Add lint bits.christos
2016-02-27Merge compiler-rt-259194.joerg
2016-02-27Import compiler-rt r259194. Primary changes are better support forjoerg
128bit long double and a number of refinements in the profiling backend.
2015-03-09Don't use __gcc_personality_sj0 on ARM.joerg
2014-08-10Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,joerg
uses Thumb mode by default on ARM when available and fixes a bug in the division code for ARMs with hardware integer division.
2014-05-19Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.joerg
2014-05-16Import compiler-rt r208593. Fix a build bug in __clear_cache by notjoerg
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
2014-03-18Import compiler-rt r204194. Fixes shift use in divide routines and constjoerg
correctness in gcc_personality_v0.c.
2014-02-26Retire sources from old build location.joerg
2014-02-26Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.joerg
2014-02-18prefer __func__ instead of __FUNCTION__christos
2014-02-18- include <sys/cdefs.h> for compiler definitionschristos
- add a lint comment
2014-01-29Fix builtin shadowing in PowerPC specific code. Implement clzdi/clzsijoerg
for ARM.
2014-01-24Import compiler-rt r200007. Use .size on all assembler functions.joerg
Reimplement ARM division based on Matt Thomas's common version.
2014-01-15Import compiler-rt r199273. Support libkern/libsa alternative headers.joerg
Mark assembler functions as such to prevent ld snafu.
2013-07-04Initial import of a cut-down copy of compiler-rt revision r185671.joerg