summaryrefslogtreecommitdiff
path: root/lib/libc
Commit message (Collapse)AuthorAgeFilesLines
* Fix printing of long doubles to match the size thatAndrew Gallatin2004-07-192-11/+8
| | | | | | | | | | | | | | | | gcc is using. This fixes devstat consumers (like vmstat, iostat, systat) so they don't print crazy zillion digit numbers for disk transfers and bandwidth. According to gcc, long doubles are 64-bits, rather than 128 bits like the SVR4 ABI spec wants them to be.. Note that MacOSX also treats long doubles as 64-bits, and not 128 bits, so we are in good company. Reviewed by: das Approved by: grehan Notes: svn path=/head/; revision=132421
* Add signalcontext, required by KSE.Peter Grehan2004-07-192-1/+104
| | | | Notes: svn path=/head/; revision=132399
* The new program counter should go into the trapframe's srr0 andPeter Grehan2004-07-191-1/+1
| | | | | | | not the link register, which was lucky enough to work. Notes: svn path=/head/; revision=132398
* Update paths to reg*.c and regex2.h. Add a target to build regex.h.Tim J. Robbins2004-07-191-1/+3
| | | | Notes: svn path=/head/; revision=132390
* Update for removal of cclass.h. Trim some useless targets. Invoke mkhTim J. Robbins2004-07-191-34/+6
| | | | | | | with "sh mkh" so it works if the script is not executable. Notes: svn path=/head/; revision=132389
* Update for recent changes to struct re_guts. Disable printing the contentsTim J. Robbins2004-07-191-38/+5
| | | | | | | of OANYOF sets for the moment. Notes: svn path=/head/; revision=132388
* Remove unused files.Tim J. Robbins2004-07-192-12/+0
| | | | Notes: svn path=/head/; revision=132387
* Make FLT_ROUNDS correctly reflect the dynamic rounding mode.David Schultz2004-07-196-3/+80
| | | | Notes: svn path=/head/; revision=132383
* Fix two bugs in the signbit() macro, which was implemented last year:David Schultz2004-07-193-100/+2
| | | | | | | | | | | - It was added to libc instead of libm. Hopefully no programs rely on this mistake. - It didn't work properly on large long doubles because its argument was converted to type double, resulting in undefined behavior. Notes: svn path=/head/; revision=132382
* Replace seven nominally MD implementations of frexp() that are brokenDavid Schultz2004-07-1816-456/+65
| | | | | | | for subnormals with one implementation that works. Notes: svn path=/head/; revision=132366
* Remove claim of conformance to IEEE Std. 1003.2. Replace it with a listTim J. Robbins2004-07-181-7/+12
| | | | | | | | | | of features required by the standard that the current implementation does not support. PR: 57911 (related) Notes: svn path=/head/; revision=132349
* Remove claim of conformance to IEEE Std. 1003.2. Replace it with a listTim J. Robbins2004-07-181-3/+7
| | | | | | | | | | of features required by the standard that the current implementation does not support. PR: 57911 Notes: svn path=/head/; revision=132343
* Fix typo: carat -> caret.Tim J. Robbins2004-07-171-1/+1
| | | | Notes: svn path=/head/; revision=132288
* Document the MSG_DONTWAIT flag.Hartmut Brandt2004-07-161-1/+8
| | | | Notes: svn path=/head/; revision=132257
* Add a cross reference to fgetwln(3).Tim J. Robbins2004-07-161-0/+1
| | | | Notes: svn path=/head/; revision=132243
* Add fgetwln(), a wide character version of fgetln().Tim J. Robbins2004-07-163-2/+192
| | | | Notes: svn path=/head/; revision=132242
* Rename slbexpand() to __slbexpand() and make it available outsideTim J. Robbins2004-07-162-4/+5
| | | | | | | of fgetln.c (non-static). Notes: svn path=/head/; revision=132241
* Clarify getfsstat(2) usage.Alfred Perlstein2004-07-161-1/+6
| | | | | | | | | | | | The getfsstat(2) function expects a buffer and a count, and returns a count. The confusing part is that the count it takes is a byte count, while the return value is a count of the number of structures it has filled out. Spell this out. Notes: svn path=/head/; revision=132231
* Remove an entry from the BUGS section: we have multibyte characterTim J. Robbins2004-07-121-2/+0
| | | | | | | support now. Notes: svn path=/head/; revision=132031
* Make regular expression matching aware of multibyte characters. The generalTim J. Robbins2004-07-125-324/+478
| | | | | | | | | | | | | | | | | | | | idea is that we perform multibyte->wide character conversion while parsing and compiling, then convert byte sequences to wide characters when they're needed for comparison and stepping through the string during execution. As with tr(1), the main complication is to efficiently represent sets of characters in bracket expressions. The old bitmap representation is replaced by a bitmap for the first 256 characters combined with a vector of individual wide characters, a vector of character ranges (for [A-Z] etc.), and a vector of character classes (for [[:alpha:]] etc.). One other point of interest is that although the Boyer-Moore algorithm had to be disabled in the general multibyte case, it is still enabled for UTF-8 because of its self-synchronizing nature. This greatly speeds up matching by reducing the number of multibyte conversions that need to be done. Notes: svn path=/head/; revision=132019
* Add a new error code, REG_ILLSEQ, to indicate that a regular expressionTim J. Robbins2004-07-122-1/+5
| | | | | | | contains an illegal multibyte character sequence. Notes: svn path=/head/; revision=132017
* Document the new PT_LWPINFO request. In fact, the request is so newMarcel Moolenaar2004-07-121-0/+19
| | | | | | | | it hasn't even been implemented yet. I just wanted to be the first to try a new approach to development ;-) Notes: svn path=/head/; revision=132012
* Remove incomplete support for multi-character collating elements. RemoveTim J. Robbins2004-07-112-262/+8
| | | | | | | unused character category calculations. Notes: svn path=/head/; revision=131973
* Unbreak alpha: On alpha a long double is the same as a double andMarcel Moolenaar2004-07-101-0/+4
| | | | | | | | | consequently the exponent is only 11 bits. Testing whether the exponent equals 32767 in that case only effects to compiler warnings and thus build breakage. Notes: svn path=/head/; revision=131898
* Add fast paths for conversion of plain ASCII characters.Tim J. Robbins2004-07-091-0/+13
| | | | Notes: svn path=/head/; revision=131881
* Slightly reorganize and simplify.Tim J. Robbins2004-07-091-24/+11
| | | | Notes: svn path=/head/; revision=131880
* Bump document date for recent changes.David Schultz2004-07-091-1/+1
| | | | | | | Prodded by: ru Notes: svn path=/head/; revision=131859
* Document these functions as being in libm, not libc. Some of themDavid Schultz2004-07-091-4/+1
| | | | | | | | | | *are* in libc for historical reasons, but programmers should not rely on that fact. Also remove a BUGS section that is not relevant here. Notes: svn path=/head/; revision=131853
* Implement the classification macros isfinite(), isinf(), isnan(), andDavid Schultz2004-07-0917-501/+141
| | | | | | | | | | | | | | | | | | | | | | | | isnormal() the hard way, rather than relying on fpclassify(). This is a lose in the sense that we need a total of 12 functions, but it is necessary for binary compatibility because we have never bumped libm's major version number. In particular, isinf(), isnan(), and isnanf() were BSD libc functions before they were C99 macros, so we can't reimplement them in terms of fpclassify() without adding a dependency on libc.so.5. I have tried to arrange things so that programs that could be compiled in FreeBSD 4.X will generate the same external references when compiled in 5.X. At the same time, the new macros should remain C99-compliant. The isinf() and isnan() functions remain in libc for historical reasons; however, I have moved the functions that implement the macros isfinite() and isnormal() to libm where they belong. Moreover, half a dozen MD versions of isinf() and isnan() have been replaced with MI versions that work equally well. Prodded by: kris Notes: svn path=/head/; revision=131852
* Eliminate some magic numbers and correct description of _PC_NO_TRUNC.Garrett Wollman2004-07-082-20/+45
| | | | | | | | Slight emendation to _PC_CHOWN_RESTRICTED, which is in a very similar boat. Notes: svn path=/head/; revision=131836
* Add a function to iterate over all characters in a particular characterTim J. Robbins2004-07-083-2/+150
| | | | | | | | | class. This is necessary in order to implement tr(1) efficiently in multibyte locales, since the brute force method of finding all characters in a class is infeasible with a 32-bit (or wider) wchar_t. Notes: svn path=/head/; revision=131787
* there's no such define as KERN_NAME_MAX, change to _POSIX_NAME_MAX.Alfred Perlstein2004-07-071-1/+1
| | | | Notes: svn path=/head/; revision=131762
* Markup nits.Ruslan Ermilov2004-07-071-2/+4
| | | | Notes: svn path=/head/; revision=131758
* Fixed markup.Ruslan Ermilov2004-07-071-16/+22
| | | | Notes: svn path=/head/; revision=131757
* mdoc(7) fixes.Ruslan Ermilov2004-07-071-2/+3
| | | | Notes: svn path=/head/; revision=131754
* Move the return value information about the getenv(3) library functionHiten Pandya2004-07-061-4/+10
| | | | | | | | | | | | under the RETURN VALUES section so it is consistent with others. Cleanup the return value text for getenv(3) a little while I am here. PR: docs/58033 MFC after: 3 days Notes: svn path=/head/; revision=131728
* Keep it sync with OpenBSD:Andrey A. Chernov2004-07-061-3/+4
| | | | | | | | | | An optional argument cannot start with '-', even if permutation is disabled. Obtained from: OpenBSD getopt_long.c v1.17 Notes: svn path=/head/; revision=131710
* Document incorrect handling of multibyte characters.Tim J. Robbins2004-07-061-1/+3
| | | | Notes: svn path=/head/; revision=131692
* Add implementations of ftw(3) and nftw(3) and the corresponding headerDavid Schultz2004-07-052-2/+211
| | | | | | | | | | | ftw.h. This is the implementation written by Joel Baker <fenton@debian.org> for inclusion in NetBSD, but with several bugfixes. Obtained from: Debian Notes: svn path=/head/; revision=131661
* Documentation for ftw(3) and nftw(3).David Schultz2004-07-051-0/+210
| | | | | | | Obtained from: OpenBSD Notes: svn path=/head/; revision=131660
* Fix the NAME section making whatis(1) happy in particular.Ruslan Ermilov2004-07-056-16/+13
| | | | Notes: svn path=/head/; revision=131635
* Markup fixes.Ruslan Ermilov2004-07-053-128/+180
| | | | Notes: svn path=/head/; revision=131611
* Markup nits.Ruslan Ermilov2004-07-0513-70/+91
| | | | Notes: svn path=/head/; revision=131608
* Sort SEE ALSO references (in dictionary order, ignoring case).Ruslan Ermilov2004-07-047-7/+7
| | | | Notes: svn path=/head/; revision=131594
* Add commentary explaining why we return EBADF upon attempts to fflush() aColin Percival2004-07-041-0/+12
| | | | | | | | | read-only file. Discussed on: -current Notes: svn path=/head/; revision=131592
* Consistently use __inline instead of __inline__ as the former is an empty macroStefan Farfeleder2004-07-041-3/+3
| | | | | | | in <sys/cdefs.h> for compilers without support for inline. Notes: svn path=/head/; revision=131575
* Fixed markup.Ruslan Ermilov2004-07-033-13/+14
| | | | Notes: svn path=/head/; revision=131542
* Eliminate double whitespace.Ruslan Ermilov2004-07-0322-45/+48
| | | | Notes: svn path=/head/; revision=131539
* Mechanically kill hard sentence breaks.Ruslan Ermilov2004-07-02143-439/+851
| | | | Notes: svn path=/head/; revision=131504
* Follow previous change in makecontext. Use %esi to store next ucpDavid Xu2004-07-021-1/+1
| | | | | | | | pointer, here we keep orignal %ebp, so we can see where signal handler comes in and interrupt normal code. Notes: svn path=/head/; revision=131501