summaryrefslogtreecommitdiffstats
path: root/gnu
AgeCommit message (Collapse)AuthorFilesLines
2020-06-18avoid -Wpointer-compare warning which broke build with clang 10jsg2-2/+2
2020-06-04Set max atomic size for PowerPC.gkoehler1-1/+4
32-bit PowerPC doesn't have instructions for lock-free atomic ops on 8-byte values, and needs libcalls like __atomic_fetch_add_8(). In code like "_Atomic long long a; a++;", clang doesn't emit a libcall. This was causing linker errors on symbols like __sync_fetch_and_add_8. Now that LLVM knows the max atomic size, its AtomicExpandPass changes these 8-byte ops into libcalls. ok mortimer@
2020-06-04Sync to perl 5.30.3afresh136-230/+623
All functional changes were committed already, this updates the version number, Module::Corelist, and documentation.
2020-06-01Fix various overflows and state corruption in perlafresh15-50/+124
Found by: ManhND of The Tarantula Team, VinCSS (a member of Vingroup), Hugo van der Sanden, Slaven Rezic, and Sergey Aleynikov Fixed by: John Lightsey, Hugo van der Sanden, and Karl Williamson Addresses: * CVE-2020-10543 * CVE-2020-10878 * CVE-2020-12723
2020-05-31Don't build the rs6000coff_vec and rs6000coff64_vec targets. Thesekettenis1-3/+3
generate fatal compiler warnings at least when cross-compiling and fixing the code isn't trivial. ok patrick@, drahn@
2020-05-30Switch Powerpc64 Big Endian to ELFv2 on OpenBSD, as least for now.drahn1-0/+2
This should simplify bringup and make it easier to support Big Endian and Little Endian with the same code. May be reconsidered if it causes too many problems with Ports. ok kettenis@
2020-05-30Powerpc64 should use same _mcount profiling as powerpc 32bit.drahn1-0/+1
ok kettenis@
2020-05-30Initial set of changes to build powerpc64 toolchain.drahn2-5/+5
Disable PIC/PIE for powerpc64 for now.
2020-05-29Adjust some PPC ELF code to return -1 instead of doing pointerpatrick1-1/+1
arithmetics on NULL, like we did in r1.21 on elflink.c, to stop clang from complaining when setting up a cross-toolchain. ok kettenis@
2020-05-25PowerPC: optimize away the frame pointer.gkoehler1-3/+4
clang defaulted to -fomit-frame-pointer when optimizing PowerPC code for Linux and NetBSD. Now do it for all systems, including OpenBSD. This affects both 32-bit and powerpc64 code. ok kettenis@
2020-05-23Use a distinct trap code with retguard on mips64.visa1-2/+3
This lets the kernel detect retguard traps and send SIGABRT instead of SIGEMT. SIGEMT does not indicate correctly the nature of the error (stack overflow, violation of control flow). It can confuse the user to restart the program without further investigation. Prompted by and OK deraadt@ OK mortimer@
2020-05-20Make sure that we add our OpenBSD specific defines on PowerPC64 targets.patrick1-0/+4
Prompted and tested by drahn@ ok deraadt@ drahn@ kettenis@ visa@
2020-05-02Don't make an illegal adde. Avoids fatal error on PowerPC.gkoehler1-1/+3
When the DAG truncates an ISD::ADDE node, DAGCombiner may optimize it by making an adde with smaller operands. PowerPC has i1 registers, and may truncate an i32 adde to i1, but an i1 adde is not legal for PowerPC, and the legalize-ops phase can't fix it. This was causing "fatal error: error in backend: Cannot select..." cwen@ reported the error ok mortimer@ kettenis@ deraadt@
2020-04-25Note extra Term-ReadKey build dependency on Cwdafresh11-0/+1
Avoids using the installed Cwd module while building perl
2020-04-09Make sure that we really don't emut quad-precision unless thekettenis3-16/+43
"hard-quad-float" feature is available. Add missing replacement instruction patterns that are needed to emit alternative code for conditional moves of quad-precision floats. ok mortimer@
2020-04-09Make sure that we generate a PLT when a plabel is required even forkettenis1-1/+7
symbols that were hidden. Fixes building Mesa on hppa. ok deraadt@
2020-04-09Update perl manpage listafresh11-1/+3
Missed somehow in perl update
2020-04-09Update perl to 5.30.2afresh1101-484/+1536
https://metacpan.org/pod/release/SHAY/perl-5.30.2/pod/perldelta.pod Incompatible Changes There are no changes intentionally incompatible with 5.30.0. Updated Modules and Pragmata * Compress::Raw::Bzip2 has been upgraded from version 2.084 to 2.089. * Module::CoreList has been upgraded from version 5.20191110 to 5.20200314. Selected Bug Fixes * printf() or sprintf() with the %n format no longer cause a panic on debugging builds, or report an incorrectly cached length value when producing SVfUTF8 flagged strings. * A memory leak in regular expression patterns has been fixed. * A read beyond buffer in grok_infnan has been fixed. * An assertion failure in the regular expression engine has been fixed. * (?{...}) eval groups in regular expressions no longer unintentionally trigger "EVAL without pos change exceeded limit in regex". Proceed when you feel comfortable. deraadt@
2020-04-05Define the appropriate __GCC_HAVE_SYNC_COMPARE_AND_SWAP_* symbols like allkettenis1-0/+5
other clang platforms do. ok jca@
2020-04-04Fix "small pic" secure plt support.kettenis3-8/+12
ok mortimer@
2020-03-06Update perl Term::ReadKey to 2.38afresh115-599/+698
ok bluhm@
2020-03-04crank major versions of libLLVM libc++ libc++abigkoehler1-1/+1
OpenBSD macppc builds these libs with clang. Their ABI is changing because of clang -msvr4-struct-return
2020-03-04Switch powerpc clang to -msvr4-struct-return, like gcc.gkoehler4-9/+103
Add these options from gcc to clang: -maix-struct-return # return all structs in memory -msvr4-struct-return # return small structs in r3/r4 ok mortimer@ jca@ deraadt@
2020-01-03avoid build race condition: our make has an "expensive job" heuristicespie1-3/+7
which means we do stop creating other jobs as soon as we run something looking like "make" to avoid unwanted recursion, so you would never hit that. But in binutils-2.17, the developers changed all/info to do recursive makes with some of the same dependencies. Calling both at the same time becomes an obvious race, and should be fixed for no other reason than correctness. okay guenther@
2019-12-30Apply pre-built unicore patch, remove excess files - perl-5.30.1afresh1526-90419/+129055
Timing is good deraadt@, OK sthen@
2019-12-30Apply local patches, remove excess files - perl-5.30.1afresh153-582/+452
Timing is good deraadt@, OK sthen@
2019-12-30Fix merge issues, remove excess files - match perl-5.30.1 distafresh1897-222432/+115549
Timing is good deraadt@, OK sthen@
2019-12-30Import perl-5.30.1afresh1381-10244/+29224
Timing is good deraadt@, OK sthen@
2019-12-23Teach gdb that the trap frame should be used for alltraps_kern_meltdown().yasuoka1-0/+1
ok bluhm kettenis
2019-12-21a few depend:-related thingies that were still in.espie8-30/+8
okay millert@, tb@
2019-12-21Add arm64 support for lldb.mortimer4-1/+652
"Go for it" kettenis@
2019-12-17not renaming those temp files should be fatalespie2-2/+10
this got fixed in recent binutils, but it's GPLv3. So do the same thing in a slightly different way okay guenther@
2019-12-06Like Targets.def include AMDGPU lines in generated .def files forjsg1-4/+7
AsmParsers.def AsmPrinters.def and Disassemblers.def. Required so that LLVM headers will have prototypes for LLVMInitializeAMDGPUAsmPrinter() and LLVMInitializeAMDGPUAsmParser().
2019-11-29Sort relative relocations (and relocations against the same symbol) by offsetguenther1-1/+8
to optimize the cache and UVM faulting behavior ok kettenis@
2019-11-27In lldb, use a OpenBSD signal map instead of leveraging the FreeBSD one.mortimer5-2/+56
ok kettenis@
2019-11-26Revert previous "honour DEBUG", otherwise clang uses -g resulting in hugesthen1-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')
2019-11-26Add bits to allow lldb to find lldb-server.mortimer4-0/+28
lldb likes to look at argv[0] to figure out where it might find lldb-server, but when we invoke lldb via $PATH this doesn't work, so fill in some helpers to tell it where to look. ok millert@
2019-11-26Do not process 0 size DT_PLTRELSZ sections.mortimer1-1/+3
Fixes an assert when running lldb with DEBUG. ok patrick@
2019-11-25Honour DEBUGkn1-2/+1
OK mortimer
2019-11-10Cope with missing PT_* operations on some architecturesderaadt2-0/+20
with mortimer
2019-11-09Move the hashed __retguard_* symbols into individual sections and markguenther1-3/+5
them as COMDATs so that the linker can individually discard them, instead of just ignoring duplicate symbols but keep the (duplicate) space. On amd64, this reduces the size of the kernel OPENBSD_RANDOM segment by 82% and the libc OPENBSD_RANDOM segment by 15%. A port that tb@ is working on experienced a 97.3% reduction...which let it actually run. ok mortimer@ deraadt@
2019-11-09Add lldb support for debugging running binaries on amd64.mortimer32-64/+2432
Follows a similar model as NetBSD. Much help from patrick, kettenis and guenther. lldb and lldb-server remain not installed by default. ok patrick@
2019-11-08Silence the compiler on 64bits archs where sizeof(void *) != sizeof(int).mpi1-1/+1
ok partrick@, kettenis@
2019-10-25Add retguard for octeon/mips64.mortimer10-4/+444
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@
2019-10-21Fix backtrace across signals on amd64kurt1-13/+23
okay guenther@ kettenis@
2019-09-28Make clang emit the proper path to our libcompiler_rt.a when asked to.patrick2-0/+12
Change of behaviour in latest clang upgrade noticed by jsing@ during the Go port update, where --print-libgcc-file-name is being used which prints the compiler-rt path. ok kettenis@
2019-09-01Update clang build infrastructure for LLVM 8.0.1.patrick6-14/+14
2019-09-01Merge LLVM 8.0.1 release.patrick8-20/+33
Tested in snaps and package builds Tested on amd64 by naddy@ Tested on arm64 by patrick@ Tested on octeon by visa@
2019-09-01Import LLVM 8.0.1 release including clang, lld and lldb.patrick59-337/+484
2019-08-12Ensure stack protector slot access is resolved by PEI.mortimer1-0/+4
On arm64, arm, and ppc it is possible that a large stack frame will cause the stack protector slot to be reallocated at the wrong end of the frame. Noticed by tj@. ok patrick@.