summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib (follow)
Commit message (Collapse)AuthorAgeFilesLines
* a small tweak to improve malloc in multithreaded programs. we don't needtedu2014-08-181-7/+21
| | | | | | | to hold the malloc lock across mmap syscalls in all cases. dropping it allows another thread to access the existing chunk cache if necessary. could be improved to be a bit more aggressive, but i've been testing this simple diff for some time now with good results.
* XPG requires insque() and remque() to work with linear lists and not justguenther2014-08-153-21/+26
| | | | | | | | | circular lists. Amazingly, they managed to extend the requirements to no longer match the behavior of the VAX instructions they were modeled after, so the trivial VAX ASM versions have to go. Nice job breaking it, X/Open! Based on a diff from enh (at) google.com ok miod@
* Only need <stdint.h> and not all of <inttypes.h> hereguenther2014-08-101-2/+2
|
* Remove "const" from the lsearch(3) manual's synopsis too.matthew2014-07-181-3/+3
| | | | Reminded by Rafael Neves
* zap trailing whitespace;jmc2014-07-181-3/+3
|
* Change lsearch()'s "base" argument to require a non-const pointer tomatthew2014-07-181-2/+2
| | | | | | | align with POSIX and other systems. Pointed out by Elliott Hughes on tech ok deraadt
* it is 2014, and we still need to encourage people away from srand()deraadt2014-07-172-5/+14
| | | | and random(). Sigh.
* oops, i deleted the wrong wordtedu2014-07-131-2/+2
|
* remove a lie spotted by guenthertedu2014-07-131-5/+4
|
* once srandomdev() is called, switch to using arc4random() but mask off thetedu2014-07-131-12/+10
| | | | | high bit as required by posix. wouldn't want to break any standards. idea and ok deraadt
* Add locking for __cxa_finalize() as it modifies the page permissions of thekettenis2014-07-111-1/+5
| | | | | | | __atexit tables and touches global variables. From Srinavasa Nagaraju through Android/Elliott Hughes. ok tedu@, guenther@
* better document perils of setuid getenv and xr with issetugidtedu2014-07-111-2/+10
| | | | ok deraadt
* as noted by google/android via kettenis, atexit handlers can install newtedu2014-07-101-1/+8
| | | | | handlers. if this happens, restart the loop. ok kettenis matthew millert miod
* reduce obvious dependency on global g_pool by moving to local aliasestedu2014-07-091-42/+48
| | | | ok otto
* extra evil spaces snuck in over the last whilederaadt2014-06-271-20/+20
|
* Move to a smaller rbytes buffer and skip a random part. Not tootto2014-06-271-3/+4
| | | | | | improve the random stream itself (it doesn't), but to introduce noise in the arc4random calling pattern. Thanks to matthew@ who pointed out bias in a previous diff, ok deraadt@ matthew@
* Always call atexit handlers as if they were registered with __cxa_atexit.kettenis2014-06-182-14/+8
| | | | | | | | | | | The extra argument doesn't hurt genuine atexit handlers and this fixes a bug where we didn't provide the argument (effectively passing garbage) for functions registered with __cxa_atexit in the main executable. Pointed out by Dmitriy Ivanov <dimitry@google.com> and Elliott Hughes <enh@google.com>. ok matthew@
* oops, typo. James Hartley is fast at trying -currentderaadt2014-06-151-2/+2
|
* In srandomdev(), use arc4random_buf() instead of from the kernel.deraadt2014-06-151-4/+3
| | | | discussion with matthew
* use getentropy; from matthewderaadt2014-06-131-5/+2
|
* Disable the "switch to insertion sort" optimization to avoid quadraticmillert2014-06-121-13/+2
| | | | behavior for certain inputs. From NetBSD. OK tedu@
* move random bytes buffer to be part of mmaped pages; ok tedu@otto2014-06-021-21/+18
|
* move all stats collecting under MALLOC_STATS; ok krw@otto2014-05-261-28/+33
|
* fix MALLOC_STATS (not compiled in by default); ok tedu@otto2014-05-211-18/+19
|
* factor out a bit of the chunk index code and use it to make sure that atedu2014-05-181-14/+33
| | | | | freed chunk is actually freeable immediately. catch more errors. hints/ok otto
* stop flushing streams in abort(). it's hackish and unsafe, and no longertedu2014-05-142-21/+13
| | | | | required. try to document this fact and some of the history. with feedback from deraadt guenther millert
* change to having four freelists per size, to reduce another source oftedu2014-05-121-16/+20
| | | | | deterministic behavior. four selected because it's more than three, less than five. i.e., no particular reason.
* fix MALLOC_STATS code that was broken in rev 1.159, not compiled in by defaultotto2014-05-101-2/+2
|
* move reallocarray() to a seperate file so that -portable applicationsderaadt2014-05-083-18/+46
| | | | | can avoid reinventing the wheel ok guenther schwarze
* comment style fixhalex2014-05-071-2/+3
| | | | ok crickets@
* tweak previous; ok sthenjmc2014-05-011-3/+3
|
* nibbles aren't enough random, use bytes. does a better job of pickingtedu2014-05-011-14/+14
| | | | | a free chunk at random and may allow to increase delayed chunk array. ok otto
* first cut at documenting the change to malloc doing a partial 'junk' bysthen2014-04-301-2/+7
| | | | default and the new 'j' option to disable this; ok jmc@
* remove Z option and default to something halfway to J.tedu2014-04-231-32/+22
| | | | | | | we always junk small chunks now, and the first part of pages, but only after free. J still does the old thing. j disables everything. Consider experimental as we evaluate performance in the real world. ok otto
* explain a bit more what's going on for stupid me.espie2014-04-231-1/+4
| | | | okay otto@
* Better, cleaner hash function that computes the same on be and le archs.otto2014-04-231-10/+8
| | | | Should improve sparc64 and other be archs. ok matthew@ miod@
* - one more mallocarray -> reallocarrayjmc2014-04-221-3/+3
| | | | - use <>
* change mallocarray to reallocarray. useful in a few more situations.tedu2014-04-223-17/+14
| | | | | malloc can, as always, be emulated via realloc(NULL). ok deraadt
* correct man page sectionderaadt2014-04-211-2/+2
|
* Introducing: void *mallocarray(size_t nmemb, size_t size);deraadt2014-04-213-10/+36
| | | | | Like calloc(), except without the cleared-memory gaurantee ok beck guenther, discussed for more than a year...
* Correctly document the return value of getenv(3)guenther2014-04-211-6/+8
| | | | From Ben Cornett (ben (at) lantern.is)
* print pid in error messages; ok reyk@otto2014-04-141-14/+18
|
* Add some missing names to the NAME sections.schwarze2014-04-071-2/+3
| | | | | | For inet(3), go the other way, remove some bogus symlinks. Found while testing the new makewhatis(8). ok jmc@
* Update Copyright notice; ok otto@ beck@ deraadt@.schwarze2014-04-031-2/+4
| | | | | This is merely a by-product of figuring out the amount of phk@ code contained herein; i'm not planning to hack on this file.
* Poul-Henning Kamp informed me he is allright with this licensing change.beck2014-03-251-11/+4
|
* Retire hp300, mvme68k and mvme88k ports. These ports have no users, keepingmiod2014-03-181-5/+3
| | | | | | | this hardware alive is becoming increasingly difficult, and I should heed the message sent by the three disks which have died on me over the last few days. Noone sane will mourn these ports anyway. So long, and thanks for the fish.
* lint is dead (long live the lint!), so stop using it as a cpp conditionalguenther2014-03-162-4/+4
| | | | | | (namespace pollution!) or talking about its opinion on code. ok krw@
* Ouch... recommend arc4random, not random.deraadt2014-01-211-3/+3
| | | | spotted by tedu
* obvious .Pa fixes; found with mandocdb(8)schwarze2014-01-212-6/+6
|
* Fix an obvious .Fn/.Fa typo, found while testing mandocdb(8).schwarze2014-01-201-3/+3
|