summaryrefslogtreecommitdiff
path: root/lib/libc
Commit message (Collapse)AuthorAgeFilesLines
...
* ftw.3: Add examplesMateusz Piotrowski2020-03-051-1/+60
| | | | | | | | | | | | PR: 173448 [1] Submitted by: fernape@ (previous version) [1] Reviewed by: jilles Approved by: bcr (mentor) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D21750 Notes: svn path=/head/; revision=358674
* [PowerPC64] restrict memcpy/bcopy optimization to POWER ISA >=V2.07Alfredo Dal'Ava Junior2020-03-051-1/+6
| | | | | | | | | | | | | | | | | | | | VSX instructions were added in POWER ISA V2.06 (POWER7), but it requires data to be word-aligned. Such requirement was removed in ISA V2.07B (POWER8). Since current memcpy/bcopy optimization relies on VSX instructions handling misalignment transparently, and kernel doesn't currently implement an alignment error handler, this optimzation should be restrict to ISA V2.07 onwards. SIGBUS on stxvd2x instruction was reproduced in POWER7+ CPU. Reviewed by: luporl, jhibbits, bdragon Approved by: jhibbits (mentor) Differential Revision: https://reviews.freebsd.org/D23958 Notes: svn path=/head/; revision=358672
* thr_self.2: Fix some typos in the thread identifier rangeMateusz Piotrowski2020-03-031-2/+2
| | | | | | | | | Reported by: kaktus Approved by: bcr (mentor) Differential Revision: https://reviews.freebsd.org/D23936 Notes: svn path=/head/; revision=358570
* Return ENOTSUP for mmap/mprotect if prot not subset of prot_maxEd Maste2020-02-262-8/+8
| | | | | | | | | | | | | | | | | | | From POSIX, [ENOTSUP] The implementation does not support the combination of accesses requested in the prot argument. This fits the case that prot contains permissions which are not a subset of prot_max. Reviewed by: brooks, cem Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D23843 Notes: svn path=/head/; revision=358355
* Remove sparc64 specific parts of libc.Warner Losh2020-02-2659-5763/+4
| | | | | | | | | | | | | | | Also update comments for which architectures use 128 bit long doubles, as appropriate. The softfloat specialization routines weren't updated since they appear to be from an upstream source which we may want to update in the future to get a more favorable license. Reviewed by: emaste@ Differential Revision: https://reviews.freebsd.org/D23658 Notes: svn path=/head/; revision=358348
* mprotect.2: sort errors alphabeticallyEd Maste2020-02-261-6/+6
| | | | | | | | Reported by: brooks MFC after: 3 days Notes: svn path=/head/; revision=358344
* truncate(2): extending the file is required by POSIX 2008Eric van Gyzen2020-02-201-3/+6
| | | | | | | | | | | | | Update the man page to mention that extending a file with truncate(2) is required by POSIX as of 2008. Reviewed by: bcr MFC after: 2 weeks Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D23354 Notes: svn path=/head/; revision=358186
* vfs: add realpathat syscallMateusz Guzik2020-02-201-1/+10
| | | | | | | | | | | | | | | | | | realpath(3) is used a lot e.g., by clang and is a major source of getcwd and fstatat calls. This can be done more efficiently in the kernel. This works by performing a regular lookup while saving the name and found parent directory. If the terminal vnode is a directory we can resolve it using usual means. Otherwise we can use the name saved by lookup and resolve the parent. See the review for sample syscall counts. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D23574 Notes: svn path=/head/; revision=358172
* Add casts and L suffixes to libc quad support, to work around variousDimitry Andric2020-02-179-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -Werror warnings from clang 10.0.0, such as: lib/libc/quad/fixdfdi.c:57:12: error: implicit conversion from 'long long' to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Werror,-Wimplicit-int-float-conversion] if (x >= QUAD_MAX) ~~ ^~~~~~~~ /usr/obj/usr/src/powerpc.powerpc/tmp/usr/include/sys/limits.h:89:19: note: expanded from macro 'QUAD_MAX' #define QUAD_MAX (__QUAD_MAX) /* max value for a quad_t */ ^~~~~~~~~~ /usr/obj/usr/src/powerpc.powerpc/tmp/usr/include/machine/_limits.h:91:20: note: expanded from macro '__QUAD_MAX' #define __QUAD_MAX __LLONG_MAX /* max value for a quad_t */ ^~~~~~~~~~~ /usr/obj/usr/src/powerpc.powerpc/tmp/usr/include/machine/_limits.h:75:21: note: expanded from macro '__LLONG_MAX' #define __LLONG_MAX 0x7fffffffffffffffLL /* max value for a long long */ ^~~~~~~~~~~~~~~~~~~~ and many instances of: lib/libc/quad/fixunsdfdi.c:73:17: error: shift count >= width of type [-Werror,-Wshift-count-overflow] toppart = (x - ONE_HALF) / ONE; ^~~~~~~~ lib/libc/quad/fixunsdfdi.c:45:19: note: expanded from macro 'ONE_HALF' #define ONE_HALF (ONE_FOURTH * 2.0) ^~~~~~~~~~ lib/libc/quad/fixunsdfdi.c:44:23: note: expanded from macro 'ONE_FOURTH' #define ONE_FOURTH (1 << (LONG_BITS - 2)) ^ ~~~~~~~~~~~~~~~ lib/libc/quad/fixunsdfdi.c:73:29: error: shift count >= width of type [-Werror,-Wshift-count-overflow] toppart = (x - ONE_HALF) / ONE; ^~~ lib/libc/quad/fixunsdfdi.c:46:15: note: expanded from macro 'ONE' #define ONE (ONE_FOURTH * 4.0) ^~~~~~~~~~ lib/libc/quad/fixunsdfdi.c:44:23: note: expanded from macro 'ONE_FOURTH' #define ONE_FOURTH (1 << (LONG_BITS - 2)) ^ ~~~~~~~~~~~~~~~ Notes: svn path=/projects/clang1000-import/; revision=358042
* Add AT_BSDFLAGS support to _elf_aux_info(3).Konstantin Belousov2020-02-091-1/+12
| | | | | | | | | | Tested by: pho Disscussed with: cem, emaste, jilles Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D12773 Notes: svn path=/head/; revision=357696
* Add a way to manage thread signal mask using shared word, instead of syscall.Konstantin Belousov2020-02-093-0/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new syscall sigfastblock(2) is added which registers a uint32_t variable as containing the count of blocks for signal delivery. Its content is read by kernel on each syscall entry and on AST processing, non-zero count of blocks is interpreted same as the signal mask blocking all signals. The biggest downside of the feature that I see is that memory corruption that affects the registered fast sigblock location, would cause quite strange application misbehavior. For instance, the process would be immune to ^C (but killable by SIGKILL). With consumers (rtld and libthr added), benchmarks do not show a slow-down of the syscalls in micro-measurements, and macro benchmarks like buildworld do not demonstrate a difference. Part of the reason is that buildworld time is dominated by compiler, and clang already links to libthr. On the other hand, small utilities typically used by shell scripts have the total number of syscalls cut by half. The syscall is not exported from the stable libc version namespace on purpose. It is intended to be used only by our C runtime implementation internals. Tested by: pho Disscussed with: cem, emaste, jilles Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D12773 Notes: svn path=/head/; revision=357693
* memset.3: better fix previous typoEitan Adler2020-02-081-2/+3
| | | | | | | | | Upon re-reading the whole sentence this is a better fix. MFC with: r357681 Notes: svn path=/head/; revision=357683
* memset.3: fix a a duplicate wordEitan Adler2020-02-081-1/+1
| | | | Notes: svn path=/head/; revision=357681
* typo: s/impelmentation/implementation/.Pedro F. Giffuni2020-02-072-2/+2
| | | | | | | No functional change Notes: svn path=/head/; revision=357654
* Tidy the _set_tp function for RISC-V.John Baldwin2020-02-061-3/+4
| | | | | | | | | | | | | | - Use a constant for the offset instead of a magic number. - Use an addi instruction that writes to tp directly instead of a mv that writes the result of a compiler-generated addi. Reviewed by: mhorne MFC after: 1 week Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D23521 Notes: svn path=/head/; revision=357643
* libssp_nonshared: use only on i386 and ppcEd Maste2020-02-051-2/+4
| | | | | | | | | | | libssp_nonshared.a defines one symbol, __stack_chk_fail_local. This is used only on i386 and powerpc; other archs emit calls directly to __stack_chk_fail. Simplify linking on other archs by omitting it. PR: 242941 [exp-run] Notes: svn path=/head/; revision=357592
* Fix a use of an uninitialized pointer in xdr_rpcbs_rmtcalllist().Mark Johnston2020-02-051-80/+79
| | | | | | | | | | | | | This appears to have been introduced in r173763. Also fix the confusing indentation that probably led to the bug in the first place. PR: 243759 Diagnosed by: martin@lispworks.com MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=357576
* Improve validation of the sockaddr length in iruserok_sa().Mark Johnston2020-02-051-2/+2
| | | | | | | | | | | Negative numbers are not valid sockaddr lengths. PR: 243747 Submitted by: Andrew Reiter <areiter@veracode.com> MFC after: 1 week Notes: svn path=/head/; revision=357575
* libc: provide fputc_unlockedKyle Evans2020-02-022-3/+12
| | | | | | | | | | | | | | Among the same justification as the other stdio _unlocked; in addition to an inline version in <stdio.h>, we must provide a function in libc as well for the functionality. This fixes the lang/gcc* builds, which want to use the symbol from libc. PR: 243810 Reported by: antoine, swills, Michael <michael.adm gmail com> X-MFC-With: r357284 Notes: svn path=/head/; revision=357419
* Provide O_SEARCHKyle Evans2020-02-022-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | O_SEARCH is defined by POSIX [0] to open a directory for searching, skipping permissions checks on the directory itself after the initial open(). This is close to the semantics we've historically applied for O_EXEC on a directory, which is UB according to POSIX. Conveniently, O_SEARCH on a file is also explicitly undefined behavior according to POSIX, so O_EXEC would be a fine choice. The spec goes on to state that O_SEARCH and O_EXEC need not be distinct values, but they're not defined to be the same value. This was pointed out as an incompatibility with other systems that had made its way into libarchive, which had assumed that O_EXEC was an alias for O_SEARCH. This defines compatibility O_SEARCH/FSEARCH (equivalent to O_EXEC and FEXEC respectively) and expands our UB for O_EXEC on a directory. O_EXEC on a directory is checked in vn_open_vnode already, so for completeness we add a NOEXECCHECK when O_SEARCH has been specified on the top-level fd and do not re-check that when descending in namei. [0] https://pubs.opengroup.org/onlinepubs/9699919799/ Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D23247 Notes: svn path=/head/; revision=357412
* rand(3): Replace implementation with one backed by random(3) algorithmConrad Meyer2020-02-016-85/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | rand(3)'s standard C API is extremely limiting, but we can do better than the historical 32-bit state Park-Miller LCG we've shipped since 2001: r73156. The justification provided at the time for not using random(3) was that rand_r(3) could not be made to use the same algorithm. That is still true. However, the irrelevance of rand_r(3) is increasingly obvious. Since that time, POSIX has marked the interface obsolescent. rand_r(3) never became part of the standard C library. If not for API compatibility reasons, I would just remove rand_r(3) entirely. So, I do not believe it is a problem for rand_r(3) and rand(3) to diverge. The 12 ABI is maintained with compatibility definitions, but this revision does subtly change the API of rand(3). The sequences of pseudorandom numbers produced in programs built against new versions of libc will differ from programs built against prior versions of libc. Reviewed by: kevans, markm MFC after: no Relnotes: yes Differential Revision: https://reviews.freebsd.org/D23290 Notes: svn path=/head/; revision=357382
* amd64: sync up libc memcmp with the kernel version (r357309)Mateusz Guzik2020-01-301-56/+47
| | | | Notes: svn path=/head/; revision=357310
* stdio: provide _unlocked variants of fflush, fputc, fputs, fread, fwriteKyle Evans2020-01-3011-16/+102
| | | | | | | | | | | | | | | | fflush_unlocked is currently desired in ports by sysutils/metalog, and redefined as the locked fflush. fputc_unlocked, fputs_unlocked, fread_unlocked, and fwrite_unlocked are currently desired in ports by devel/elfutils, and redefined as the locked fputs, fread, and fwrite respectively. Reviewed by: kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D23336 Notes: svn path=/head/; revision=357284
* amd64: sync up libc memcmp with the kernel version (r357208)Mateusz Guzik2020-01-291-69/+163
| | | | Notes: svn path=/head/; revision=357239
* libc: remove forward compat added in r356830 for F_ISUNIONSTACKMateusz Guzik2020-01-291-8/+3
| | | | Notes: svn path=/head/; revision=357238
* random(3): Abstract routines into _r versions on explicit stateConrad Meyer2020-01-242-79/+163
| | | | | | | | | | | | | | | | | | | | | The existing APIs simply pass the implicit global state to the _r variants. No functional change. Note that these routines are not exported from libc and are not intended to be exported. If someone wished to export them from libc (which I would discourage), they should first be modified to match the inconsistent parameter type / order of the glibc public interfaces of the same names. I know Ravi will ask, so: the eventual goal of this series is to replace rand(3) with the implementation from random(3) (D23290). However, I'd like to wait a bit longer on that one to see if more feedback emerges. Reviewed by: kevans, markm Differential Revision: https://reviews.freebsd.org/D23289 Notes: svn path=/head/; revision=357066
* random(3): Abstract state into a single context objectConrad Meyer2020-01-241-99/+132
| | | | | | | | | | No functional change. Reviewed by: kevans, markm Differential Revision: https://reviews.freebsd.org/D23288 Notes: svn path=/head/; revision=357065
* [PowerPC] libc backwards compatibility shim for auxv changeBrandon Bergren2020-01-221-0/+102
| | | | | | | | | | | | | | | | | | | | | | | | | As part of the FreeBSD powerpc* flag day (1300070), the auxv numbering was changed to match every other platform. See D20799 for more details on that change. While the kernel and rtld were adapted, libc was not, so old dynamic binaries broke for reasons other than the ABI change on powerpc64. Since it's possible to support nearly everything regarding old binaries by adding compatibility code to libc (as besides rtld, it is the main point where auxv is digested), we might as well provide compatibility code. The only unhandled case remaining should be "new format libraries that call elf_aux_info() which are dynamically linked to by old-format binaries", which should be quite rare. Reviewed by: jhibbits Sponsored by: Tag1 Consulting, Inc. Differential Revision: https://reviews.freebsd.org/D23096 Notes: svn path=/head/; revision=356966
* posix_spawn: mark error as volatileKyle Evans2020-01-211-1/+1
| | | | | | | | | | | | | | | | | | | In the case of an error, the RFSPAWN'd thread will write back to psa->error with the correct exit code. Mark this as volatile as the return value is being actively dorked up for erroneous exits on !x86. This fixes the following tests, tested on aarch64 (only under qemu, at the moment): - posix_spawn/spawn_test:t_spawn_missing - posix_spawn/spawn_test:t_spawn_nonexec - posix_spawn/spawn_test:t_spawn_zero Reported by: mikael MFC after: 3 days Notes: svn path=/head/; revision=356951
* Correct a misleading indent.Brooks Davis2020-01-211-2/+1
| | | | | | | | | | This dates to before the beginning of our repo and was found clang 10. MFC after: 3 days Sponsored by: DARPA Notes: svn path=/head/; revision=356942
* random.3: Some minor improvements to wording/clarityConrad Meyer2020-01-201-44/+37
| | | | Notes: svn path=/head/; revision=356935
* libc: Delete unused rand.c ifdef TEST codeConrad Meyer2020-01-201-34/+0
| | | | Notes: svn path=/head/; revision=356934
* qsort.3: Bump Dd and note that Annex K is optionalConrad Meyer2020-01-201-1/+8
| | | | Notes: svn path=/head/; revision=356922
* Add qsort_r(3) regression test.Edward Tomasz Napierala2020-01-202-0/+93
| | | | | | | | | MFC after: 2 weeks Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D23206 Notes: svn path=/head/; revision=356910
* Add qsort_s(3). Apart from the constraints, it also makes it easierEdward Tomasz Napierala2020-01-207-10/+385
| | | | | | | | | | | | | to port software written for Linux variant of qsort_r(3). Reviewed by: kib, arichardson MFC after: 2 weeks Relnotes: yes Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D23174 Notes: svn path=/head/; revision=356909
* libc: fix build after r356830Mateusz Guzik2020-01-171-1/+1
| | | | | | | | | | Apparently building with 'cd lib/libc; make all install' is not the same as buildworld. Reported by: Michael Butler Notes: svn path=/head/; revision=356832
* vfs: provide F_ISUNIONSTACK as a kludge for libcMateusz Guzik2020-01-172-7/+25
| | | | | | | | | | | | Prior to introduction of this op libc's readdir would call fstatfs(2), in effect unnecessarily copying kilobytes of data just to check fs name and a mount flag. Reviewed by: kib (previous version) Differential Revision: https://reviews.freebsd.org/D23162 Notes: svn path=/head/; revision=356830
* libc: assume no union stack if fstatfs fails in readdirMateusz Guzik2020-01-171-7/+6
| | | | | | | | | | The failure is not really expected, but should it happen it's better to get some data. Suggested by: kib Notes: svn path=/head/; revision=356829
* [PPC64] memcpy/memmove/bcopy optimizationLeandro Lupori2020-01-1510-0/+648
| | | | | | | | | | | | | | | | | | | | For copies shorter than 512 bytes, the data is copied using plain ld/std instructions. For 512 bytes or more, the copy is done in 3 phases: Phase 1: copy from the src buffer until it's aligned at a 16-byte boundary Phase 2: copy as many aligned 64-byte blocks from the src buffer as possible Phase 3: copy the remaining data, if any In phase 2, this code uses VSX instructions when available. Otherwise, it uses ldx/stdx. Submitted by: Luis Pires <lffpires_ruabrasil.org> (original version) Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D15118 Notes: svn path=/head/; revision=356767
* [PPC64] strncpy optimizationLeandro Lupori2020-01-155-2/+226
| | | | | | | | | | | | Assembly optimization of strncpy for PowerPC64, using double words instead of bytes to copy strings. Submitted by: Leonardo Bianconi <leonardo.bianconi_eldorado.org.br> (original version) Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D15369 Notes: svn path=/head/; revision=356766
* [PPC64] strcpy optimizationLeandro Lupori2020-01-155-1/+240
| | | | | | | | | | | | Assembly optimization of strcpy for PowerPC64, using double words instead of bytes to copy strings. Submitted by: Leonardo Bianconi <leonardo.bianconi_eldorado.org.br> (original version) Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D15368 Notes: svn path=/head/; revision=356765
* getrandom(2): Add Linux GRND_INSECURE API flagConrad Meyer2020-01-121-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Treat it as a synonym for GRND_NONBLOCK. The reasoning is this: We have two choices for handling Linux's GRND_INSECURE API flag. 1. We could ignore it completely (like GRND_RANDOM). However, this might produce the surprising result of GRND_INSECURE requests blocking, when the Linux API does not block. 2. Alternatively, we could treat GRND_INSECURE requests as requests for GRND_NONBLOCk. Here, the surprising result for Linux programs is that invocations with unseeded random(4) will produce EAGAIN, rather than garbage. Honoring the flag in the way Linux does seems fraught. If we actually use the output of a random(4) implementation prior to seeding, we leak some entropy (in an information theory and also practical sense) from what will be the initial seed to attackers (or allow attackers to arbitrary DoS initial seeding, if we don't leak). This seems unacceptable -- it defeats the purpose of blocking on initial seeding. Secondary to that concern, before seeding we may have arbitrarily little entropy collected; producing output from zero or a handful of entropy bits does not seem particularly useful to userspace. If userspace can accept garbage, insecure, non-random bytes, they can create their own insecure garbage with srandom(time(NULL)) or similar. Any program which would be satisfied with a 3-bit key CTR stream has no need for CSPRNG bytes. So asking the kernel to produce such an output from the secure getrandom(2) API seems inane. For now, we've elected to emulate GRND_INSECURE as an alternative spelling of GRND_NONBLOCK (2). Consider this API not-quite stable for now. We guarantee it will never block. But we will attempt to monitor actual port uptake of this bizarre API and may revise our plans for the unseeded behavior (prior stable/13 branching). Approved by: csprng(markm), manpages(bcr) See also: https://lwn.net/ml/linux-kernel/cover.1577088521.git.luto@kernel.org/ See also: https://lwn.net/ml/linux-kernel/20200107204400.GH3619@mit.edu/ Differential Revision: https://reviews.freebsd.org/D23130 Notes: svn path=/head/; revision=356667
* libc: Fix a few bugs in the xlocale collation code.Mark Johnston2020-01-092-3/+8
| | | | | | | | | | | | | | | | | | | | - Fix checks for mmap() failures. [1] - Set the "map" and "maplen" fields of struct xlocale_collate so that the table destructor actually does something. - Free an already-mapped collation file before loading a new one into the global table. - Harmonize the prototype and definition of __collate_load_tables_l() by adding the "static" qualifier to the latter. PR: 243195 Reported by: cem [1] Reviewed by: cem, yuripv MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D23109 Notes: svn path=/head/; revision=356569
* posix_fallocate: push vnop implementation into the fileop layerKyle Evans2020-01-081-2/+3
| | | | | | | | | | | This opens the door for other descriptor types to implement posix_fallocate(2) as needed. Reviewed by: kib, bcr (manpages) Differential Revision: https://reviews.freebsd.org/D23042 Notes: svn path=/head/; revision=356510
* Update libssp paths in various Makefile.depend* filesKyle Evans2020-01-061-1/+1
| | | | | | | | | I've been advised that the model that uses these are fairly resilient, but we do know the proper path to use (or remove, in the case of ^/targets/...), so go ahead and update them to reflect that. Notes: svn path=/head/; revision=356422
* ssp: knock out some trivial warnings that come up with WARNS=6Kyle Evans2020-01-041-3/+5
| | | | | | | | | | | | | | | A future commit will rebuild this as part of libssp. The exact warnings are fairly trivially fixed: - No previous declaration for __stack_chk_guard - idx is the wrong type, nitems yields a size_t - Casting away volatile on the tmp_stack_chk_guard directly is a no-no. Reviewed by: kib, emaste, pfg, Oliver Pinter (earlier version) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D22943 Notes: svn path=/head/; revision=356355
* sysctlbyname(2): Remove temporary compatibility layerPawel Biernacki2019-12-291-14/+3
| | | | | | | | | | | | | Remove temporary compatibility layer introduced in r351729. More that 3 months should be enough for everybody who runs HEAD to upgrade to the new kernel already. Reviewed by: imp, mjg (mentor) Approved by: mjg (mentor) Differential Revision: https://reviews.freebsd.org/D22958 Notes: svn path=/head/; revision=356179
* arm/ffs.S: remove stale comment.Pedro F. Giffuni2019-12-281-3/+0
| | | | | | | | | We already use the CLZ instruction. Discussed with: andrew Notes: svn path=/head/; revision=356141
* Move all sources from the llvm project into contrib/llvm-project.Dimitry Andric2019-12-201-1/+1
| | | | | | | | | | | | | 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
* localeconv: correct grouping and mon_grouping per C/POSIXEd Maste2019-12-191-1/+1
| | | | | | | | | | | grouping and mon_grouping should be "" in the C locale. PR: 172215 MFC after: 6 weeks Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=355914