Age | Commit message (Collapse) | Author |
|
ok bluhm@
|
|
OpenBSD macppc builds these libs with clang. Their ABI is changing
because of clang -msvr4-struct-return
|
|
Add these options from gcc to clang:
-maix-struct-return # return all structs in memory
-msvr4-struct-return # return small structs in r3/r4
ok mortimer@ jca@ deraadt@
|
|
ok hackroom@
|
|
which means we do stop creating other jobs as soon as we run something looking
like "make" to avoid unwanted recursion, so you would never hit that.
But in binutils-2.17, the developers changed all/info to do recursive makes
with some of the same dependencies. Calling both at the same time becomes
an obvious race, and should be fixed for no other reason than correctness.
okay guenther@
|
|
Timing is good deraadt@, OK sthen@
|
|
Timing is good deraadt@, OK sthen@
|
|
Timing is good deraadt@, OK sthen@
|
|
Timing is good deraadt@, OK sthen@
|
|
OK espie@ sthen@ deraadt@
|
|
|
|
|
|
ok bluhm kettenis
|
|
okay millert@, tb@
|
|
"Go for it" kettenis@
|
|
this got fixed in recent binutils, but it's GPLv3.
So do the same thing in a slightly different way
okay guenther@
|
|
AsmParsers.def AsmPrinters.def and Disassemblers.def.
Required so that LLVM headers will have prototypes for
LLVMInitializeAMDGPUAsmPrinter() and LLVMInitializeAMDGPUAsmParser().
|
|
to optimize the cache and UVM faulting behavior
ok kettenis@
|
|
ok kettenis@
|
|
|
|
objects and it running out of memory in the "building shared LLVM library"
stage (at least on i386).
building standard LLVM library
building shared LLVM library (version 1.0)
cc -shared -Wl,-soname,libLLVM.so.1.0 -fpic -o libLLVM.so.1.0 `echo AMDGPUAsmParser.so AMDGPUInstPrinter.so AMDGPUAliasAnalysis.so AMDGPUAlwaysInlinePass.so AMDGPUAnnotateKernelFeatures.so AMDGPUAnnotateUniformValues.so AMDGPUArgumentUsageInfo.so [...snip lots of .so...] ThinLTOBitcodeWriter.so WholeProgramDevirt.so | tr ' ' '\n' | sort -R` -Wl,--start-group -Wl,--end-group
LLVM ERROR: out of memory
cc: error: unable to execute command: Abort trap
cc: error: linker command failed due to signal (use -v to see invocation)
ar: libLLVM.a: No space left on device
*** Error 1 in gnu/usr.bin/clang/libLLVM (<bsd.lib.mk>:193 'libLLVM.a': @ar cqD libLLVM.a `lorder AMDGPUAsmParser.o AMDGPUIn
stPrinter.o AMDG...)
*** Error 254 (<bsd.lib.mk>:225 'libLLVM.so.1.0')
|
|
lldb likes to look at argv[0] to figure out where it might find lldb-server,
but when we invoke lldb via $PATH this doesn't work, so fill in some helpers
to tell it where to look.
ok millert@
|
|
Fixes an assert when running lldb with DEBUG.
ok patrick@
|
|
OK mortimer
|
|
|
|
with mortimer
|
|
them as COMDATs so that the linker can individually discard them, instead
of just ignoring duplicate symbols but keep the (duplicate) space.
On amd64, this reduces the size of the kernel OPENBSD_RANDOM segment by 82%
and the libc OPENBSD_RANDOM segment by 15%. A port that tb@ is working
on experienced a 97.3% reduction...which let it actually run.
ok mortimer@ deraadt@
|
|
Follows a similar model as NetBSD. Much help from patrick, kettenis and guenther.
lldb and lldb-server remain not installed by default.
ok patrick@
|
|
"where is the kaboom?" deraadt@
|
|
|
|
ok partrick@, kettenis@
|
|
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@
|
|
ok hackroom@
|
|
okay guenther@ kettenis@
|
|
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@
|
|
|
|
Tested in snaps and package builds
Tested on amd64 by naddy@
Tested on arm64 by patrick@
Tested on octeon by visa@
|
|
|
|
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@.
|
|
ok hackroom@
|
|
ok visa@
|
|
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@
|
|
ok hackroom@
|
|
- 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.
|
|
From Edgar Pettijohn <edgar () pettijohn-web ! com>
|
|
Reminded by brynet@
|
|
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@
|
|
|
|
OK brynet@, bluhm@
|
|
the MIPS64 mul instruction on pre-MIPS64 subtargets.
|