summaryrefslogtreecommitdiff
path: root/contrib/compiler-rt/lib/sanitizer_common
Commit message (Collapse)AuthorAgeFilesLines
* Move all sources from the llvm project into contrib/llvm-project.Dimitry Andric2019-12-20182-61428/+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
* 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-021-0/+29
| | | | | | | | | | | | | | 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-024-8/+132
| | | | | | | | | | | | | | 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-22184-1238/+2127
|/ | | | | | | 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-2272-737/+5480
| | | | Notes: svn path=/projects/clang800-import/; revision=343311
* 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 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-022-34/+8
| | | | | | | and resolve conflicts. Notes: svn path=/projects/clang700-import/; revision=337154
* Merge compiler-rt trunk r338150, and resolve conflicts.Dimitry Andric2018-08-0290-1569/+13198
| | | | 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
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ trunk r321545,Dimitry Andric2017-12-292-0/+17
| | | | | | | | 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-245-73/+135
| | | | Notes: svn path=/projects/clang600-import/; revision=327138
* Merge compiler-rt trunk r321017 to contrib/compiler-rt.Dimitry Andric2017-12-2086-1156/+6555
| | | | Notes: svn path=/projects/clang600-import/; revision=327033
* o Replace __riscv__ with __riscvRuslan Bukin2017-08-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1910-84/+187
| | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=321238
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ r307894, and updateDimitry Andric2017-07-1320-318/+437
| | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=320970
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306956, and updateDimitry Andric2017-07-0210-115/+238
| | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=320572
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306325, and updateDimitry Andric2017-06-2717-133/+268
| | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=320397
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ r305575, and updateDimitry Andric2017-06-179-22/+61
| | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=320041
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ r305145, and updateDimitry Andric2017-06-104-11/+16
| | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=319799
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304659, and updateDimitry Andric2017-06-0311-780/+41
| | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=319547
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304460, and updateDimitry Andric2017-06-017-48/+68
| | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=319479
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304149, and updateDimitry Andric2017-05-2910-25/+72
| | | | | | | 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-2213-104/+77
| | | | | | | | | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=318681
* | Merge llvm, clang, lld, lldb, compiler-rt and libc++ r303197, and updateDimitry Andric2017-05-169-25/+180
| | | | | | | | | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=318384
* | Merge llvm, clang, lld, lldb, compiler-rt and libc++ r302069, and updateDimitry Andric2017-05-037-45/+72
| | | | | | | | | | | | | | build glue (preliminary, not all option combinations work yet). Notes: svn path=/projects/clang500-import/; revision=317778
* | Merge llvm, clang, lld, lldb, compiler-rt and libc++ r301441, and updateDimitry Andric2017-04-263-19/+19
| | | | | | | | | | | | | | build glue. Notes: svn path=/projects/clang500-import/; revision=317472
* | Merge compiler-rt trunk r300890, and update build glue.Dimitry Andric2017-04-2260-688/+2079
|/ | | | Notes: svn path=/projects/clang500-import/; revision=317285
* Merge ^/head r313301 through r313643.Dimitry Andric2017-02-111-6/+1
|\ | | | | | | Notes: svn path=/projects/clang400-import/; revision=313644
| * Don't check struct rtentry on FreeBSD, it is an internal kernel structure.Gleb Smirnoff2017-02-101-6/+1
| | | | | | | | | | | | | | | | | | On other systems it may be API structure for SIOCADDRT/SIOCDELRT. Reviewed by: emaste, dim Notes: svn path=/head/; revision=313559
* | Merge ^/head r312968 through r313054.Dimitry Andric2017-02-011-0/+5
|\| | | | | | | Notes: svn path=/projects/clang400-import/; revision=313055
| * Pull in r293536 from upstream compiler-rt trunk:Dimitry Andric2017-02-011-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recommit: Stop intercepting some malloc-related functions on FreeBSD and macOS Summary: In https://bugs.freebsd.org/215125 I was notified that some configure scripts attempt to test for the Linux-specific `mallinfo` and `mallopt` functions by compiling and linking small programs which references the functions, and observing whether that results in errors. FreeBSD and macOS do not have the `mallinfo` and `mallopt` functions, so normally these tests would fail, but when sanitizers are enabled, they incorrectly succeed, because the sanitizers define interceptors for these functions. This also applies to some other malloc-related functions, such as `memalign`, `pvalloc` and `cfree`. Fix this by not intercepting `mallinfo`, `mallopt`, `memalign`, `pvalloc` and `cfree` for FreeBSD and macOS, in all sanitizers. Also delete the non-functional `cfree` wrapper for Windows, to fix the test cases on that platform. Reviewers: emaste, kcc, rnk Subscribers: timurrrr, eugenis, hans, joerg, llvm-commits, kubamracek Differential Revision: https://reviews.llvm.org/D27654 This prevents autoconf scripts from incorrectly detecting that functions like mallinfo, mallopt, memalign, pvalloc and cfree are supported. PR: 215125, 215455 MFC after: 1 week Notes: svn path=/head/; revision=313052
* | Merge compiler-rt release_40 branch r292009.Dimitry Andric2017-01-146-22/+98
| | | | | | | | Notes: svn path=/projects/clang400-import/; revision=312198
* | Merge compiler-rt trunk r291476.Dimitry Andric2017-01-0916-41/+155
| | | | | | | | Notes: svn path=/projects/clang400-import/; revision=311836
* | Merge compiler-rt r291274.Dimitry Andric2017-01-0868-1791/+4276
|/ | | | Notes: svn path=/projects/clang400-import/; revision=311697
* Update compiler-rt to 3.9.0 release, and update the build glue forDimitry Andric2016-09-0357-538/+2470
| | | | | | | libcompiler_rt and libclang_rt. Notes: svn path=/projects/clang390-import/; revision=305364
* Update compiler-rt to release_38 branch r261369.Dimitry Andric2016-02-211-2/+7
| | | | Notes: svn path=/projects/clang380-import/; revision=295860
* Merge compiler-rt release_38 branch r258968.Dimitry Andric2016-02-06108-11176/+3294
| | | | | | | | Note that there is still a problem on amd64, causing SIGBUS in the early startup of Address Sanitizer. This is being investigated. Notes: svn path=/projects/clang380-import/; revision=295349
* Add support for RISC-V ISA.Ruslan Bukin2016-01-221-2/+6
| | | | | | | | | | Reviewed by: emaste Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Differential Revision: https://reviews.freebsd.org/D5021 Notes: svn path=/head/; revision=294577
* Update compiler-rt to 3.7.0 release. This also includes the sanitizerDimitry Andric2015-09-1067-1552/+3405
| | | | | | | and profile libraries. Notes: svn path=/projects/clang370-import/; revision=287626
* Update compiler-rt to trunk r230183. This has some of our patchesDimitry Andric2015-02-2226-370/+441
| | | | | | | imported, so we have just a few small diffs against upstream left. Notes: svn path=/projects/clang360-import/; revision=279194