summaryrefslogtreecommitdiff
path: root/contrib/compiler-rt
Commit message (Collapse)AuthorAgeFilesLines
* Move all sources from the llvm project into contrib/llvm-project.Dimitry Andric2019-12-201041-190842/+0
| | | | | | | | | | | | | This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That is, most of the earlier separate sub-projects with their own branches and tags were consolidated into one top-level directory, and are now branched and tagged together. Updating the vendor area to match this layout is next. Notes: svn path=/head/; revision=355940
* Fix llvm-libunwind userspace build on ARMConrad Meyer2019-11-051-1/+16
| | | | | | | | | | | | | | | | | | | | GCC's libgcc exports a few ARM-specific symbols for ARM EABI, AEABI, or EHABI or whatever it's called. Export the same ones from LLVM-libunwind's libgcc_s, on ARM. As part of this, convert libgcc_s from a direct Version.map to one constructed from component Symbol.map files. This allows the ARM-specific Symbol.map to be included only on ARM. Fix ARM-only oddities in struct name/aliases in LLVM-libunwind to match non-ARM definitions and ARM-specific expectations in libcxxrt / libcompiler_rt. No functional change intended for non-ARM architectures. This commit does not actually flip the switch for ARM defaults from libgcc to llvm-libunwind, but makes it possible (to compile, anyway). Notes: svn path=/head/; revision=354347
* Merge ^/head r352764 through r353315.Dimitry Andric2019-10-081-3/+2
|\ | | | | | | Notes: svn path=/projects/clang900-import/; revision=353316
| * compiler-rt: correct RISC-V struct_kernel_stat64_szEd Maste2019-09-271-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The value of struct_kernel_stat64_sz introduced by review D5021 for RISC-V was incorrect. Also add a __riscv_xlen == 64 conditional as the 32-bit ABI is not yet finalized. Submitted by: Luís Marques Differential Revision: https://reviews.freebsd.org/D21684 Notes: svn path=/head/; revision=352792
* | Merge ^/head r351732 through r352104.Dimitry Andric2019-09-091-11/+11
|\| | | | | | | Notes: svn path=/projects/clang900-import/; revision=352105
| * compiler-rt: use 64-bit time_t for all FreeBSD archs except i386Ed Maste2019-09-091-1/+1
| | | | | | | | | | | | | | Obtained from: LLVM r370756 Notes: svn path=/head/; revision=352096
| * compiler-rt: use more __sanitizer_time_t on FreeBSDEd Maste2019-09-091-11/+11
| | | | | | | | | | | | | | | | | | A few structs were using long for time_t members. Obtained from: LLVM r370755 Notes: svn path=/head/; revision=352095
* | Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb, and openmpDimitry Andric2019-09-023-2/+31
| | | | | | | | | | | | | | release_90 branch r370514, and update version numbers. Notes: svn path=/projects/clang900-import/; revision=351722
* | Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb, and openmpDimitry Andric2019-09-029-20/+140
| | | | | | | | | | | | | | release_90 branch r369369, and update version numbers. Notes: svn path=/projects/clang900-import/; revision=351708
* | Merge compiler-rt trunk r366426, resolve conflicts, and addDimitry Andric2019-08-221021-18262/+25874
|/ | | | | | | FREEBSD-Xlist. Notes: svn path=/projects/clang900-import/; revision=351401
* Upgrade our copies of clang, llvm, lld, lldb, compiler-rt, libc++,Dimitry Andric2019-06-121-0/+2
| | | | | | | | | | | libunwind and openmp to the upstream release_80 branch r363030 (effectively, 8.0.1 rc2). The 8.0.1 release should follow this within a week or so. MFC after: 2 weeks Notes: svn path=/head/; revision=349004
* Merge llvm, clang, compiler-rt, libc++, lld, and lldb release_80 branchDimitry Andric2019-02-153-15/+3
| | | | | | | r354130, resolve conflicts, and bump version numbers. Notes: svn path=/projects/clang800-import/; revision=344177
* Merge compiler-rt trunk r351319, and resolve conflicts.Dimitry Andric2019-01-22242-4043/+11900
| | | | Notes: svn path=/projects/clang800-import/; revision=343311
* Add compiler-rt's libFuzzer, not connected to buildworld yet.Dimitry Andric2018-09-2947-0/+8420
| | | | | | | | | | | | | | | | | | | | For now, the libraries can be built and installed using: cd /usr/src/lib/libclang_rt/fuzzer && \ make obj && \ make depend && \ make && \ sudo make install cd /usr/src/lib/libclang_rt/fuzzer_no_main && \ make obj && \ make depend && \ make && \ sudo make install See https://llvm.org/docs/LibFuzzer.html for more information. Notes: svn path=/projects/clang700-import/; revision=339014
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branchDimitry Andric2018-09-111-4/+5
| | | | | | | | | r341916, resolve conflicts, and bump version numbers. PR: 230240, 230355 Notes: svn path=/projects/clang700-import/; revision=338597
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_70 branchDimitry Andric2018-08-291-9/+0
| | | | | | | | | r340910, resolve conflicts, and bump version numbers. PR: 230240, 230355 Notes: svn path=/projects/clang700-import/; revision=338391
* Merge compiler-rt release_70 branch r338892, and resolve conflicts.Dimitry Andric2018-08-042-1/+2
| | | | Notes: svn path=/projects/clang700-import/; revision=337313
* Merge compiler-rt trunk r338150 (just before the 7.0.0 branch point),Dimitry Andric2018-08-0214-67/+165
| | | | | | | and resolve conflicts. Notes: svn path=/projects/clang700-import/; revision=337154
* Merge compiler-rt trunk r338150, and resolve conflicts.Dimitry Andric2018-08-02326-4424/+32001
| | | | Notes: svn path=/projects/clang700-import/; revision=337136
* Upgrade our copies of clang, llvm, lld, lldb, compiler-rt and libc++ toDimitry Andric2018-06-291-2/+13
| | | | | | | | | | 6.0.1 release (upstream r335540). Relnotes: yes MFC after: 2 weeks Notes: svn path=/head/; revision=335799
* Do not include float interfaces when using libsa.Warner Losh2018-02-231-0/+4
| | | | | | | | | | We don't support float in the boot loaders, so don't include interfaces for float or double in systems headers. In addition, take the unusual step of spiking double and float to prevent any more accidental seepage. Notes: svn path=/head/; revision=329859
* Upgrade our copies of clang, llvm, lld, lldb, compiler-rt and libc++ toDimitry Andric2018-02-161-1/+2
| | | | | | | | | | | 6.0.0 (branches/release_60 r325330). MFC after: 3 months X-MFC-With: r327952 PR: 224669 Notes: svn path=/head/; revision=329410
* Upgrade our copies of clang, llvm, lld, lldb, compiler-rt and libc++ toDimitry Andric2018-02-011-13/+15
| | | | | | | | | | | 6.0.0 (branches/release_60 r323948). MFC after: 3 months X-MFC-With: r327952 PR: 224669 Notes: svn path=/head/; revision=328753
* Upgrade our copies of clang, llvm, lld, lldb, compiler-rt and libc++ toDimitry Andric2018-01-241-2/+11
| | | | | | | | | | | 6.0.0 (branches/release_60 r323338). MFC after: 3 months X-MFC-With: r327952 PR: 224669 Notes: svn path=/head/; revision=328381
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_60 r321788,Dimitry Andric2018-01-061-0/+14
| | | | | | | update build glue and version numbers. Notes: svn path=/projects/clang600-import/; revision=327657
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ trunk r321545,Dimitry Andric2017-12-294-1/+24
| | | | | | | | update build glue and version numbers, add new intrinsics headers, and update OptionalObsoleteFiles.inc. Notes: svn path=/projects/clang600-import/; revision=327330
* Merge compiler-rt trunk r321414 to contrib/compiler-rt.Dimitry Andric2017-12-2422-138/+476
| | | | Notes: svn path=/projects/clang600-import/; revision=327138
* Merge compiler-rt trunk r321017 to contrib/compiler-rt.Dimitry Andric2017-12-20341-4663/+14618
| | | | Notes: svn path=/projects/clang600-import/; revision=327033
* Since this is contrib code, create an upstreamable version of myWarner Losh2017-12-051-1/+5
| | | | | | | | | | | change. Now on FreeBSD and NetBSD if _STANDALONE is defined, we include the kernel version with alloances for the quirky differences between the two. Sponsored by: Netflix Notes: svn path=/head/; revision=326600
* This isn't NetBSD specific code. Include these for any kernel /Warner Losh2017-12-051-2/+2
| | | | | | | | | standalone use. Tweak for FreeBSD's quirky limits.h stuff. Sponsored by: Netflix Notes: svn path=/head/; revision=326591
* Extend the workaround for LLVM bug 11663 to MIPS N32.John Baldwin2017-08-261-2/+3
| | | | | | | | | | | This fixes infinite recursion in /sbin/init for MIPS N32. Submitted by: Robert M. Kovacsics <rmk35@cam.ac.uk> MFC after: 1 week Sponsored by: DARPA / AFRL Notes: svn path=/head/; revision=322915
* Upgrade our copies of clang, llvm, lldb and compiler-rt to r311606 fromDimitry Andric2017-08-244-9/+27
| | | | | | | | | | | | | | the upstream release_50 branch. As of this version, lib/msun's trig test should also work correctly again (see bug 220989 for more information). PR: 220989 MFC after: 2 months X-MFC-with: r321369 Notes: svn path=/head/; revision=322855
* o Replace __riscv__ with __riscvRuslan Bukin2017-08-072-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o Replace __riscv64 with (__riscv && __riscv_xlen == 64) This is required to support new GCC 7.1 compiler. This is compatible with current GCC 6.1 compiler. RISC-V is extensible ISA and the idea here is to have built-in define per each extension, so together with __riscv we will have some subset of these as well (depending on -march string passed to compiler): __riscv_compressed __riscv_atomic __riscv_mul __riscv_div __riscv_muldiv __riscv_fdiv __riscv_fsqrt __riscv_float_abi_soft __riscv_float_abi_single __riscv_float_abi_double __riscv_cmodel_medlow __riscv_cmodel_medany __riscv_cmodel_pic __riscv_xlen Reviewed by: ngie Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D11901 Notes: svn path=/head/; revision=322168
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ r308421, and updateDimitry Andric2017-07-1931-475/+973
| | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=321238
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ r307894, and updateDimitry Andric2017-07-1362-947/+1063
| | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=320970
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306956, and updateDimitry Andric2017-07-0234-339/+580
| | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=320572
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306325, and updateDimitry Andric2017-06-2737-219/+554
| | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=320397
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ r305575, and updateDimitry Andric2017-06-1714-35/+93
| | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=320041
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ r305145, and updateDimitry Andric2017-06-1015-184/+134
| | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=319799
* Merge ^/head r319480 through r319547.Dimitry Andric2017-06-031-1/+1
|\ | | | | | | Notes: svn path=/projects/clang500-import/; revision=319549
| * tsan: set noexec stack on aarch64Ed Maste2017-06-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This may be refined upstream. Reviewed by: dim MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D11034 Notes: svn path=/head/; revision=319516
* | Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304659, and updateDimitry Andric2017-06-0321-804/+112
| | | | | | | | | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=319547
* | Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304460, and updateDimitry Andric2017-06-0118-180/+225
| | | | | | | | | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=319479
* | Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304149, and updateDimitry Andric2017-05-2940-102/+209
| | | | | | | | | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=319164
* | Merge ^/head r318658 through r318963.Dimitry Andric2017-05-262-4/+9
|\| | | | | | | Notes: svn path=/projects/clang500-import/; revision=318964
| * Commit the 64-bit inode project.Konstantin Belousov2017-05-232-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the ino_t, dev_t, nlink_t types to 64-bit ints. Modify struct dirent layout to add d_off, increase the size of d_fileno to 64-bits, increase the size of d_namlen to 16-bits, and change the required alignment. Increase struct statfs f_mntfromname[] and f_mntonname[] array length MNAMELEN to 1024. ABI breakage is mitigated by providing compatibility using versioned symbols, ingenious use of the existing padding in structures, and by employing other tricks. Unfortunately, not everything can be fixed, especially outside the base system. For instance, third-party APIs which pass struct stat around are broken in backward and forward incompatible ways. Kinfo sysctl MIBs ABI is changed in backward-compatible way, but there is no general mechanism to handle other sysctl MIBS which return structures where the layout has changed. It was considered that the breakage is either in the management interfaces, where we usually allow ABI slip, or is not important. Struct xvnode changed layout, no compat shims are provided. For struct xtty, dev_t tty device member was reduced to uint32_t. It was decided that keeping ABI compat in this case is more useful than reporting 64-bit dev_t, for the sake of pstat. Update note: strictly follow the instructions in UPDATING. Build and install the new kernel with COMPAT_FREEBSD11 option enabled, then reboot, and only then install new world. Credits: The 64-bit inode project, also known as ino64, started life many years ago as a project by Gleb Kurtsou (gleb). Kirk McKusick (mckusick) then picked up and updated the patch, and acted as a flag-waver. Feedback, suggestions, and discussions were carried by Ed Maste (emaste), John Baldwin (jhb), Jilles Tjoelker (jilles), and Rick Macklem (rmacklem). Kris Moore (kris) performed an initial ports investigation followed by an exp-run by Antoine Brodin (antoine). Essential and all-embracing testing was done by Peter Holm (pho). The heavy lifting of coordinating all these efforts and bringing the project to completion were done by Konstantin Belousov (kib). Sponsored by: The FreeBSD Foundation (emaste, kib) Differential revision: https://reviews.freebsd.org/D10439 Notes: svn path=/head/; revision=318736
* | Merge llvm, clang, lld, lldb, compiler-rt and libc++ r303571, and updateDimitry Andric2017-05-2219-119/+127
| | | | | | | | | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=318681
* | Merge ^/head r318560 through r318657.Dimitry Andric2017-05-223-2/+55
|\| | | | | | | Notes: svn path=/projects/clang500-import/; revision=318658
| * [libcompiler-rt] add bswapdi2/bswapsi2Adrian Chadd2017-05-213-2/+55
| | | | | | | | | | | | | | | | | | | | | | This is required for mips gcc 6.3 userland to build/run. Reviewed by: emaste, dim Approved by: emaste Differential Revision: https://reviews.freebsd.org/D10838 Notes: svn path=/head/; revision=318601
* | Merge llvm, clang, lld, lldb, compiler-rt and libc++ r303291, and updateDimitry Andric2017-05-181-1/+1
| | | | | | | | | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=318477