Age | Commit message (Collapse) | Author |
|
ok patrick@ kettenis@
|
|
https://github.com/llvm/llvm-project/commit/52bfd2c1ccd86ff813ee6df5a6700690acdd912f
This fixes an issue introduced in D101996.
A weak reference in a shared library could be incorrectly reported if
there is another library that has a strong reference to the same symbol.
Differential Revision: https://reviews.llvm.org/D115041
ok patrick@ kettenis@
|
|
ok hackroom
tested by plenty
|
|
|
|
|
|
|
|
ok kettenis@
|
|
|
|
ok hackroom
tested by plenty
|
|
ok hackroom
tested by plenty
|
|
Our emulated TLS implementation relies on local state (e.g. for the pthread
key), and if we duplicate this state across different shared libraries,
accesses to the same TLS variable from different shared libraries will yield
different results (see https://github.com/android/ndk/issues/1551 for an
example). __emutls_get_address is the only external entry point for emulated
TLS, and by making it default visibility and weak, we can rely on the dynamic
linker to coalesce multiple copies at runtime and ensure a single unique copy
of TLS state. This is a best effort;
Also bump the libc++abi minor because now it picks up the __emutls_get_address
symbol.
ok kettenis@
|
|
Fixes at least ports/devel/libffi as used by ports/lang/python/2.
ok kettenis@
|
|
functions
ok deraadt@
different versions tested by jca@ naddy@ sthen@
|
|
With this change, passing -fprofile-instr-generate -fcoverage-mapping
when building programs will attempt linking against libclang_rt.profile.a.
Please note that we do not ship the library yet.
OK jca@
|
|
Recommended by AMD white paper Software Techniques for Managing
Speculation on AMD Processors (9.17.20) mitigation V2-1.
Pointed out by bluhm@. ok bluhm@ kettenis@
|
|
|
|
Clang uses runtime libraries for some advanced features like
sanitizers. Different systems have different preferences about file
placement. OpenBSD with this change would use this name for ASan:
/usr/lib/clang/11.1.0/lib/libclang_rt.asan.a
So far, no libraries are shipped, only their eventual location is chosen.
Discussed with deraadt@ and kettenis@, OK mortimer@
|
|
Suggested by jca@ that kettenis@ looks at it first.
|
|
Tested by doing a full system build locally. Will work with brad@ for
upstream-ing.
OK patrick & mortimer
|
|
GCC versions will sometimes emit it, and we have stumbled upon it a few times
in ports.
Upstream commit: https://reviews.llvm.org/D95994
GCC bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98946
ok kettenis@
|
|
Instead of swapping registers around, we can just use the REV version of
the same instruction, which has the same effect but encodes differently and
does not result in return bytes in the binary. This reduces the number
of xchg instructions resulting from gadget fixing.
Prompted by ratchov@, with input from millert@ and sthen@.
ok sthen@
|
|
defines because we need it now
from https://reviews.llvm.org/D91784
ok mlarkin kettenis
|
|
ok hackroom
tested by plenty
|
|
Uncertain if this is 100% correct, however this enables self hosting
using clang.
|
|
ok hackroom
tested by plenty
|
|
default to -no-relax.
ok drahn@
|
|
ok hackroom
tested by plenty
|
|
|
|
ok hackroom
tested by plenty
|
|
getWCookie() is an OpenBSD addition that is needed on new architectures.
ok kettenis@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ok hackroom
tested by plenty
|
|
ok hackroom
tested by plenty
|
|
This is a backport from LLVM 11. Before this fix, code using
__builtin_bitreverse32 was crashing SIGILL because clang-10 emitted a
64-bit rldicl/clrldi instruction. The SIGILL only happened on 32-bit
cpus, not on the G5. The code for LLVM 11 uses __builtin_bitreverse,
so clang-10 needs this fix to build clang-11.
https://github.com/llvm/llvm-project/commit/a5d161c119d5a
https://reviews.llvm.org/D77946
ok kettenis@
|
|
segfaults seen on exception handling. ok kettenis@
|
|
Instead of using #if defined(__arch__) to include / exclude the entire contents
of the NativeRegisterContext implementations, use a single NativeRegisterContextOpenBSD_arch
which includes the right arch specific register context, and provides a dummy implementation
for unsupported architectures.
This allows building lldb on architectures which do not have a register context implementation
so it can be used as a remote client.
ok patrick@
|
|
- Remove watchpoint support since we do not support hardware watchpoints.
- Support floating point regsisters in the ReadAll/WriteAll interface.
- Standardize the sizes used in GerGPRSize() and GetFPRSize() to correspond
to the sizes we get from ptrace.
- Fix the r/w of the mmx registers to map onto the st fp registers instead
of xmm registers.
- Normalize some variable names to be architecture neutral.
ok patrick@
|
|
Map deliberately invalid signal to zero when passing to PT_STEP and P_CONTINUE.
Also clean up getting Environment so setting LLDB_DEBUGSERVER env vars works again.
ok patrick@
|
|
Common variables will be flagged as errors by default. This can
be overridden with -fcommon.
Cherry-pick this change that will be part of LLVM11. We bring it
forward so we can finish fixing the fallout in the ports tree.
ok deraadt@ sthen@ mglocker@
|
|
Fixes building the textproc/groff port (and maybe others).
ok naddy@
|
|
|
|
|
|
|
|
ok kettenis@
|
|
ok kettenis@
|