riscv64 fix: Handle relaxation reductions of more than 65536 bytesUpstream commit:https://github.com/llvm/llvm-project/commit/9d37ea95df1b84cca9b5e954d8964c976a5e303eAlready needed at least by p
riscv64 fix: Handle relaxation reductions of more than 65536 bytesUpstream commit:https://github.com/llvm/llvm-project/commit/9d37ea95df1b84cca9b5e954d8964c976a5e303eAlready needed at least by ports/math/hdf5, prerequisite if we want toenable linker relaxation (clang upstream defaults).ok kettenis@
show more ...
On OpenBSD we always want IBT-compatible PLT entries. Currently we userepoline PLT entries that were changed to include the necessary endbr64instructions. But with -Wl,-znoretpolineplt we would s
On OpenBSD we always want IBT-compatible PLT entries. Currently we userepoline PLT entries that were changed to include the necessary endbr64instructions. But with -Wl,-znoretpolineplt we would still emit non-BITPLT entries under certain circumstances. Fix this.ok deraadt@, guenther@
Add arm64 bti pads for range extension thunks.Large arm64 binaries like chromium use range extension thunksfor accessing plt entries. Add bti landing pads for theadditional indirection.upstream
Add arm64 bti pads for range extension thunks.Large arm64 binaries like chromium use range extension thunksfor accessing plt entries. Add bti landing pads for theadditional indirection.upstream commit: 60827df765156cee6cca3dc5049388dde9dac1c0ok kettenis@
Restore lost patch: downgrade RISCV ABI mismatch error to a warningThis lets lld link code with object files created with ld -b binary,as used by several ports (mupdf, postgresql-pllua, various ga
Restore lost patch: downgrade RISCV ABI mismatch error to a warningThis lets lld link code with object files created with ld -b binary,as used by several ports (mupdf, postgresql-pllua, various games).Upstream report with an unfinished diff: https://reviews.llvm.org/D106378ok gkoehler@ kettenis@
merge lld-16.0.6
import of lld from LLVM-16.0.6
Add IBT support to the retpoline+znow PLTsok kettenis@
Add IBT support to the retpoline PLTs. Since we use retpoline PLTs bydefault on OpenBSD this will give us IBT support by default. Fixesindirect function calls for functions in shared libraries.
Add IBT support to the retpoline PLTs. Since we use retpoline PLTs bydefault on OpenBSD this will give us IBT support by default. Fixesindirect function calls for functions in shared libraries.This doesn't fix retpoline+znow PLTs yet; a fix for that will follow.ok miod@, guenther@
Enable BTI PLT entries by default.ok jsg@
Change the emitted .glink stub on powerpc64 to use an instruction sequenceto compose the offset to the PLT instead of having a constant pool in .text.Make --execute-only work on powerpc64.ok miod@
Downgrade RISCV ABI mismatch error to a warningThis lets lld link code with object files created with ld -b binary,as used by several ports (mupdf, postgresql-pllua, various games).Upstream repor
Downgrade RISCV ABI mismatch error to a warningThis lets lld link code with object files created with ld -b binary,as used by several ports (mupdf, postgresql-pllua, various games).Upstream report with an unfinished diff: https://reviews.llvm.org/D106378ok kettenis@
Merge LLVM 13.0.0.
Import LLVM 13.0.0 release.
Merge LLVM 11.1.0.
Import LLVM 11.1.0 release including clang, lld and lldb.
Teach lld to link the macppc kernelAdd R_PPC_ADDR24 to lld. We need R_PPC_ADDR24 for absolute branches"ba" and "bla" in locore.S in the kernel.In Makefile.macppc, add a gapdummy (like in Makefi
Teach lld to link the macppc kernelAdd R_PPC_ADDR24 to lld. We need R_PPC_ADDR24 for absolute branches"ba" and "bla" in locore.S in the kernel.In Makefile.macppc, add a gapdummy (like in Makefile.powerpc64) toavoid an lld error. Also adapt a part of Makefile.i386, so mypowerpc64 can use clang and lld to build and link the macppc kernel.(I didn't boot that kernel.)My macppc can now build, link, and boot kernels with either ld.bfd orld.lld. Beware that kernels linked with ld.lld have at least oneproblem (wrong &etext) not yet fixed.ok kettenis@
Import LLVM 10.0.0 release including clang, lld and lldb.ok hackroomtested by plenty