summaryrefslogtreecommitdiff
path: root/gnu
AgeCommit message (Collapse)Author
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2019-03-01Fix a crash: don't assume that all input files are ELF objectsJeremie Courreges-Anglas
ld(1) would try to free uninitialized memory when used with -r -b binary <fontfile> by ports/textproc/mupdf. Perform the same bfd type check as bfd_elf_match_symbols_in_sections(). Fix found the hard way, cheese and wine sponsor: miod. Almost identical fix already present upstream. Also set the freed pointer to NULL, just in case. ok tb@ sthen@
2019-02-26In preparation for reusing libLLVM component library Makefiles to buildJonathan Gray
libLLVM from a single directory avoid reused filenames by symlinking duplicated names with a prefix of the component library name so object file names will be unique. symlink approach suggested by deraadt@ ok patrick@
2019-02-26define LLVM_ENABLE_THREADS and LLVM_HAS_ATOMICSJonathan Gray
matches the result of building with cmake ok patrick@
2019-02-26use real format strings, resolve compiler warnings; ok millert@cheloha
2019-02-25add sources matching unresolved symbols seen using Mesa with libLLVMJonathan Gray
ok patrick@
2019-02-24Remove -S from install commandskn
As of usr.bin/xinstall/install.c revision 1.68, -S is a no-op and install(1) will always create files safely, thus clean the option usage from the tree. Diff from Lauri Tirkkonen <lotheac at iki dot fi>, thanks.
2019-02-22Improve the X86FixupGadgets pass:mortimer
- Target all four kinds of return bytes (c2, c3, ca, cb) - Fix up instructions using both ModR/M and SIB bytes - Force alignment before instructions with return bytes in immediates - Force alignment before instructions that have return bytes in their encoding - Add a command line switch to toggle the functionality. ok deraadt@
2019-02-18When generating code for OpenBSD/powerpc, avoid unaligned floating-pointMark Kettenis
load and store instructions. The vast majority of PowerPC CPUs that OpenBSD runs on don't implement those and will generate an alignment exceptions. While we do emulate lfd and stfd (to work around GCC bugs), we don't emulate lfs and stfs. It is way more efficient to have the compiler generate code that only uses aligned load and store instructions. Based on a diff from Georg Koehler. ok patrick@, visa@
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2019-02-17Skip retguard instructions in prologue detection.mortimer
ok patrick@
2017-10-04Import LLVM 5.0.0 release including clang, lld and lldb.Patrick Wildt
2019-02-14When bsd.lib.mk builds shared libraries it builds with -DPIC whichJonathan Gray
causes problems in the following files which use PIC as a variable name. Undefine PIC in llvm-config.h to minimise the diff to upstream LLVM. include/llvm/MC/MCObjectFileInfo.h lib/MC/MCObjectFileInfo.cpp lib/Transforms/Scalar/LICM.cpp lib/Transforms/Utils/PredicateInfo.cpp These are the files that would be built as part of a shared libLLVM. There are other files with PIC variable names in clang code. #undef PIC approach suggested by kettenis@
2019-02-13Apply pre-built unicore patch, remove excess files - perl-5.28.1Andrew Fresh
looking good sthen@, Great! bluhm@
2019-02-13Apply local patches, remove excess files - perl-5.28.1Andrew Fresh
looking good sthen@, Great! bluhm@
2019-02-13Fix merge issues, remove excess files - match perl-5.28.1 distAndrew Fresh
looking good sthen@, Great! bluhm@
2019-02-13Import perl-5.28.1Andrew Fresh
looking good sthen@, Great! bluhm@
2013-03-25import perl 5.16.3 from CPAN - worked on by Andrew Fresh and myselfStuart Henderson
2010-09-24Perl 5.12.2 from CPANTodd C. Miller
2019-02-13Merge LLVM commits r340844, r353818 and r353819 from the 8.0 branchPatrick Wildt
to fix a regression in floating point operations. Bluhm noticed that the bc regression test has been failing after the upgrade to 7.0.1 because setting the floating point control register was in some cases reordered erroneously. Found and tested by bluhm@ ok bluhm@ kettenis@
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2019-02-10On OpenBSD/powerpc (and NetBSD/powerpc) long double == double like onMark Kettenis
FreeBSD/powerpc. From George Koehler. ok millert@, deraadt@, visa@
2018-04-06Import LLVM 6.0.1 release including clang, lld and lldb.Patrick Wildt
"where is the kaboom?" deraadt@
2019-02-05Fix addend handling for relaxing R_PPC_PLTREL24 relocations. This issue hasMark Kettenis
been fixed in a much more complicated way upstream which we can't easily backport and involves GPLv3 code as well. So instead simply nuke the addend in the most convenient spot. Makes -Wl,-relax work well enough to link base clang. ok guenther@
2019-02-05Zap unneeded argument to BuildMI().mortimer
ok dlg@
2019-02-04initialize SaveArgs variable in case neither -msave-args or -mno-save-args ↵Sebastien Marie
are on command-line. and use a bool type for a boolean in C++. ok kettenis@ deraadt@
2019-02-03Add some fixes from upstream to the code that parses .eh_frame sectionsMark Kettenis
in order the generate .eh_frame_hdr. In particular, don't rely on FDEs pointing to the last CIE that was seen. Fixes exception handling issues with clang++ on platforms that don't use ld.lld as the default linker. ok deraadt@
2019-02-01Fix gdb can handle prologues which has the retguard and teach gdb thatYASUOKA Masahiko
alltraps_kern() is a trap function. Also initialize the struct amd64_frame_cache in amd64_skip_prologue() which was missing. Original diff from IIJ. ok mpi mortimer kettenis deraadt
2004-05-21GDB 6.1 (excluding .info files)Mark Kettenis
2019-01-31Map SHT_LLVM_LINKER_OPTIONS to stringMark Kettenis
ok patrick@, naddy@
2019-01-31Ignore LLVM 7's LINKER_OPTIONS section.Mark Kettenis
ok patrick@, naddy@
2019-01-30implement -msave-args in clang/llvm, like the sun did for gccDavid Gwynne
this is a bit different to gcc as gcc likes to use movs to move stuff on and off the stack, and directly updates the stack pointers with add and sub instructions. llvm prefers to use push and pop instructions, is a lot more careful about keeping track of how much stuff is currently on the stack, and generally pops the frame pointer rather than do maths on it. -msave-args adds a bunch of pushes as the first thing a function prologue does. to keep the stack aligned, if there's an odd number of arguments to the function it pushes the first one again to put the frame back on a 16 byte boundary. to undo the pushes the frame pointer needs to be updated in function epilogues. clang emits a series of pops to fix up the registers on the way out, but popping saved arguments is a waste of time and harmful to actual data in the function. rather than add an offset to the stack pointer, -msave-args emits a leaveq operation to fix up the frame again. leaveq is effectively mov rbp,rsp; pop rbp, and is a single byte, meaning there's less potential for gadgets compared to a direct add to rsp, or an explicit mov rbp,rsp. the only thing missing compared to the gcc implementation is adding the SUN_amd64_parmdump dwarf flag to affected functions. if someone can tell me how to add that from the frame lowering code, let me know. when enabled in kernel builds again, this will provide useful arguments in ddb stack traces again.
2018-04-06Import LLVM 6.0.1 release including clang, lld and lldb.Patrick Wildt
"where is the kaboom?" deraadt@
2017-10-04Import LLVM 5.0.0 release including clang, lld and lldb.Patrick Wildt
2016-09-03Use the space freed up by sparc and zaurus to import LLVM.Pascal Stumpf
ok hackroom@
2019-01-29Correct LLVM backend version.Patrick Wildt
From Brad
2019-01-29add AMDGPUCodeGenJonathan Gray
2019-01-29add Makefiles for AMDGPU targetJonathan Gray
ok patrick@
2019-01-28On i386, produce binaries that are compatible with our W^X implementation.Mark Kettenis
Note that this will still produce binaries that have the read-only segment placed before the executable segment. This means that on machines without the NX bit, the read-only segment is now executable. However on machines with an NX bit, the ordering used by lld means the program headers are no longer executable since they are now part of the read-only segment. ok deraadt@, naddy@
2019-01-27Install lldb's manpage directly from the GNU directory, like lld does.Patrick Wildt
2019-01-27regenPatrick Wildt
2019-01-27Tedu files that got removed in LLVM 7.0.1.Patrick Wildt
2019-01-27Re-add files that were previously removed but are now part of LLVM 7.0.1.Patrick Wildt
2019-01-27Tedu files that got removed in LLVM 7.0.1.Patrick Wildt
2019-01-27Remove specific clang version from check for clang.Patrick Wildt
2019-01-27Update clang build infrastructure for LLVM 7.0.1.Patrick Wildt
2019-01-27Merge LLVM 7.0.1 release.Patrick Wildt
With fixes from mortimer@ (thanks!) Tested by many, especially naddy@ (thanks!)
2019-01-27Import LLVM 7.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-01-24Import LLVM 4.0.0 rc1 including clang and lld to help the currentPatrick Wildt
development effort on OpenBSD/arm64.