| Age | Commit message (Collapse) | Author |
|
Thanks for Simon Burge for plic(4).
|
|
|
|
|
|
strange r7 usage.
|
|
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}.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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
|
|
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
|
|
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.
|
|
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
|
|
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
|
|
Noted by gcc8.
In practice it might have no impact on the functionality.
|
|
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
|
|
|
|
compiler-rt-259194.
|
|
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>
|
|
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>
|
|
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128bit long double and a number of refinements in the profiling backend.
|
|
|
|
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
|
|
|
|
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
|
|
correctness in gcc_personality_v0.c.
|
|
|
|
|
|
|
|
- add a lint comment
|
|
for ARM.
|
|
Reimplement ARM division based on Matt Thomas's common version.
|
|
Mark assembler functions as such to prevent ld snafu.
|
|
|