Age | Commit message (Collapse) | Author |
|
which we cannot TRAPSLED FILL. This needs to be done a different way.
diagnosis with kettenis
|
|
plt entry. Since previous effective instruction is a a jmp, this can be
a sequence of traps.
ok mlarkin
|
|
reduction in nopsleds in code and data segments (if those data segments
ever become X, that is)
ok mlarkin
|
|
Convert these to "trapsleds' instead. Since these can occur inside
fall-through blocks of code (and gcc sure isn't helping us by identifying
those), convert most to "short jump over" followed a sequence of int3.
This works for sled sizes 3-15, for i386 and amd64. Work by Todd Mortimer
ok mlarkin
|
|
clang doesn't seem to have a command line option for the feature,
so just hard wire it off. We don't need advertisements in our binaries.
ok deraadt
|
|
value .depend, so that the conditional is really used.
okay guenther@
|
|
programs will build even without a make depend first.
okay tb@ millert@
|
|
okay millert@ deraadt@
|
|
as defined. This is done to prevent dangerous optimisations which could
remove security critical overflow checks.
Base gcc has -fno-strict-overflow by default, with clang this is
identical to -fwrapv.
Prompted by naddy@ discovering a hang with a clang compiled i386 kernel
that was resolved with -fwrapv.
ok kettenis@ pascal@
|
|
cause a shift overflow on a 32-bit arch (i386). ok kettenis@
|
|
Reccomended by upstream - jkeenan AT pobox.com
OK sthen@
|
|
scripting.
(got it into upstream, it's just a backport)
okay kettenis@, patrick@
|
|
ok hackroom@
|
|
For C++, gcc has to make use of comdat sections instead
of .gnu.linkonce sections for this because
switch tables and functions would now end up
in different .gnu.linkonce sections. This can cause ld
to sometimes incorrectly discard the switch tables, which causes
linker errors. With comdat sections, making the switch table
and function sections belong together is more reliable.
ok deraadt@
|
|
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
|
|
ok hackroom@
|
|
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@
|
|
Reimplement that from scratch in our ancient gcc, because it's really
useful for porting newer code and dealing with compiler variations.
(slightly tweaked to reset location to unknown location after the okays)
okay kettenis@ jasper@
found out https://gcc.gnu.org/bugzilla/show_bug.cgi?id=28322
after the patch, which explains a similar reasoning better, and leads
to another patch for older GCC, possibly GPLv3.
|
|
spotted by espie@
|
|
i got sick of not having arguments in ddb stack traces on amd64,
which is because amd64 passes arguments in registers, and it's
impossible to figure out where they go without dwarf info, and when
you have dwarf info it is complicated.
solaris has a simple solution for this. they tweaked their compilers
to accept an -msave-args option which makes functions store their
arguments on the stack, while maintaining compatability with the
System V AMD64 ABI. tools (eg, ddb) can then look at the stack to
get access to function arguments in traces.
this ports their changes to gcc 3 to our gcc.
ok deraadt@
|
|
properly sorted.
pointed out by espie@
|
|
HAVE_TERMINFO in our local config.h. Some of the lower levels of LLVM
don't seem to respect our default setting.
As a result, delete the -ltermlib dependency.
Note that this breaks -fcolor-diagnostics=auto. However, fixing the whole
codebase is out of scope for now ...
Prompted by an instance found in the AsmParser by deraadt@
ok kettenis@ patrick@
|
|
doesn't actually flip the switch yet, so aarch64 continues to be the only
architecture for which we build clang.
ok jsg@, deraadt@
|
|
Requested by deraadt@
|
|
audio/openal port with clang.
ok guenther@
|
|
its local reader until memory usage goes back down below its
watermark.
during a checkout of a tree with big files (like www) from a fast
reader (disk) and a slow writer (net), the amount of data being
buffered can back up enough that cvs tries to allocate too many
buffers and hits its resource limit, causing death.
cvs's flow-control mechanism properly detects this early on, but the
message sent to the reader process to stop sending data takes too
long to process.
take more aggressive action and just stop reading from the reader
until the writer has ejected enough data that it can start re-using
its already-allocated buffers instead of allocating new ones.
ok deraadt
|
|
|
|
as they aren't in mtree. Problem with wrong ownership and permission
of directories reported by sthen@.
ok deraadt@ sthen@ tb@
|
|
ok jsg@
|
|
ok deraadt@
|
|
OK kettenis@
|
|
set to clang.
ok jsg@
|
|
libtool generated configure scripts expect. Otherwise they might assume
shared libraries aren't supported.
From lld svn revisions 298568 and 298571.
Discussed with kettenis@
|
|
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@
|
|
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@
|
|
|
|
ok patrick@
|
|
an operand instead of a memory address. This matches what more recent
binutils versions do and allows us to write inline assembly that's accepted
by both clang and gas.
ok mlarkin@, visa@
|
|
|
|
|
|
Requested by deraadt@, millert@ and some more.
|
|
ok hackroom@
|
|
The OpenBSD triple includes the OpenBSD version. When this recently
changed binutils started building prefixed tools when moving to a new
OpenBSD version which isn't what we want.
ok kettenis@
|
|
|
|
archive members are set to deterministic values. U cancels D. This should
simplify the syspatch work.
Based on a diff by daniel@
ok millert@ deraadt@ kettenis@
|
|
Ported from FreeBSD's GPLv2 version of binutils.
ok guenther@
|
|
Generated with gmake and py-sphinx installed via
cd /usr/src/gnu/llvm/tools/clang/docs && gmake -f Makefile.sphinx man
ok patrick@
|
|
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@
|
|
From Brad Smith.
|
|
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@
|