aboutsummaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Update libc++ build glue, and ObsoleteFiles.Dimitry Andric2019-01-221-1/+4
| | | | Notes: svn path=/projects/clang800-import/; revision=343310
* Update lldb build glue to make MK_LLDB=yes work.Dimitry Andric2019-01-221-13/+20
| | | | Notes: svn path=/projects/clang800-import/; revision=343307
* Update llvm and clang build glue to make MK_CLANG_EXTRAS=yes andDimitry Andric2019-01-212-5/+56
| | | | | | | MK_CLANG_FULL=yes work. Notes: svn path=/projects/clang800-import/; revision=343276
* Add and remove sources from libllvm and libclang, to make the minimalDimitry Andric2019-01-212-28/+66
| | | | | | | clang executable (with all options except targets off) build. Notes: svn path=/projects/clang800-import/; revision=343252
* Update libllvmminimal and llvm-tblgen Makefiles, so llvm-tblgen andDimitry Andric2019-01-201-1/+1
| | | | | | | clang-tblgen can build. Notes: svn path=/projects/clang800-import/; revision=343221
* Update version numbers, and regenerate config headers for llvm, clang,Dimitry Andric2019-01-209-19/+28
| | | | | | | lld and lldb. Update ObsoleteFiles.inc and OptionalObsoleteFiles.inc. Notes: svn path=/projects/clang800-import/; revision=343220
* Revert r343093 until I can address the issues raised by kib@.Dag-Erling Smørgrav2019-01-171-22/+1
| | | | Notes: svn path=/head/; revision=343116
* Create new EINTEGRITY error with message "Integrity check failed".Kirk McKusick2019-01-173-1/+17
| | | | | | | | | | | | | | | | | | | | | | An integrity check such as a check-hash or a cross-correlation failed. The integrity error falls between EINVAL that identifies errors in parameters to a system call and EIO that identifies errors with the underlying storage media. EINTEGRITY is typically raised by intermediate kernel layers such as a filesystem or an in-kernel GEOM subsystem when they detect inconsistencies. Uses include allowing the mount(8) command to return a different exit value to automate the running of fsck(8) during a system boot. These changes make no use of the new error, they just add it. Later commits will be made for the use of the new error number and it will be added to additional manual pages as appropriate. Reviewed by: gnn, dim, brueffer, imp Discussed with: kib, cem, emaste, ed, jilles Differential Revision: https://reviews.freebsd.org/D18765 Notes: svn path=/head/; revision=343111
* libedit: Avoid out of bounds read in 'bind' commandJilles Tjoelker2019-01-161-1/+2
| | | | | | | | | | | | | | | | | | This is CVS revision 1.31 from NetBSD lib/libedit/chartype.c: Make sure that argv is NULL terminated since functions like tty_stty rely on it to be so (Gerry Swinslow) This broke when the wide-character support was enabled in libedit. The conversion from multibyte to wide-character did not supply the apparently expected terminating NULL in the new argv array. PR: 233343 Submitted by: Yuichiro NAITO Obtained from: NetBSD MFC after: 1 week Notes: svn path=/head/; revision=343105
* Implement dlopenat(3).Dag-Erling Smørgrav2019-01-161-1/+22
| | | | | | | MFC after: 3 weeks Notes: svn path=/head/; revision=343093
* Implement shmat(2) flag SHM_REMAP.Konstantin Belousov2019-01-161-3/+32
| | | | | | | | | | | | Based on the description in Linux man page. Reviewed by: markj, ngie (previous version) Sponsored by: Mellanox Technologies MFC after: 1 week Differential revision: https://reviews.freebsd.org/D18837 Notes: svn path=/head/; revision=343082
* This was missed in r343051: make uz_allocs, uz_frees and uz_fails counter(9).Gleb Smirnoff2019-01-151-3/+7
| | | | Notes: svn path=/head/; revision=343053
* o Move zone limit from keg level up to zone level. This means that nowGleb Smirnoff2019-01-151-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | two zones sharing a keg may have different limits. Now this is going to work: zone = uma_zcreate(); uma_zone_set_max(zone, limit); zone2 = uma_zsecond_create(zone); uma_zone_set_max(zone2, limit2); Kegs no longer have uk_maxpages field, but zones have uz_items. When set, it may be rounded up to minimum possible CPU bucket cache size. For small limits bucket cache can also be reconfigured to be smaller. Counter uz_items is updated whenever items transition from keg to a bucket cache or directly to a consumer. If zone has uz_maxitems set and it is reached, then we are going to sleep. o Since new limits don't play well with multi-keg zones, remove them. The idea of multi-keg zones was introduced exactly 10 years ago, and never have had a practical usage. In discussion with Jeff we came to a wild agreement that if we ever want to reintroduce the idea of a smart allocator that would be able to choose between two (or more) totally different backing stores, that choice should be made one level higher than UMA, e.g. in malloc(9) or in mget(), or whatever and choice should be controlled by the caller. o Sleeping code is improved to account number of sleepers and wake them one by one, to avoid thundering herd problem. o Flag UMA_ZONE_NOBUCKETCACHE removed, instead uma_zone_set_maxcache() KPI added. Having no bucket cache basically means setting maxcache to 0. o Now with many fields added and many removed (no multi-keg zones!) make sure that struct uma_zone is perfectly aligned. Reviewed by: markj, jeff Tested by: pho Differential Revision: https://reviews.freebsd.org/D17773 Notes: svn path=/head/; revision=343026
* msun: reduce diff between src/e_j0.c and src/e_j0f.cPedro F. Giffuni2019-01-142-10/+12
| | | | | | | | PR: 229501 MFC after: 1 week Notes: svn path=/head/; revision=343023
* Create crtsavres.o for powerpc buildsJustin Hibbits2019-01-123-3/+198
| | | | | | | | | | | | | | | | Summary: GCC expects to link in a crtsavres.o on powerpc platforms. On powerpc64 this is an empty file, but on powerpc and powerpcspe this does contain some save/restore functions, which may not actually be necessary for newer modern GCC and clang. This appeases the in-tree gcc, though, and is needed in order to switch to the BSD CRTRBEGIN. PR: 233751 Reviewed By: andrew Differential Revision: https://reviews.freebsd.org/D18826 Notes: svn path=/head/; revision=342974
* Disable FTS3, FTS4, and RTREE in bundled and private sqlite3.Cy Schubert2019-01-121-4/+1
| | | | | | | | | | Suggested by: delphij@ Reviewed by: delphij@ (for secteam@) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D18786 Notes: svn path=/head/; revision=342972
* Update to ELF Tool Chain r3668Ed Maste2019-01-102-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Highlights: - Make sure that only TLS sections are sorted into TLS segment. - Fixed multiple errors in "Section to Segment mapping". - Man page updates - ar improvements - elfcopy: avoid filter_reloc uninitialized variable for rela - elfcopy: avoid stripping relocations from static binaries - readelf: avoid printing directory in front of absolute path - readelf: add NT_FREEBSD_FEATURE_CTL FreeBSD note type - test improvements NOTES: Some of these changes originated in FreeBSD and simply reduce diffs between contrib and vendor. ELF Tool Chain ar is not (currently) used in FreeBSD, and there are improvements in both FreeBSD and ELF Tool Chain ar that are not in the other. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=342918
* libbe(3): Change be_mount to mount/unmount child datasetsKyle Evans2019-01-101-37/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | This set of changes is geared towards making bectl respect deep boot environments when they exist and are mounted. The deep BE composition functionality (`bectl add`) remains disabled for the time being. This set of changes has no effect for the average user. but allows deep BE users to upgrade properly with their current setup. libbe(3): Open the target boot environment and get a zfs handle, then pass that with the target mountpoint to be_mount_iter; If the BE_MNT_DEEP flag is set call zfs_iter_filesystems and mount the child datasets. Similar logic is employed when unmounting the datasets, save for children are unmounted first. bectl(8): Change bectl_cmd_jail to pass the BE_MNT_DEEP flag when calling be_mount as well as call be_unmount when cleaning up after the jail has exited instead of umount(2) directly. PR: 234795 Submitted by: Wes Maag <jwmaag_gmail.com> (test additions by kevans) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D18796 Notes: svn path=/head/; revision=342911
* libbe(3): move altroot augmentation bits around a little bitKyle Evans2019-01-093-14/+38
| | | | | | | | | | | | | | | | | We could perhaps have a method that does this given a dataset, but it's yet clear that we'll always want to bypass the altroot when we grab the mountpoint. For now, we'll refactor things a bit so we grab the altroot length when libbe is initialized and have a common method that does the necessary augmentation (replace with / if it's the root, return a pointer to later in the string if not). This will be used in some upcoming work to make be_mount work properly for deep BEs. MFC after: 1 week Notes: svn path=/head/; revision=342903
* Enable use of Capsicum sandbox when there is only oneXin LI2019-01-091-2/+2
| | | | | | | | | | | input file (or the input is stdin) and we are not creating output file. Reported by: Lasse Collin MFC after: 1 month Notes: svn path=/head/; revision=342876
* Add a tunable which changes mincore(2) algorithm to only report dataKonstantin Belousov2019-01-071-2/+15
| | | | | | | | | | | | | | | | from the local mapping. Enable the setting by default. The article behind the change: https://arxiv.org/abs/1901.01161 Reviewed by: markj Discussed with: emaste Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D18764 Notes: svn path=/head/; revision=342853
* pow(3): Workaround possible signed shift Undefined Behavior.Pedro F. Giffuni2019-01-071-1/+1
| | | | | | | | | | j is int32_t and thus j<<31 is undefined if j==1. Hinted by: muusl-lib (git 688d3da0f1730daddbc954bbc2d27cc96ceee04c) Discussed with: freebsd-numerics (kargl) Notes: svn path=/head/; revision=342851
* libbe(3): Don't allow bootfs to be destroyedKyle Evans2019-01-071-1/+2
| | | | | | | | | | | | | | | | | | | | | Previously, the following sequence of events was feasible under some circumstance: bectl create test bectl activate test # the test BE dataset gets promoted and set as bootfs bectl destroy test I was unable to reproduce the destroy succeeding, but we should be rejecting this before it even gets to libzfs because it would leave the system in an inconsistent state. Forcing the user to be explicit as to which environment should be activated instead is much better. Reported by: Graham Perrin <grahamperrin@gmail.com> MFC after: 3 days Notes: svn path=/head/; revision=342849
* thr_wake(2): Minor mdoc fixesJilles Tjoelker2019-01-061-2/+2
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=342816
* Add explicit csu test dependencyEd Maste2019-01-041-0/+2
| | | | | | | | | | | | lib/csu/tests/dynamiclib requires libh_csu.so be built first. I'm not sure this is the most correct/best way to address this but it solves the issue in my testing. PR: 233734 Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=342773
* Support MSG_DONTWAIT in send*(2).Mark Johnston2019-01-041-4/+9
| | | | | | | | | | | | | | | As it does for recv*(2), MSG_DONTWAIT indicates that the call should not block, returning EAGAIN instead. Linux and OpenBSD both implement this, so the change makes porting easier, especially since we do not return EINVAL or so when unrecognized flags are specified. Submitted by: Greg V <greg@unrelenting.technology> Reviewed by: tuexen MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D18728 Notes: svn path=/head/; revision=342768
* getopt_long(3): fix case of malformed long optKyle Evans2019-01-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | When presented with an arg string like '-l-', getopt_long will successfully parse out the 'l' short option, then proceed to match '--' against the first longopts entry as it later does a strncmp with len=0. This latter bit is arguably another bug in itself, but presumably not a practical issue as all callers of parse_long_options are already doing the right thing (except this one pointed out). An opt string like '-l-' should be considered malformed and throw a bad argument rather than behaving as if '--' were passed. It cannot possibly do what the invoker expects, and it's probably the result of a typo (ls -l- a) rather than any intent. Reported by: Tony Overfield <toverfield@yahoo.com> Reviewed by: imp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D18616 Notes: svn path=/head/; revision=342757
* Add man page for dlvsym(3)Romain Tartière2019-01-032-4/+24
| | | | | | | | | | | | Add a short description of the function to the appropriate man page and add reference to it where it makes sense. Reviewed by: bcr, markj, 0mp Approved by: markj Differential Revision: https://reviews.freebsd.org/D18725 Notes: svn path=/head/; revision=342743
* msun: Fix some old typos.Pedro F. Giffuni2018-12-312-2/+2
| | | | | | | Seen in a posting from July 27 by "CM Graff" in musl-libc. Notes: svn path=/head/; revision=342651
* Ensure buffer is nul-terminated.Xin LI2018-12-311-1/+1
| | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=342640
* Update to Zstandard 1.3.8Conrad Meyer2018-12-291-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This merge brings in a couple new files, which needed to be attached to the build; a new dependency on <limits.h>, which must be stubbed; and a name change in the Context parameter constants, from ZSTD_p_foo to ZSTD_c_foo. Significantly, it fixes a kernel build error with GCC where floating-point functions were included in the kernel build, by hiding them under the same compile-time #ifdef that already covered their invocation. That issue was introduced to FreeBSD in the 1.3.7 update and tracked upstream here: https://github.com/facebook/zstd/issues/1386 The full 1.3.8 release notes can be found on Github: https://github.com/facebook/zstd/releases/tag/v1.3.8 Relnotes: yes Notes: svn path=/head/; revision=342598
| * import zstd 1.3.8vendor/zstd/1.3.8Conrad Meyer2018-12-2942-3238/+4658
| | | | | | | | | | Notes: svn path=/vendor/zstd/dist/; revision=342589 svn path=/vendor/zstd/1.3.8/; revision=342590; tag=vendor/zstd/1.3.8
| * import zstd 1.3.7vendor/zstd/1.3.7Conrad Meyer2018-10-2252-2474/+5663
| | | | | | | | | | Notes: svn path=/vendor/zstd/dist/; revision=339614 svn path=/vendor/zstd/1.3.7/; revision=339615; tag=vendor/zstd/1.3.7
| * import zstd 1.3.4vendor/zstd/1.3.4Conrad Meyer2018-10-2240-3464/+5838
| | | | | | | | | | Notes: svn path=/vendor/zstd/dist/; revision=339612 svn path=/vendor/zstd/1.3.4/; revision=339613; tag=vendor/zstd/1.3.4
| * import zstd 1.3.3vendor/zstd/1.3.3Conrad Meyer2018-10-2230-1906/+1559
| | | | | | | | | | Notes: svn path=/vendor/zstd/dist/; revision=339610 svn path=/vendor/zstd/1.3.3/; revision=339611; tag=vendor/zstd/1.3.3
| * import zstd 1.3.2vendor/zstd/1.3.2Baptiste Daroussin2017-11-0957-3537/+5603
| | | | | | | | | | Notes: svn path=/vendor/zstd/dist/; revision=325597 svn path=/vendor/zstd/1.3.2/; revision=325598; tag=vendor/zstd/1.3.2
| * Add missing compiler.hvendor/zstd/1.3.1Baptiste Daroussin2017-08-221-0/+85
| | | | | | | | | | Notes: svn path=/vendor/zstd/dist/; revision=322781 svn path=/vendor/zstd/1.3.1/; revision=322783; tag=vendor/zstd/1.3.1
| * Import zstd 1.3.1Baptiste Daroussin2017-08-2245-1112/+1163
| | | | | | | | Notes: svn path=/vendor/zstd/dist/; revision=322779
| * Import zstd 1.3.0vendor/zstd/1.3.0Baptiste Daroussin2017-07-1426-1417/+2945
| | | | | | | | | | Notes: svn path=/vendor/zstd/dist/; revision=320983 svn path=/vendor/zstd/1.3.0/; revision=320985; tag=vendor/zstd/1.3.0
| * Import Zstandard 1.2.0vendor/zstd/1.2.0Baptiste Daroussin2017-05-0624-742/+1002
| | | | | | | | | | | | | | | | Among changes: threading support is now default and supports freebsd Notes: svn path=/vendor/zstd/dist/; revision=317875 svn path=/vendor/zstd/1.2.0/; revision=317876; tag=vendor/zstd/1.2.0
| * Remove files confusing the git exporterBaptiste Daroussin2017-04-156-428/+0
| | | | | | | | Notes: svn path=/vendor/zstd/dist/; revision=316987
* | Fix WITHOUT_NLS build after r342551.Konstantin Belousov2018-12-281-1/+1
| | | | | | | | | | | | | | | | | | Reported by: gj MFC after: 13 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=342574
* | libm: Include float.h to get LDBL_MANT_DIGJustin Hibbits2018-12-283-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The long double aliases of double functions are only exposed as aliases if LDBL_MANT_DIG is 53 (same as DBL_MANT_DIG). Without float.h included these files were not exposing weak aliases as expected, leading to link failures if programs use the *l functions. This should fix editors/calligra on targets with 64-bit long double, which uses erfl and erfcl. Found on powerpc64. Reviewed by: kargl@ Notes: svn path=/head/; revision=342563
* | Bump sys_errlist size to keep ABI backward-compatible for some time.Konstantin Belousov2018-12-273-10/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Addition of the new errno values requires adding new elements to sys_errlist array, which is actually ABI-incompatible, since ELF records the object size. Expand array in advance to 150 elements so that we have our users to go over the issue only once, at least until more than 53 new errors are added. I did not bumped the symbol version, same as it was not done for previous increases of the array size. Runtime linker only copies as much data into binary object on copy relocation as the binary'object specifies. This is not fixable for binaries which access sys_errlist directly. While there, correct comment and calculation of the temporary buffer size for the message printed for unknown error. The on-stack buffer is used only for the number and delimiter since r108603. Requested by: mckusick Reviewed by: mckusick, yuripv MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D18656 Notes: svn path=/head/; revision=342551
* | gai_strerror() - Update string error messages according to RFC 3493.Pedro F. Giffuni2018-12-232-28/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Error messages in gai_strerror(3) vary largely among OSs. For new software we largely replaced the obsoleted EAI_NONAME and with EAI_NODATA but we never updated the corresponding message to better match the intended use. We also have references to ai_flags and ai_family which are not very descriptive for non-developer end users. Bring new new error messages based on informational RFC 3493, which has obsoleted RFC 2553, and make them consistent among the header adn manpage. MFC after: 1 month Differentical Revision: D18630 Notes: svn path=/head/; revision=342379
* | regcomp: revert part of r341838 which turned out to be unrelatedYuri Pankov2018-12-191-11/+3
| | | | | | | | | | | | | | | | | | | | | | and caused issues with search in less. PR: 234066 Reviewed by: pfg Differential revision: https://reviews.freebsd.org/D18611 Notes: svn path=/head/; revision=342265
* | Allow multi-byte thousands separators in strfmon(3)Conrad Meyer2018-12-193-14/+95
| | | | | | | | | | | | | | | | | | | | PR: 234010 Reported by: Jon Tejnung <jon AT herrskogen.se> Reviewed by: yuripv Differential Revision: https://reviews.freebsd.org/D18605 Notes: svn path=/head/; revision=342260
| |
| \
| \
| \
| \
| \
| \
| \
| \
| \
*---------. \ Update clang, llvm, lld, lldb, compiler-rt and libc++ version number toDimitry Andric2018-12-153-3/+3
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7.0.1 release r349250. There were no functional changes since the 7.0.1 rc3 import. PR: 230240, 230355 Relnotes: yes MFC after: 2 months X-MFC-With: r341825 Notes: svn path=/head/; revision=342123
| * | | | | | | Vendor import of clang 7.0.1 release r349250:vendor/clang/clang-release_701-r349250vendor/clang-70Dimitry Andric2018-12-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_701/final@349250 Notes: svn path=/vendor/clang/dist-release_70/; revision=342117 svn path=/vendor/clang/clang-release_701-r349250/; revision=342118; tag=vendor/clang/clang-release_701-r349250
* | | | | | | | Allow bootstrapping libnv on macOS and LinuxAlex Richardson2018-12-141-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MacOS/Linux do not define struct cmsgcred but we need to bootstrap libnv when building on non-FreeBSD systems. Since they are not used during bootstrap we can just omit these two functions there. Reviewed By: emaste Differential Revision: https://reviews.freebsd.org/D18472 Notes: svn path=/head/; revision=342101