summaryrefslogtreecommitdiff
path: root/gnu/llvm
AgeCommit message (Collapse)Author
2017-05-29openbsd does not use nonexec stack segment header hints.Ted Unangst
in fact, false is a much better default for UsesNonexecutableStackSection. platforms that require it can reenable, instead, saving the rest of us an unnecessary program header (causes trouble for some special binaries). ok kettenis
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2017-05-09Enable TLS support but default to the emulatated TLS model. Enable theMark Kettenis
runtime support code libcompiler_rt for this. This code uses functions that live in libpthread, so code that uses TLS support will need to be linked with -lpthread. This should allow more ports to build with base clang. ok espie@
2017-04-16Disable colored diagnostics in LLVM's lld.Patrick Wildt
Requested by deraadt@
2017-03-24Add "supported targets" in lld --help output to be compatible with whatJonathan Gray
libtool generated configure scripts expect. Otherwise they might assume shared libraries aren't supported. From lld svn revisions 298568 and 298571. Discussed with kettenis@
2017-03-24Add "(compatible with GNU linkers)" to the lld version output to avoidJonathan Gray
problems with configure scripts generated with libtool.m4 that would otherwise have to be regenerated with a patched libtool. Among other things this fixes the build of Mesa on arm64 with lld. From lld svn revision 298532. ok kettenis@
2017-03-19Work around a problem where linker-generated symbols are not properlyMark Kettenis
versioned and end up as local symbols despite being explicitly listed as global in the version script. This breaks out brk()/sbrk() implementation. The diff is only a partial solution and unlikely to be accepted as-is upstream. We'll keep it as a local diff until a better solution is found. ok guenther@
2017-01-14Import LLVM 3.9.1 including clang and lld.Patrick Wildt
2017-03-18Add support for -znodlopen.Mark Kettenis
ok patrick@
2017-03-14Merge LLVM 4.0.0 release.Patrick Wildt
2017-03-14Import LLVM 4.0.0 release including clang and lld.Patrick Wildt
2017-03-09Disable colored diagnostics in the clang frontend.Patrick Wildt
Requested by deraadt@, millert@ and some more.
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2017-02-25Disable loop idiom recognition for _libc_memset and _libc_memcpy. These areMark Kettenis
the internal names we use in libc for memset and memcpy and having the compiler optimize them as calls to memset and memcpy will lead to infinite recursion. This is a temporary solution while guenther@ tries to figure out a better way to force calls from inside libc via identifiers that are of hidden visibility. ok jsg@, patrick@
2017-02-25Fix the types used on aarch64 to match what we have in <sys/types.h>.Mark Kettenis
From Brad Smith.
2017-02-25Make sure the .eh_frame ends with a terminator. This avoids creating aMark Kettenis
zero-sized .eh_frame section, which confuses the strip from our frankenbinutils. With this diff lld seems to be usable as the arm64 system linker. ok patrick@, jsg@
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2017-01-14Import LLVM 3.9.1 including clang and lld.Patrick Wildt
2017-02-12Disable -Wpointer-sign warnings per defaultStefan Kempf
base gcc does the same. suggested by and ok jsg@
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2017-01-31Fix creation of the library name, as assigning a string to a StringRefPatrick Wildt
seems to cause bad behaviour. Instead call toStringRef() and use its return value. ok tom@
2017-01-24PIE-by-default. Probably not suitable for upsttreaming in its current form.Mark Kettenis
2017-01-24Avoid allocating space for commons with ld -r. Already pushed upstream.Mark Kettenis
2017-01-24Handle the OpenBSD-style major/minor shared library version scheme.Mark Kettenis
Don't try to upstream this; we are considering moving to a more standard way that uses symbolic links to point the linker at the right version of shared libraries.
2017-01-24Merge LLVM 4.0.0 rc1Patrick Wildt
2017-01-24Import LLVM 4.0.0 rc1 including clang and lld to help the currentPatrick Wildt
development effort on OpenBSD/arm64.
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2017-01-22Disable COFF and Mach-O for OpenBSD to reduce build dependencies.Patrick Wildt
Only having ELF is perfectly fine for us. ok kettenis@
2017-01-21Make LLVM create strict aligned code for OpenBSD/arm64. We currentlyPatrick Wildt
don't enforce it yet, but we want to go down that road. Additionally the Pine64 seems to boot up with strict alignment on by default, so this also implicitly fixes efiboot on that hardware. ok kettenis@ phessler@ visa@
2017-01-20Restore setting the visibility of __guard_local to hidden for betterPhilip Guenther
code generation. Use dyn_case_or_null instead of a static cast to solve the crashes in the previous code. ok stefan@ kettenis@
2017-01-14Disable the Load Stack Guard for OpenBSD on AArch64. We don't use itPatrick Wildt
on any other platform and it causes a segfault in combination with our IR Stack Guard. "looks reasonable" kettenis@ "looks good to me" stefan@
2017-01-14Merge LLVM 3.9.1Patrick Wildt
2017-01-14Import LLVM 3.9.1 including clang and lld.Patrick Wildt
2017-01-04With clang as cross-compiler we need to make it pass the library pathPatrick Wildt
to our linker. Additionally, we need to make sure the library path is prefixed with the cross directory, which is sysroot. ok kettenis@
2016-11-28Setup clang to use OpenBSD settings and defines for our AArch64Patrick Wildt
(little-endian) target. ok phessler@
2016-09-27Disable -fstrict-aliasing per default on OpenBSD.Pascal Stumpf
cluebat & ok kettenis@
2016-09-17For now, force soft-float; our kernel doesn't support saving the FPU state yet.Mark Kettenis
ok patrick@
2016-09-17Fix types for OpenBSD/arm.Mark Kettenis
ok stefan@, jsg@, patrick@
2016-09-09Handle -p as an alias of -pg. From the ports patch.Jonathan Gray
ok patrick@
2016-09-07Backport https://reviews.llvm.org/rL279449 from upstreamStefan Kempf
ok pascal@ Original commit message: [SSP] Do not set __guard_local to hidden for OpenBSD SSP guard_local is defined as long on OpenBSD. If the source file contains a definition of guard_local, it mismatches with the int8 pointer type used in LLVM. In that case, Module::getOrInsertGlobal() returns a cast operation instead of a GlobalVariable. Trying to set the visibility on the cast operation leads to random segfaults (seen when compiling the OpenBSD kernel, which also runs with stack protection). In the kernel, the hidden attribute does not matter. For userspace code, guard_local is defined as hidden in the startup code. If a program re-defines guard_local, the definition from the startup code will either win or the linker complains about multiple definitions (depending on whether the re-defined __guard_local is placed in the common segment or not). It also matches what gcc on OpenBSD does.
2016-09-06Link to -lcompiler_rt instead of -lgcc.Pascal Stumpf
looks good to stefan@
2016-09-05libunwind relies on the EH frame header. Our OpenBSD frontend codePatrick Wildt
does not tell our linker to produce that header for statically linked binaries. Just create that header for all binaries and we are fine. ok guenther@
2016-09-05Let clang use libc++/libc++abi and its header files per default. You can stillPascal Stumpf
use the old libstdc++ by specifying -stdlib=libstdc++. with hints from/looks good to patrick@, ok kettenis@
2016-09-05Link static PIEs with the correct C runtime (rcrt0.o).Pascal Stumpf
ok kettenis@
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@