summaryrefslogtreecommitdiff
path: root/gnu
AgeCommit message (Collapse)Author
2020-09-30Add minimal support for OpenBSD/powerpc64.Mark Kettenis
2020-09-23Don't pass the -dynamic-linker flag to ld when linking statically.Todd C. Miller
Fixes creation of static binaries with base gcc and ld.lld. OK kettenis@ a while ago, prodded by daniel@
2020-09-19Fix frame pointer slot on aarch64 for functions that do not save calleemortimer
registers with retguard enabled. ok kettenis@
2020-09-16Avoid generating a core dump during make build. The Perl configureAlexander Bluhm
test program "try" already has a signal handler for SIGSEGV, but OpenBSD generates a SIGBUS. Also set a handler for the latter to exit cleanly. from deraadt@; OK afresh1@
2020-09-10Disable strict floating point if not X86gkoehler
Disable options like clang -fno-unsafe-math-optimizations for all targets except X86 (and SystemZ). This prevents a crash of clang, reported by cwen@, in graphics/babl or emulators/mednafen for powerpc. ok mortimer@ This change comes from llvm 11.x: https://github.com/llvm/llvm-project/commit/d4ce862 Reland "[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support." We currently have strict floating point/constrained floating point enabled for all targets. Constrained SDAG nodes get converted to the regular ones before reaching the target layer. In theory this should be fine. However, the changes are exposed to users through multiple clang options already in use in the field, and the changes are _completely_ _untested_ on almost all of our targets. Bugs have already been found, like "https://bugs.llvm.org/show_bug.cgi?id=45274". This patch disables constrained floating point options in clang everywhere except X86 and SystemZ. A warning will be printed when this happens. Use the new -fexperimental-strict-floating-point flag to force allowing strict floating point on hosts that aren't already marked as supporting it (X86 and SystemZ). Differential Revision: https://reviews.llvm.org/D80952
2020-08-31Delete my leftover comment.gkoehler
This comment was from my commit of 2020-05-02, > Don't make an illegal adde. Avoids fatal error on PowerPC. When we merged LLVM 10, we got upstream's fix for the illegal adde problem, and this comment became the only difference in this file between us and upstream. Found by Brad Smith.
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2020-08-14Remove local change to fix powerpc floating-point alignmentgkoehler
LLVM 10 includes a different fix (https://reviews.llvm.org/D71954), so this change (by kettenis on 2019-02-18) is no longer needed. Thanks to Brad Smith for providing the removal diff. ok kettenis@
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2020-08-14Don't build double-double functions since long double is the same as doubleMark Kettenis
on OpenBSD. ok gkoehler@
2020-08-11Remove fixtfti.c from ppc-if to unbreak macppc build. I guess kettenis@Patrick Wildt
was right that this isn't really needed. Now the list is the same as what we had for the previous compiler-rt version.
2020-08-11fix path for testing if a .S existsJonathan Gray
2020-08-10Un-hook and re-hook libcompiler_rt.Patrick Wildt
ok kettenis@
2020-08-10Add build infrastructure for compiler-rt.Patrick Wildt
ok kettenis@
2020-08-10Re-apply our patches to compiler-rt.Patrick Wildt
ok kettenis@
2020-08-10Import compiler-rt 10.0.1 release.Patrick Wildt
ok kettenis@
2020-08-09Tedu files that got removed in LLVM 10.0.1.Patrick Wildt
2020-08-09Update build infrastructure for LLVM 10.0.1.Patrick Wildt
2020-08-09Merge LLVM 10.0.1.Patrick Wildt
2020-08-09Import LLVM 10.0.1 including clang, lld and lldb.Patrick Wildt
2020-08-07default to -march=i586 on i386Jonathan Gray
llvm 9 and later take more care not to inline cmpxchg8b/cx8 with -march=i486 instead calling __atomic_* functions. This in turn breaks the build of a large number of ports. To avoid having to add a lock or conditionally building individual ports with -march=i586 change the default so 64 bit atomics will always be available. ok patrick@ sthen@ deraadt@
2020-08-03Remove LLVM 8.0.1 files.Patrick Wildt
2020-08-03Update build infrastructure for LLVM 10.0.0.Patrick Wildt
ok hackroom@ tested by plenty
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2019-06-23Import LLVM 8.0.0 release including clang, lld and lldb.Patrick Wildt
2019-01-27Import LLVM 7.0.1 release including clang, lld and lldb.Patrick Wildt
2018-04-06Import LLVM 6.0.1 release including clang, lld and lldb.Patrick Wildt
"where is the kaboom?" deraadt@
2017-12-24Import LLVM 5.0.1 release including clang, lld and lldb.Patrick Wildt
2017-10-04Import LLVM 5.0.0 release including clang, lld and lldb.Patrick Wildt
2017-03-14Import LLVM 4.0.0 release including clang and lld.Patrick Wildt
2017-01-24Import LLVM 4.0.0 rc1 including clang and lld to help the currentPatrick Wildt
development effort on OpenBSD/arm64.
2017-01-14Import LLVM 3.9.1 including clang and lld.Patrick Wildt
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2020-07-31Use consistent types in comparison to fix build with clang 10.Visa Hankala
Instead of just checking if *namep is NULL, also check if the string pointed by *namep is empty. This is probably the original intent of the code. OK kettenis@ jsg@ deraadt@
2020-07-23change bfd amd64 ELF_MAXPAGESIZE from 1M to 4KJonathan Gray
An amd64 clang 10 binary built with lld 10 would abort after calling execve(2) if it had been stripped. PT_LOAD segment aligment being changed by strip was the cause. Changing to 4K matches lld and results in a working binary after strip. Introducing ELF_MINPAGESIZE of 4K (which is ELF_MAXPAGESIZE if not defined by the arch) would have also worked but we don't support large pages in userland. ok kettenis@
2020-07-22Add a few missing elocations.Mark Kettenis
ok jasper@
2020-07-18int64_t and intmax_t are always (signed) long long on OpenBSD.Mark Kettenis
ok deraadt@
2020-07-11Set the default ABI for OpenBSD to ELFv2 in the clang frontend as well.Mark Kettenis
This makes sure the compiler defines the _CALL_ELF pre-processor symbol correctly. ok mortimer@
2020-07-10base tree had only two uses of the printf %n format string, in this file.Theo de Raadt
Appending "%n" to the format string to capture the output-length in bytes (into an uninitialized variable) is exactly the same as using the printf return value. Why did they do this so unnaturally? (normally we don't change gcc import code, but I'm doing a study of %n prevelance) ok millert
2020-07-04Don't build gdb on powerpc64.Mark Kettenis
2020-07-02We need the same header files on powerpc64 as we have on powerpc.Mark Kettenis
ok deraadt@
2020-07-01Re-enable silent mode in perl ConfigureAndrew Fresh
Lost in the cleanup. Noticed by deraadt@
2020-06-28Make long double the same as double for now on powerpc64 like we do onMark Kettenis
powerpc. This matched what FreeBSD does. ok patrick@
2020-06-27Remove some customizations from the perl buildAndrew Fresh
This was originally done so that other things in-tree such as vi could link to libperl and to support non-shared vax. This brings us more in-line with upstream and makes things more understandable. It now links libperl.so to libm, which some software needs, and stops building and installing libperl.a. OK bluhm@
2020-06-18avoid -Wpointer-compare warning which broke build with clang 10Jonathan Gray
2020-06-04Set max atomic size for PowerPC.gkoehler
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.3Andrew Fresh
All functional changes were committed already, this updates the version number, Module::Corelist, and documentation.
2010-09-24Perl 5.12.2 from CPANTodd C. Miller