summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Add __gdtoa to the list of FreeBSD private symbols. Unfortunately,deischen2006-04-011-0/+4
| | | | | | | | this is used by some 3rd party applications when {e,f,g}cvt() are not found. POSIX defines the xcvt() funtions but says they are deprecated in favor or sprintf(). We'll import these functions from OpenBSD and remove __gdtoa() from the exported interfaces when libc version is bumped.
* Optimize runtime performance, primary using the following techniques:jasone2006-03-301-285/+294
| | | | | | | | | | | | | | | * Avoid choosing an arena until it's certain that an arena is needed for allocation. * Convert division/multiplication to bitshifting where possible. * Avoid accessing TLS variables in single-threaded code. * Reduce the amount of pointer dereferencing. * Move lock acquisition in critical paths to only protect the the code that requires synchronization, and completely remove locking where possible.
* Expose res_update and friends again. At least, ports/mail/spamilterume2006-03-306-117/+33
| | | | | | | | | uses them. Now, we have res_nupdate and res_nmkupdate as well, but they are still based on our old resolver for binary backward compatibility. So, they don't provide new features such as TSIG support. Reported by: pointyhat via kris
* Fix a bug where, for 6-byte sequences, the top 6 bits get compared totrhodes2006-03-301-1/+1
| | | | | 111111 rather than the top 7 bits being compared against 1111110 causing illegal bytes fe and ff being treated the same as legal bytes fc and fd.
* Add __collate_load_error and __collate_range_cmp to the list ofdeischen2006-03-303-0/+4
| | | | | | | | | | | | | FBSDprivate locale symbols. These functions are needed by libcompat. Add _cleanup to the list of stdio FBSDprivate symbols. Some third party applications use this. This will be removed and replaced by fcloseall() once libc version is bumped. Add _res to the list of resolv symbols. Found by: portbuilder runs (thanks Kris!)
* Add symbol versioning.deischen2006-03-292-0/+37
| | | | Reviewed by: davidxu
* Bring libpthread up to WARNS level 2.des2006-03-296-16/+32
| | | | Reviewed by: deischen
* Account for recent changes in namespace.h. Use _pthread_createdeischen2006-03-291-4/+4
| | | | instead of pthread_create.
* Add malloc_usable_size(3).jasone2006-03-284-3/+47
| | | | Discussed with: arch@
* Fix prototype mismatch and use of un-namespaced pthread functions.des2006-03-282-22/+14
|
* Fix prototype mismatch.des2006-03-281-1/+2
|
* Use the correct type for and argument. Recent changes to namespace.hdeischen2006-03-282-2/+2
| | | | | | exposed this bug. Reported by: kris
* Add semaphore functions, and remove some dupes from the #if 0 section.des2006-03-282-4/+20
|
* Add a bunch of missing pthread functions, and move out-of-order functions.des2006-03-282-13/+128
|
* If the query choked with EDNS0, retry without EDNS0.ume2006-03-281-8/+24
| | | | Obtained from: res_nquery() of BIND9.
* Allocate space for thread pointer, this allows thread library to accessdavidxu2006-03-281-3/+3
| | | | its pointer from begin, and simplifies _get_curthread() in libthr.
* Add symbol versioning to libm.deischen2006-03-2716-0/+246
|
* Remove priority mutex code because it does not work correctly,davidxu2006-03-277-1199/+200
| | | | | | | | | to make it work, turnstile like mechanism to support priority propagating and other realtime scheduling options in kernel should be available to userland mutex, for the moment, I just want to make libthr be simple and efficient thread library. Discussed with: deischen, julian
* Comment out -g compiler option, found by 'FreeBSD Build Options Survey'.davidxu2006-03-271-1/+1
|
* Allow the 'n' option to decrease the number of arenas below the default,jasone2006-03-261-2/+16
| | | | | to as little as one arena. Also, limit the number of arenas to avoid a potential invariant violation in base_alloc().
* Add comments and reformat/rearrange code. There are no significantjasone2006-03-261-208/+224
| | | | functional changes in this commit.
* MFP4: Support for profiling dynamically loaded objects.jkoshy2006-03-263-26/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kernel changes: Inform hwpmc of executable objects brought into the system by kldload() and mmap(), and of their removal by kldunload() and munmap(). A helper function linker_hwpmc_list_objects() has been added to "sys/kern/kern_linker.c" and is used by hwpmc to retrieve the list of currently loaded kernel modules. The unused `MAPPINGCHANGE' event has been deprecated in favour of separate `MAP_IN' and `MAP_OUT' events; this change reduces space wastage in the log. Bump the hwpmc's ABI version to "2.0.00". Teach hwpmc(4) to handle the map change callbacks. Change the default per-cpu sample buffer size to hold 32 samples (up from 16). Increment __FreeBSD_version. libpmc(3) changes: Update libpmc(3) to deal with the new events in the log file; bring the pmclog(3) manual page in sync with the code. pmcstat(8) changes: Introduce new options to pmcstat(8): "-r" (root fs path), "-M" (mapfile name), "-q"/"-v" (verbosity control). Option "-k" now takes a kernel directory as its argument but will also work with the older invocation syntax. Rework string handling in pmcstat(8) to use an opaque type for interned strings. Clean up ELF parsing code and add support for tracking dynamic object mappings reported by a v2.0.00 hwpmc(4). Report statistics at the end of a log conversion run depending on the requested verbosity level. Reviewed by: jhb, dds (kernel parts of an earlier patch) Tested by: gallatin (earlier patch)
* Check cancellation state carefully to see we really need to calldavidxu2006-03-261-2/+5
| | | | _pthread_testcancel(). Preserve errno in _thr_suspend_check().
* - Use ANSI C prototype.ume2006-03-253-152/+59
| | | | - Remove trailing space.
* Don't cancel thread if it is in critical region.davidxu2006-03-251-1/+1
|
* Only wake up writer if the lock is free.davidxu2006-03-251-2/+2
|
* Compile thr_rtld.cdavidxu2006-03-251-0/+1
|
* Add locking support for rtld.davidxu2006-03-254-4/+229
|
* Convert TINY_MIN_2POW from a cpp macro to tiny_min_2pow (a variable), andjasone2006-03-241-21/+37
| | | | | | | | | | | | | | | determine its value at run time according to other relevant values. This avoids the creation of runs that are incompletely utilized, as long as pagesize isn't too large (>32kB, given the current RUN_MIN_REGS_2POW setting). Increase the size of several structure bitfields in arena_run_t in order to avoid integer overflow in the case that a run's header does not overlap with the space that is usable as application allocation regions. Given the tiny_min_2pow change, this fix has no additional impact unless pagesize is >32kB. Reported by: kris
* When res_nquerydomain() returns SERVFAIL, we should try next domain.ume2006-03-242-5/+26
|
* When res_send() fails, we should reserve an error code.ume2006-03-241-2/+2
|
* set an upper limit for thread structures which can be allocated.davidxu2006-03-241-1/+12
|
* Implement SIGEV_THREAD notification for aio_fsync.davidxu2006-03-241-18/+55
|
* Add USE_BRK-specific code in malloc_init_hard() to allow the firstjasone2006-03-241-65/+110
| | | | | | | | | | | | | | | | | | | internally used chunk to start at the beginning of the heap, rather than at a chunk-aligned address. This reduces mapped memory somewhat for 32-bit architectures. Add the arena_run_link_t type and use it wherever a run object is only used as a ring 'header'. This saves approximately 40 kB of memory per arena. Remove an obsolete (no longer used) code path from base_alloc(), which supported the internal allocation of objects larger than the chunk size. Enhance chunk_dealloc() to cache chunk addresses for all deallocated chunks. This has no impact for most programs, but has the potential to reduce VM map fragmentation for programs that use huge allocations.
* Document that the documented 2GB mmap limit is actually apeter2006-03-231-22/+8
| | | | | | | | documentation bug. We switched to page indexes some time around FreeBSD 2.2. The actual 'len' limit is the maximum file size or what will fit in your address space, whichever comes first. It should be possible to make 1TB files on 32 bit systems, but of course address space runs out long before then.
* It's not enough to provide symbol map files; you also have to add themdes2006-03-233-0/+6
| | | | | | to ${SYM_MAPS}. This unbreaks world with SYMVER_ENABLED. Pointy hat to: ume
* Resolve conflicts.des2006-03-2318-151/+695
|
* This commit was generated by cvs2svn to compensate for changes in r157043,des2006-03-235-59/+306
|\ | | | | | | which included commits to RCS files with non-trunk default branches.
| * Vendor import of ZLib 1.2.3.des2006-03-2323-215/+1006
| |
* | Add new libsm file from sendmail 8.13.6gshapiro2006-03-221-1/+1
| | | | | | | | MFC after: 4 days
* | Even if a system does not support restoring extended attributes,kientzle2006-03-221-2/+4
| | | | | | | | | | | | | | | | | | it's only a failure if there were actually attributes to be restored. In particular, this fixes the problem where tar -xp always returned a failure code on FreeBSD (which doesn't yet have all of the extended attribute support). Thanks to: Diego "Flameeyes" Petteno
* | We have gmtime_r(3).ume2006-03-211-0/+1
| |
* | POSIX.1e-style Extended Attribute supportkientzle2006-03-2110-37/+628
| | | | | | | | | | | | | | | | | | | | | | This commit implements storing/reading POSIX.1e-style extended attribute information in "pax" format archives. An outline of the storage format is in the tar.5 manpage. The archive_read_extract() function has code to restore those archives to disk for Linux; FreeBSD implementation is forthcoming. Many thanks to Jaakko Heinonen for finding flaws in earlier proposals and doing the bulk of the coding in this work.
* | Update the resolver in libc to BIND9's one.ume2006-03-2142-7838/+369
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since, res_sendsigned(3) and the friends use MD5 functions, it is hard to include them without having MD5 functions in libc. So, res_sendsigned(3) is not merged into libc. Since, res_update(3) in BIND9 is not binary compatible with our res_update(3), res_update(3) is leaved as is, except some necessary modifications. The res_update(3) and the friends are not essential part of the resolver. They are not defined in resolv.h but defined in res_update.h separately in BIND9. Further, they are not called from our tree. So, I hide them from our resolv.h, but leave them only for binary backward compatibility (perhaps, no one calls them). Since, struct __res_state_ext is not exposed in BIND9, I hide it from our resolv.h. And, global variable _res_ext is removed. It breaks binary backward compatibility. But, since it is not used from outside of our libc, I think it is safe. Reviewed by: arch@ (no objection)
* | - Merge our local changes.ume2006-03-2138-123/+901
| | | | | | | | - Exclude unnecessary functions for us.
* | This commit was generated by cvs2svn to compensate for changes in r156954,ume2006-03-211-47/+0
| | | | | | | | which included commits to RCS files with non-trunk default branches.
* | This commit was generated by cvs2svn to compensate for changes in r156952,ume2006-03-2137-0/+10873
|\ \ | | | | | | | | | which included commits to RCS files with non-trunk default branches.
| * | Vendor import of BIND 9.3.2ume2006-03-2137-0/+10873
| /
* | When we are doing initialization against q, use its own size, notdelphij2006-03-211-1/+1
| | | | | | | | | | | | | | the size of q2. This should be a no-op because q and q2 are of the same type. Submitted by: Alexey Dobriyan <adobriyan gmail com>
* | There is no need to pass NULL to the pam_error() as the last argument.wkoszek2006-03-201-1/+1
| | | | | | | | | | | | | | Remove it. Reviewed by: des Approved by: cognet (mentor)
OpenPOWER on IntegriCloud