summaryrefslogtreecommitdiff
path: root/gnu/llvm
AgeCommit message (Collapse)Author
2021-12-28lld: restore upstream default for --[no-]allow-shlib-undefinedChristian Weisgerber
ok patrick@ kettenis@
2021-12-28lld: do not report undefined weak references in shared librariesChristian Weisgerber
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@
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2021-12-17Merge LLVM 13.0.0.Patrick Wildt
2021-12-17Import LLVM 13.0.0 release.Patrick Wildt
2021-01-02Import libc++ 10.0.1 release.Patrick Wildt
2020-08-10Import compiler-rt 10.0.1 release.Patrick Wildt
ok kettenis@
2020-08-09Import LLVM 10.0.1 including clang, lld and lldb.Patrick Wildt
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2021-11-12backport https://reviews.llvm.org/D107127 to fix shared libraries using emutlsRobert Nagy
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@
2021-09-17Implement __builtin_clear_cache() on riscv64Jeremie Courreges-Anglas
Fixes at least ports/devel/libffi as used by ports/lang/python/2. ok kettenis@
2021-09-07clang: add a new warning for %n format specifier usage in printf(3) family ↵Sebastien Marie
functions ok deraadt@ different versions tested by jca@ naddy@ sthen@
2021-09-03Allow the compiler driver to link the libclang_rt.profile library.Frederic Cambus
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@
2021-09-01Add lfence after ret in retpoline thunk.Todd Mortimer
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@
2020-08-09Import LLVM 10.0.1 including clang, lld and lldb.Patrick Wildt
2021-09-01llvm: Use Component in OpenBSD::getCompilerRT to find librariesGreg Steuck
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@
2021-08-29Revert: llvm: openbsd driver had one -lcompiler_rt too manyGreg Steuck
Suggested by jca@ that kettenis@ looks at it first.
2021-08-29llvm: openbsd driver had one -lcompiler_rt too manyGreg Steuck
Tested by doing a full system build locally. Will work with brad@ for upstream-ing. OK patrick & mortimer
2021-07-29Allow relocation R_386_GOTOFF to be used from .debug_info sections. NewerPascal Stumpf
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@
2021-07-11Optimize gadget fixups for MOV instructions.mortimer
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@
2021-06-25Pull in support from a future clang for __GCC_HAVE_SYNC_COMPARE_AND_SWAP_xTheo de Raadt
defines because we need it now from https://reviews.llvm.org/D91784 ok mlarkin kettenis
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2021-05-14Initial enablment of EMULTLS on RiscVDale Rahn
Uncertain if this is 100% correct, however this enables self hosting using clang.
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2021-05-11Since ld.lld doesn't properly support R_RISCV_RELAX relocations, switch theMark Kettenis
default to -no-relax. ok drahn@
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2021-05-01arvm7 -> armv7Jonathan Gray
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2021-04-28Enable libunwind on riscv64Dale Rahn
getWCookie() is an OpenBSD addition that is needed on new architectures. ok kettenis@
2021-04-28Merge libc++, libc++abi and libunwind version 11.1.0.Patrick Wildt
2021-04-28Import libc++ 11.1.0 release.Patrick Wildt
2021-04-28Import libc++abi 11.1.0 release.Patrick Wildt
2021-04-28Import libunwind 11.1.0 release.Patrick Wildt
2021-04-28Merge LLVM 11.1.0.Patrick Wildt
2021-04-28Import LLVM 11.1.0 release including clang, lld and lldb.Patrick Wildt
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2021-04-21Fix __builtin_bitreverse32 on 32-bit PowerPCgkoehler
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@
2021-02-20Make the unwind cache tread-safe by declaring it thread_local. SolvesOtto Moerbeek
segfaults seen on exception handling. ok kettenis@
2021-02-14Shuffle how lldb register contexts are built.mortimer
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@
2021-02-13Cleanup lldb amd64 support.mortimer
- 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@
2021-02-09Fix lldb.mortimer
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@
2021-02-06switch clang to -fno-common by defaultChristian Weisgerber
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@
2021-01-10Backport fix to avoid including math.h from stdlib.h.Mark Kettenis
Fixes building the textproc/groff port (and maybe others). ok naddy@
2021-01-02Re-apply our libc++ 8.0.0 patches to libc++ 10.0.1.Patrick Wildt
2021-01-02Import libc++abi 10.0.1 release.Patrick Wildt
2021-01-02Import libc++ 10.0.1 release.Patrick Wildt
2021-01-02Merge compiler-rt 11.0.0.Patrick Wildt
ok kettenis@
2021-01-02Import compiler-rt 11.0.0 release.Patrick Wildt
ok kettenis@