summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Add my initial work of libthread_db. The library is used by gdb to debugDavid Xu2004-07-159-0/+2030
| | | | | | | | threaded process. Current, only libpthread is supported, but macrel will work on it to support libthr and libc_r. Notes: svn path=/head/; revision=132172
* Style: rename 'mkdirpath' so it's clearer exactly what it does.Tim Kientzle2004-07-151-22/+27
| | | | | | | (To be precise, it creates the parent dir of the provided path.) Notes: svn path=/head/; revision=132168
* Copy lwp id to thread mailbox.David Xu2004-07-142-0/+2
| | | | Notes: svn path=/head/; revision=132128
* Call kse_switchin to switch context when being debugged.David Xu2004-07-139-55/+158
| | | | Notes: svn path=/head/; revision=132125
* Remove unused symbols.David Xu2004-07-132-28/+0
| | | | Notes: svn path=/head/; revision=132124
* Export necessary symbols to debugger.David Xu2004-07-131-7/+4
| | | | Notes: svn path=/head/; revision=132123
* Let debugger check signal, make SIGINFO works.David Xu2004-07-132-24/+50
| | | | Notes: svn path=/head/; revision=132122
* If _libkse_debug is not zero, activate thread mode.David Xu2004-07-132-0/+12
| | | | Notes: svn path=/head/; revision=132121
* Add code to support thread debugging.David Xu2004-07-1310-88/+292
| | | | | | | | | | | | | | | | | | 1. Add global varible _libkse_debug, debugger uses the varible to identify libpthread. when the varible is written to non-zero by debugger, libpthread will take some special action at context switch time, it will check TMDF_DOTRUNUSER flags, if a thread has the flags set by debugger, it won't be scheduled, when a thread leaves KSE critical region, thread checks the flag, if it was set, the thread relinquish CPU. 2. Add pq_first_debug to select a thread allowd to run by debugger. 3. Some names prefixed with _thr are renamed to _thread prefix. which is allowed to run by debugger. Notes: svn path=/head/; revision=132120
* 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
* kse_switchin ABI was changed in kernel.David Xu2004-07-122-6/+4
| | | | Notes: svn path=/head/; revision=132021
* 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
* Update the README notes to include the current list of supportedTim Kientzle2004-07-121-49/+47
| | | | | | | formats and remove some outdated comments about library limitations. Notes: svn path=/head/; revision=132003
* 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
* Correct a brain-o in extract_dir: mkdirpath() and mkdir(2) areTim Kientzle2004-07-101-2/+4
| | | | | | | not interchangable. Notes: svn path=/head/; revision=131902
* 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
* Remove the declaration of isnan() from this file. It is no longerDavid Schultz2004-07-092-6/+0
| | | | | | | needed as of math.h v1.40, and its prototype is incorrect here. Notes: svn path=/head/; revision=131865
* 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-0921-508/+287
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Define the following macros in terms of [gi]cc builtins when theDavid Schultz2004-07-091-0/+29
| | | | | | | | | | | | | | | | | | | | | builtins are available: HUGE_VAL, HUGE_VALF, HUGE_VALL, INFINITY, and NAN. These macros now expand to floating-point constant expressions rather than external references, as required by C99. Other compilers will retain the historical behavior. Note that it is not possible say, e.g. #define HUGE_VAL 1.0e9999 because the above may result in diagnostics at translation time and spurious exceptions at runtime. Hence the need for compiler support for these features. Also use builtins to implement the macros isgreater(), isgreaterequal(), isless(), islessequal(), islessgreater(), and isunordered() when such builtins are available. Although the old macros are correct, the builtin versions are much faster, and they avoid double-expansion problems. Notes: svn path=/head/; revision=131851
* 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 the new call control layer to the library and install the man pageHartmut Brandt2004-07-081-5/+11
| | | | | | | for the service access point (SAP) stuff now that it is really available. Notes: svn path=/head/; revision=131834
* 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
* I think this is my fourth complete rewrite of the dir-creationTim Kientzle2004-07-081-139/+213
| | | | | | | | | | | | | | | | | | code. <whew!> This version handles all of the following edge cases: * Restoring explicit dirs with 000 permissions (star fails this test) * Restore of implicit or explicit dirs when umask=777 (gtar and star both fail this test) * Restoring dir paths containing "." and ".." components This version initially creates all dirs with permission 700 (ignoring umask), then does a post-extract "fixup" pass to set the correct permissions (which may or may not depend on umask, depending on the restore flags and whether it's an explicit or implicit dir). Permissions are restored depth-first so that permissions within non-writable dirs can be correctly restored. (The depth-sorting does correctly account for dirs with ".." components.) Notes: svn path=/head/; revision=131779
* Make bluetooth compile on all platformsMaksim Yevmenkin2004-07-071-1/+2
| | | | | | | Reviewed by: imp, ru Notes: svn path=/head/; revision=131768
* 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 fixes.Ruslan Ermilov2004-07-071-16/+24
| | | | Notes: svn path=/head/; revision=131759
* 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
* Push WARNS back up to 6, but define NO_WERROR; I want the warts out in theDag-Erling Smørgrav2004-07-061-1/+2
| | | | | | | open where people can see them and hopefully fix them. Notes: svn path=/head/; revision=131700
* Introduce inline {ip,udp,tcp}_next() functions which take a pointer to anDag-Erling Smørgrav2004-07-0612-52/+77
| | | | | | | | | | {ip,udp,tcp} header and return a void * pointing to the payload (i.e. the first byte past the end of the header and any required padding). Use them consistently throughout libalias to a) reduce code duplication, b) improve code legibility, c) get rid of a bunch of alignment warnings. Notes: svn path=/head/; revision=131699
* Rewrite twowords() to access its argument through a char pointer and notDag-Erling Smørgrav2004-07-061-3/+10
| | | | | | | | | a short pointer. The previous implementation seems to be in a gray zone of the C standard, and GCC generates incorrect code for it at -O2 or higher on some platforms. Notes: svn path=/head/; revision=131693
* Document incorrect handling of multibyte characters.Tim J. Robbins2004-07-061-1/+3
| | | | Notes: svn path=/head/; revision=131692
* Temporarily lower WARNS to 3 while I figure out the alignment issues onDag-Erling Smørgrav2004-07-061-1/+1
| | | | | | | alpha. Notes: svn path=/head/; revision=131690
* Add C99's nearbyint{,f}() functions as wrappers around rint().David Schultz2004-07-064-6/+94
| | | | | | | | | | These trivial implementations are about 25 times slower than rint{,f}() on x86 due to the FP environment save/restore. They should eventually be redone in terms of fegetround() and bit fiddling. Notes: svn path=/head/; revision=131676
* 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
* Minor wordsmithing; remove a controversial colon.Tim Kientzle2004-07-051-3/+2
| | | | Notes: svn path=/head/; revision=131645
* Add convenience functions to retrieve the atime fields directly,Tim Kientzle2004-07-053-0/+20
| | | | | | | without having to first pull the stat structure. Notes: svn path=/head/; revision=131640
* ru@'s ambitious sweep through the manpages is mostly a good thing,Tim Kientzle2004-07-051-1/+1
| | | | | | | but some colons are supposed to be followed by uppercase letters. Notes: svn path=/head/; revision=131639
* Make whatis(1) happy about the NAME section.Ruslan Ermilov2004-07-051-57/+60
| | | | | | | Slightly fix markup and grammar. Notes: svn path=/head/; revision=131637
* Fix the NAME section making whatis(1) happy in particular.Ruslan Ermilov2004-07-057-68/+65
| | | | Notes: svn path=/head/; revision=131635