summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/clang (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Shuffle how lldb register contexts are built.mortimer2021-02-141-3/+2
| | | | | | | | | | | | 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@
* only amd64 & arm64 lldb work at the momentderaadt2021-02-102-2/+12
|
* Build and install lldb.patrick2021-02-092-4/+4
| | | | Discussed with deraadt@
* Implement Loongson 2F BTB bug workaround in clangvisa2020-12-011-1/+2
| | | | | | | | | | This adapts the -mfix-loongson2f-btb workaround from as(1) to LLVM/clang. Because LLVM emits machine code directly without using assembly as intermediary form, the workaround has to be applied in the compiler backend in addition to the integrated assembler. Discussed with miod@ OK mortimer@
* Sort list of archs in alphabetical order.patrick2020-11-101-4/+4
| | | | | From Brad ok mortimer@
* Disable retguard for clang build.mortimer2020-10-121-2/+2
| | | | Fixes build on powerpc
* Add RETGUARD implementation for powerpc and powerpc64.mortimer2020-10-121-1/+2
| | | | ok deraadt@ kettenis@
* Update build infrastructure for LLVM 10.0.1.patrick2020-08-0912-21/+37
|
* Update build infrastructure for LLVM 10.0.0.patrick2020-08-03201-809/+1908
| | | | | ok hackroom@ tested by plenty
* We need the same header files on powerpc64 as we have on powerpc.kettenis2020-07-021-2/+2
| | | | ok deraadt@
* Initial set of changes to build powerpc64 toolchain.drahn2020-05-301-2/+2
| | | | Disable PIC/PIE for powerpc64 for now.
* crank major versions of libLLVM libc++ libc++abigkoehler2020-03-041-1/+1
| | | | | OpenBSD macppc builds these libs with clang. Their ABI is changing because of clang -msvr4-struct-return
* Add arm64 support for lldb.mortimer2019-12-211-1/+2
| | | | "Go for it" kettenis@
* Like Targets.def include AMDGPU lines in generated .def files forjsg2019-12-061-4/+7
| | | | | | | AsmParsers.def AsmPrinters.def and Disassemblers.def. Required so that LLVM headers will have prototypes for LLVMInitializeAMDGPUAsmPrinter() and LLVMInitializeAMDGPUAsmParser().
* In lldb, use a OpenBSD signal map instead of leveraging the FreeBSD one.mortimer2019-11-271-1/+2
| | | | ok kettenis@
* Revert previous "honour DEBUG", otherwise clang uses -g resulting in hugesthen2019-11-261-1/+2
| | | | | | | | | | | | | | | | 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')
* Honour DEBUGkn2019-11-251-2/+1
| | | | OK mortimer
* Add lldb support for debugging running binaries on amd64.mortimer2019-11-093-3/+95
| | | | | | | Follows a similar model as NetBSD. Much help from patrick, kettenis and guenther. lldb and lldb-server remain not installed by default. ok patrick@
* Add retguard for octeon/mips64.mortimer2019-10-252-3/+5
| | | | | | | | | | 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@
* Update clang build infrastructure for LLVM 8.0.1.patrick2019-09-016-14/+14
|
* Compile clang with -fomit-frame-pointer on mips64. This releases thevisa2019-07-111-1/+6
| | | | | | | | | | 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@
* Update clang build infrastructure for LLVM 8.0.0.patrick2019-06-2362-152/+259
|
* stop using the moribund MLINKS bsd.man.mk feature;schwarze2019-05-171-2/+4
| | | | | no functional change intended; OK patrick@
* Stop using the moribund MLINKS bsd.man.mk feature for clang(1).schwarze2019-05-162-8/+9
| | | | | Patch clang.rst such that "gmake -f Makefile.sphinx man" keeps working. Using input from jsg@; OK patrick@; "no worries" deraadt@
* On powerpc, link with -Wl,-relax as clang is a monster and code exceeds thekettenis2019-04-191-1/+10
| | | | | | | | | maximum reachability of the PowerPC branch instructions. Also override NOPIE_FLAGS to avoid building code with -fno-pie as doing so is incompatible with secure-plt when using clang as the compiler. ok visa@, guenther@
* Do not install libLLVM.a. At present the clang tools are eitherderaadt2019-04-021-0/+1
| | | | | | static-linked against private copy, or dynamic tools against the *.so, or ports use independent componented versions. Saves ~85MB in /usr. ok jsg
* When linking libLLVM.a in clang and lld include it within thejsg2019-03-063-15/+10
| | | | | ld --start-group --end-group block. bfd ld seems to need this where lld doesn't.
* Define LLVM_NATIVE_* in llvm-config.h like the result of a cmakejsg2019-03-063-41/+12
| | | | | | | | | build so external users of Support/TargetSelect.h will work correctly. Previously these were defined via -D in CPPFLAGS. Fixes llvmpipe erroring out due to no targets being registered. ok patrick@
* Allow make obj in libLLVM to succeed on non-LLVM architectures bypatrick2019-03-051-0/+4
| | | | | | | making sure LLVM_ARCH is set before including architecture-specific Makefiles. ok deraadt@
* add llvm-config.1 from llvm-config.rstjsg2019-03-052-2/+210
| | | | | Generated with gmake and py-sphinx installed via cd /usr/src/gnu/llvm/docs && gmake -f Makefile.sphinx man
* Build and install a shared libLLVM, llvm-config and llvm includes.jsg2019-03-0595-964/+460
| | | | | | This is required to build the radeonsi Mesa driver. ok patrick@
* build AMDGPU Target in addition to nativejsg2019-03-053-8/+10
|
* add Makefile for llvm-configjsg2019-03-058-0/+658
| | | | | | A build time dependency on python is avoided by generating the arch specific list of library components in advance. A 'reconf' target is included to regenerate them. Approach discussed with patrick@
* In preparation for reusing libLLVM component library Makefiles to buildjsg2019-02-2613-29/+100
| | | | | | | | libLLVM from a single directory avoid reused filenames by symlinking duplicated names with a prefix of the component library name so object file names will be unique. symlink approach suggested by deraadt@ ok patrick@
* define LLVM_ENABLE_THREADS and LLVM_HAS_ATOMICSjsg2019-02-261-2/+2
| | | | | | matches the result of building with cmake ok patrick@
* add sources matching unresolved symbols seen using Mesa with libLLVMjsg2019-02-256-7/+16
| | | | ok patrick@
* When bsd.lib.mk builds shared libraries it builds with -DPIC whichjsg2019-02-141-0/+12
| | | | | | | | | | | | | | | causes problems in the following files which use PIC as a variable name. Undefine PIC in llvm-config.h to minimise the diff to upstream LLVM. include/llvm/MC/MCObjectFileInfo.h lib/MC/MCObjectFileInfo.cpp lib/Transforms/Scalar/LICM.cpp lib/Transforms/Utils/PredicateInfo.cpp These are the files that would be built as part of a shared libLLVM. There are other files with PIC variable names in clang code. #undef PIC approach suggested by kettenis@
* Correct LLVM backend version.patrick2019-01-291-1/+1
| | | | From Brad
* add AMDGPUCodeGenjsg2019-01-291-0/+102
|
* add Makefiles for AMDGPU targetjsg2019-01-297-0/+245
| | | | ok patrick@
* Install lldb's manpage directly from the GNU directory, like lld does.patrick2019-01-272-155/+2
|
* regenpatrick2019-01-271-3/+258
|
* Update clang build infrastructure for LLVM 7.0.1.patrick2019-01-2756-368/+310
|
* CXXFLAGS are the correct spelling for c++ options.tedu2019-01-191-3/+3
| | | | ok deraadt millert
* Check for the CPU architecture and not the system architecture whennaddy2019-01-121-3/+4
| | | | tweaking the protection flags. ok phessler@ deraadt@
* disable the correct performance options, per-architecturederaadt2019-01-111-3/+6
| | | | with naddy, ok guenther mortimer
* Disable ret-protector and retpoline protections in the clang compilerbluhm2019-01-081-2/+5
| | | | | to regain build performance. OK deraadt@ guenther@ kettenis@
* lldb after release, reasons.deraadt2018-10-051-2/+2
|
* Add infrastructure to compile and link LLDB. Inspecting core filespatrick2018-10-0446-10/+1865
| | | | | | works, but actually running stuff probably won't. ok kettenis@
* Add retguard for arm64.mortimer2018-08-121-1/+2
| | | | ok deraadt@