summaryrefslogtreecommitdiff
path: root/gnu
AgeCommit message (Collapse)Author
2019-11-09Add lldb support for debugging running binaries on amd64.mortimer
Follows a similar model as NetBSD. Much help from patrick, kettenis and guenther. lldb and lldb-server remain not installed by default. ok patrick@
2018-04-06Import LLVM 6.0.1 release including clang, lld and lldb.Patrick Wildt
"where is the kaboom?" deraadt@
2017-10-04Import LLVM 5.0.0 release including clang, lld and lldb.Patrick Wildt
2019-11-08Silence the compiler on 64bits archs where sizeof(void *) != sizeof(int).Martin Pieuchot
ok partrick@, kettenis@
2019-10-25Add retguard for octeon/mips64.mortimer
For this architecture we use separate retguard prologue and epilogue code for static or PIC code. In the PIC case we use some additional code before the retguard epilogue to recover the function start address and the GOT pointer in order to get the per-function random cookie. Much thanks to visa@ for suggestions and advice making it all work. ok deraadt@ visa@
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2019-10-21Fix backtrace across signals on amd64Kurt Miller
okay guenther@ kettenis@
2019-09-28Make clang emit the proper path to our libcompiler_rt.a when asked to.Patrick Wildt
Change of behaviour in latest clang upgrade noticed by jsing@ during the Go port update, where --print-libgcc-file-name is being used which prints the compiler-rt path. ok kettenis@
2019-09-01Update clang build infrastructure for LLVM 8.0.1.Patrick Wildt
2019-09-01Merge LLVM 8.0.1 release.Patrick Wildt
Tested in snaps and package builds Tested on amd64 by naddy@ Tested on arm64 by patrick@ Tested on octeon by visa@
2019-09-01Import LLVM 8.0.1 release including clang, lld and lldb.Patrick Wildt
2019-08-12Ensure stack protector slot access is resolved by PEI.mortimer
On arm64, arm, and ppc it is possible that a large stack frame will cause the stack protector slot to be reallocated at the wrong end of the frame. Noticed by tj@. ok patrick@.
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2019-08-11Various fixes to make this compile with clang on powerpc.Mark Kettenis
ok visa@
2019-08-01The GlobalISel IRTranslator pass assumes that it is safe to use themortimer
LOAD_STACK_GUARD pseudo without consulting the value of useLoadStackGuardNode(), and then tries to add the return from getSDagStackGuard() as a parameter without consulting the return from getIRStackGuard() to see if it should do that. This means that the GlobalISel IRTranslator's implementation for Intrinsic::stackprotector is broken for platforms that implement getIRStackGuard() like we do, and this causes a segfault later when the incomplete LOAD_STACK_GUARD pseudo is lowered in the back end. Since GlobalISel is disabled on aarch64 most of the time anyway, add a bit that disables it for OpenBSD/aarch64 all the time. Fixes a crash when building on aarch64 without retguard, with a stack protector and without optimizations, which manifests when building cross-tools. ok patrick@ deraadt@
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2019-07-28Address a few issues in the expansion of li.d and li.s:Visa Hankala
- In the N64 mode, properly load the whole immediate value in the destination register even if the lower 32 bits are zero. - Ensure correct alignment of memory operands. - Fix the endianess of memory operands.
2019-07-24Remove extra =back from OpenBSD::Pledge PODAndrew Fresh
From Edgar Pettijohn <edgar () pettijohn-web ! com>
2019-07-14Install OpenBSD::Unveil.3p manpageAndrew Fresh
Reminded by brynet@
2019-07-11Compile clang with -fomit-frame-pointer on mips64. This releases theVisa Hankala
frame pointer for better use and lets the compiler run a little faster. The resulting compiler binary is a half bit smaller too. Note that frame pointer elimination is not applicable everywhere. mips64 has the tooling that allow its use in this case. OK kettenis@
2019-07-10Put OpenBSD::Unveil in perl MANIFESTAndrew Fresh
2019-07-09Add OpenBSD::Unveil, a perl interface to unveil(2)Andrew Fresh
OK brynet@, bluhm@
2019-07-08Fix instruction guard. This prevents the compiler from usingVisa Hankala
the MIPS64 mul instruction on pre-MIPS64 subtargets.
2019-07-06Fix Makemaker manpage section detectionAndrew Fresh
This patch sets the section in perl manpages to "3p" instead of "3" which should be less confusing as you do find them in section 3p on OpenBSD. Initial idea and OK espie@, makes sense to schwarze@
2019-07-01Implement the 'h' register constraint on mips64. This lets clang buildVisa Hankala
pieces of software that use the constraint if the compiler claims to be compatible with GCC 4.2.1. Note that the constraint was removed in GCC 4.4. The reason was that 'h' could generate code whose result is unpredictable. The underlying reason is that the HI and LO registers are special, and the optimizer has to be careful when choosing the order of HI/LO accesses. It looks that LLVM has the needed logic.
2018-04-06Import LLVM 6.0.1 release including clang, lld and lldb.Patrick Wildt
"where is the kaboom?" deraadt@
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2019-06-26In LLVM 8 somebody had the glorious idea to enable the integrated assemblerClaudio Jeker
for OpenBSD sparc64. The problem is that the integrated assembler is not even able to compile the .S files in lib/csu or lib/libc so revert this and use gas again. Fixes build issues with clang on sparc64. Issue identified by jca@ OK deraadt@, patrick@, jca@
2019-06-24Implement .cplocal directive. Needed when building libcrypto.Visa Hankala
2019-06-24Implement SGE pseudo-instructions. Needed when building libcrypto.Visa Hankala
2019-06-24Fix a bug in memory operand handling. If a load or store uses a symbolVisa Hankala
as a memory operand, the assembler generates incorrect relocations in PIC mode. As a simple fix, expand the instruction into an address load sequence, which works, that is followed by the actual memory instruction. Note that the generated sequence is not always optimal. If the symbol has a small offset, the offset could be fused with the memory instruction. The fix does not achieve that, however. A symbol offset adds an extra instruction.
2019-06-24The -nopie flag has already been pushed a few lines before,Patrick Wildt
we don't need to do that again here. From Brad
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2019-06-23Re-add files that were previously removed but are now part of LLVM 8.0.0.Patrick Wildt
2019-06-23Update clang build infrastructure for LLVM 8.0.0.Patrick Wildt
2019-06-23Merge LLVM 8.0.0 release.Patrick Wildt
Prepared with help from jsg@ and mortimer@ Tested on amd64 by bcallah@, krw@, naddy@ Tested on arm64 by patrick@ Tested on macppc by kettenis@ Tested on octeon by visa@ Tested on sparc64 by claudio@
2019-06-23Import LLVM 8.0.0 release including clang, lld and lldb.Patrick Wildt
2018-04-06Import LLVM 6.0.1 release including clang, lld and lldb.Patrick Wildt
"where is the kaboom?" deraadt@
2017-10-04Import LLVM 5.0.0 release including clang, lld and lldb.Patrick Wildt
2017-01-24Import LLVM 4.0.0 rc1 including clang and lld to help the currentPatrick Wildt
development effort on OpenBSD/arm64.
2017-01-14Import LLVM 3.9.1 including clang and lld.Patrick Wildt
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2019-06-14Delete totally bogus code specifically targetted at mandocIngo Schwarze
which tried to figure out whether mandoc supported UTF-8 output (which it has been doing since 2011) and which passed the -T locale option (which has been the default since 2014 and always will) but which required the -V option to work (which was deleted half a decade ago and will not come back). Nowadays, it is safe to assume that mandoc just works with UTF-8 on both the input and output sides - in literally each and every operating system providing a mandoc port or package, even those that are seriously lagging behind. This patch will also be pushed upstream. OK tb@
2019-06-06Reapply patches lost in the perl 5.28.2 updateAndrew Fresh
2019-06-01Back out frame pointer elimination optimization.mortimer
2019-06-01Do not eliminate frame pointers on i386. The entire i386 ecosystem assumesmortimer
it will be there. problem found by naddy@, "heck yeah" kettenis@
2019-05-31Re-enable frame pointer elimination for x86 and mips64 if optimizations aremortimer
enabled. ok visa@
2019-05-31Re-enable RETGUARD leaf function optimization for arm64.mortimer
It turns out MachineFrameInfo.hasCalls() is unreliable, because it is up to the backends to update this information whenever they add calls to a function, and this does not always happen. ok kettenis@
2019-05-27fix core dump reported by Adam Thomson; ok tb@Otto Moerbeek
2019-05-25Install the new perldelta as man pagesAndrew Fresh