Age | Commit message (Collapse) | Author |
|
okay millert@
|
|
fucks up make recognition of generated vs pre-existing file.
also zap .PATH.1 thingy that's no longer needed at all.
|
|
okay millert@
|
|
okay millert@
|
|
|
|
can run normally
|
|
- mix-up between .ALLSRC and .IMPSRC, compile the right gc.c file
- add explicit targets for pre-generated stuff
|
|
elf.sc to FILL .text segment with TRAP. .init/.fini remain NOP FILL.
It is possible that some of these TRAP values aren't perfect yet, but
they can be changed. When doing so also change the ld.script and gap.o
TRAP value.
discussions with mortimer, ok kettenis
|
|
the man parts.
just leave Configure and forwarding targets in Makefile.bsd-wrapper,
this allows bsd.lib.mk to function normally without depend, because all
the puzzle is here.
okay millert@ afresh1@
|
|
prevents core dumps :)
okay tedu@
|
|
ok hackroom@
|
|
Also from Todd Mortimer
tested by espie
|
|
ok hackroom@
|
|
|
|
existence of a .depend file can lead to various problems.
The logic before rev 1.15 resulted in Makefile.dep always being
included as DEPENDSFILE was never set so this returns to the old
behaviour.
ok espie@
|
|
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@
|