summaryrefslogtreecommitdiff
path: root/gnu
AgeCommit message (Collapse)Author
2017-07-19more depends gc / yacc rules overhaulMarc Espie
okay millert@
2017-07-11protoize.1 isn't generated, so don't list it as a target, because itMarc Espie
fucks up make recognition of generated vs pre-existing file. also zap .PATH.1 thingy that's no longer needed at all.
2017-07-10remove misc. depend and yacc nits that no longer matter.Marc Espie
okay millert@
2017-07-09zap empty depends/silence empty installs.Marc Espie
okay millert@
2017-07-04proper escaping to prevent information loss; found with mandoc -TlintIngo Schwarze
2017-07-04Should have committed this two days ago, last part that ran during dependMarc Espie
can run normally
2017-07-04complete "nodepend" in sourceMarc Espie
- mix-up between .ALLSRC and .IMPSRC, compile the right gc.c file - add explicit targets for pre-generated stuff
2017-07-01provide both TRAP and NOP values for our architectures, then changeTheo de Raadt
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
2017-06-28move all the post-Configure stuff to Makefile.bsd-wrapper1 instead of justMarc Espie
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@
2017-06-28if we return nullptr for a "noexec" section, then don't change section.Marc Espie
prevents core dumps :) okay tedu@
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2017-06-27trapsleds for clang, similar to the change on gas side.Theo de Raadt
Also from Todd Mortimer tested by espie
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2017-06-23Make libiberty test programs compile and run without segfault.Alexander Bluhm
2017-06-23Always include Makefile.dep, conditionally including it based on theJonathan Gray
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@
2017-06-22i386 uses a intentional fallthrough between appended code blocks in .init,Theo de Raadt
which we cannot TRAPSLED FILL. This needs to be done a different way. diagnosis with kettenis
2017-06-21elf64_x86_64_plt0_entry had a hardcoded nop-sled, before the subsequentTheo de Raadt
plt entry. Since previous effective instruction is a a jmp, this can be a sequence of traps. ok mlarkin
2017-06-21Intra-segment traps instead of nops. Similar to kernel change, furtherTheo de Raadt
reduction in nopsleds in code and data segments (if those data segments ever become X, that is) ok mlarkin
2017-06-21Large nopsleds make it easier for ROP machinery to sloppily reach targets.Theo de Raadt
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
2017-06-21For a decade or more, we've patched gcc to make -fno-ident the default.Ted Unangst
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
2017-06-21DEPENDSFILE comes from FreeBSD, we don't have it. replace it with itsMarc Espie
value .depend, so that the conditional is really used. okay guenther@
2017-06-16mark files as BUILDFIRST, or write explicit dependencies, so that mostMarc Espie
programs will build even without a make depend first. okay tb@ millert@
2017-06-12destroy lint remnants.Marc Espie
okay millert@ deraadt@
2017-06-06Enable -fwrapv by default with clang to treat signed integer overflowsJonathan Gray
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@
2017-06-04Replace ((2 << 31) - 1) with 0xffffffff, which is equivalent but doesn'tChristian Weisgerber
cause a shift overflow on a 32-bit arch (i386). ok kettenis@
2017-06-04Update to perl File::Path 2.13 for security fixesAndrew Fresh
Reccomended by upstream - jkeenan AT pobox.com OK sthen@
2017-06-02Synonym -Wno-cpp for -Wno-#warnings. That one is not a headache forMarc Espie
scripting. (got it into upstream, it's just a backport) okay kettenis@, patrick@
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2017-05-31Make gcc move switch tables into .rodata instead of .text on i386/amd64Stefan Kempf
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@
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-05-08gcc 4.9 makes unknown -Wno-* vanish.Marc 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.
2017-04-28Install a few more x86 intrinsics header files.Mark Kettenis
spotted by espie@
2017-04-27add support for -msave-args in gcc on amd64David Gwynne
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@
2017-04-20Install clflushoptintrin.h and move pkuintrin.h such that the list isMark Kettenis
properly sorted. pointed out by espie@
2017-04-17Take a more radical approach to disabling colours: pretend we don'tPascal Stumpf
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@
2017-04-17Change build infrastructure to allow building both gcc and clang. ThisMark Kettenis
doesn't actually flip the switch yet, so aarch64 continues to be the only architecture for which we build clang. ok jsg@, deraadt@
2017-04-16Disable colored diagnostics in LLVM's lld.Patrick Wildt
Requested by deraadt@
2017-04-15Handle R_SPARC_WPLT30 relocations against a local symbol. Fixes building theMark Kettenis
audio/openal port with clang. ok guenther@
2017-04-14once cvs's flow-control mechanism has kicked in, stop reading fromJoshua Stein
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
2017-04-12explicitly set the ownership on installed include files as wellJonathan Gray
2017-04-12Invoke install -d for each directory in the /usr/lib/clang hierarchyJonathan Gray
as they aren't in mtree. Problem with wrong ownership and permission of directories reported by sthen@. ok deraadt@ sthen@ tb@
2017-04-10Generate and install arm_neon.h on arm and arm64.Mark Kettenis
ok jsg@
2017-04-09Sync symbol lists for trap/interrupt frame detection with what ddb(4) usesPhilip Guenther
ok deraadt@
2017-04-02Fix an out-of-bounds memory access with 64-bit armaps.Visa Hankala
OK kettenis@
2017-03-27Do not clobber the default compiler/linker links unless COMPILER_VERSION isMark Kettenis
set to clang. ok jsg@
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@