<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libc/stdlib, branch release/11.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>MFC r318514-r318515, r318517, r318917</title>
<updated>2017-05-31T05:52:32+00:00</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2017-05-31T05:52:32+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=c2abfab50950ea781d011106ab804e29a1ea5d60'/>
<id>c2abfab50950ea781d011106ab804e29a1ea5d60</id>
<content type='text'>
r318514:
Use size_t.

Inspired by:	OpenBSD src/lib/libc/stdlib/qsort.c,v 1.11

r318515:
The current qsort(3) implementation ignores the sizes of partitions, and
always perform recursion on the left partition, then use a tail call to
handle the right partition.  In the worst case this could require O(N)
levels of recursions.

Reduce the possible recursion level to log2(N) by always recursing on the
smaller partition instead.

Obtained from:	PostgreSQL 9d6077abf9d6efd992a59f05ef5aba981ea32096

r318517:
Sync qsort.c with userland r318515.

(Note that MIN macro is removed in favor of sys/param.h's version).

PR:		213922

r318917:
Disconnect heimdal version of qsort.c from build because we are already
using libc's version of qsort.

PR:		bin/213922
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
r318514:
Use size_t.

Inspired by:	OpenBSD src/lib/libc/stdlib/qsort.c,v 1.11

r318515:
The current qsort(3) implementation ignores the sizes of partitions, and
always perform recursion on the left partition, then use a tail call to
handle the right partition.  In the worst case this could require O(N)
levels of recursions.

Reduce the possible recursion level to log2(N) by always recursing on the
smaller partition instead.

Obtained from:	PostgreSQL 9d6077abf9d6efd992a59f05ef5aba981ea32096

r318517:
Sync qsort.c with userland r318515.

(Note that MIN macro is removed in favor of sys/param.h's version).

PR:		213922

r318917:
Disconnect heimdal version of qsort.c from build because we are already
using libc's version of qsort.

PR:		bin/213922
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r318303:</title>
<updated>2017-05-29T12:55:26+00:00</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2017-05-29T12:55:26+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=20810595e1756b873297453877ce8dad0b3e8dd8'/>
<id>20810595e1756b873297453877ce8dad0b3e8dd8</id>
<content type='text'>
Style.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Style.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r318299:</title>
<updated>2017-05-29T12:53:44+00:00</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2017-05-29T12:53:44+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=da0461f1d737feca1fa0f76be44f9c0c67e21482'/>
<id>da0461f1d737feca1fa0f76be44f9c0c67e21482</id>
<content type='text'>
Simplify cleanup on failure in realpath(3).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Simplify cleanup on failure in realpath(3).
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r318298:</title>
<updated>2017-05-29T12:52:13+00:00</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2017-05-29T12:52:13+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=de06d29d66660aac247874343ceb52c3f58f7cc0'/>
<id>de06d29d66660aac247874343ceb52c3f58f7cc0</id>
<content type='text'>
Fix several buffer overflows in realpath(3), and other minor issues.

PR:	219154
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix several buffer overflows in realpath(3), and other minor issues.

PR:	219154
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r316213:</title>
<updated>2017-04-23T20:32:46+00:00</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2017-04-23T20:32:46+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=57c8b92b8710a9cbcdab4c0ba2130d6621276fa4'/>
<id>57c8b92b8710a9cbcdab4c0ba2130d6621276fa4</id>
<content type='text'>
Implement the memset_s(3) function as specified by the C11 ISO/IEC
9899:2011 Appendix K 3.7.4.1.

MFC r316258:
Only activate __EXT1_VISIBLE block when using sys/errno.h in userspace.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement the memset_s(3) function as specified by the C11 ISO/IEC
9899:2011 Appendix K 3.7.4.1.

MFC r316258:
Only activate __EXT1_VISIBLE block when using sys/errno.h in userspace.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r315162:</title>
<updated>2017-04-07T16:08:04+00:00</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2017-04-07T16:08:04+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=919f2be423d6d44281f3ae38f91855c6a5e405bd'/>
<id>919f2be423d6d44281f3ae38f91855c6a5e405bd</id>
<content type='text'>
libc: provide some bounds-checking through reallocarray(3).

reallocarray(3) is a non portable extension that originated in OpenBSD.
Given that it is already in FreeBSD's libc it is useful for the cases
where reallocation involves a multiplication.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
libc: provide some bounds-checking through reallocarray(3).

reallocarray(3) is a non portable extension that originated in OpenBSD.
Given that it is already in FreeBSD's libc it is useful for the cases
where reallocation involves a multiplication.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r315095, r315096, r315097, r315187:</title>
<updated>2017-03-15T15:33:32+00:00</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2017-03-15T15:33:32+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=6a3d40510f0bf3f5d563aacd257ac3b4f8490516'/>
<id>6a3d40510f0bf3f5d563aacd257ac3b4f8490516</id>
<content type='text'>
libc: small cleanups.

Rename nitems to numitems: it shares the anme with an existing macro in
sys/params.h. Also initialize the value later which avoids asigning the
value if we exit early.

Unsign setlen: it is local and will never be negative. Having one more bit
for growth is beneficial and it avoids a cast when it's going to be used
for allocation.

Remove unused initialization: "num" is properly defined before use.

Let calloc(3) do the multiplication.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
libc: small cleanups.

Rename nitems to numitems: it shares the anme with an existing macro in
sys/params.h. Also initialize the value later which avoids asigning the
value if we exit early.

Unsign setlen: it is local and will never be negative. Having one more bit
for growth is beneficial and it avoids a cast when it's going to be used
for allocation.

Remove unused initialization: "num" is properly defined before use.

Let calloc(3) do the multiplication.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r313374:</title>
<updated>2017-02-14T04:51:21+00:00</updated>
<author>
<name>Enji Cooper</name>
<email>ngie@FreeBSD.org</email>
</author>
<published>2017-02-14T04:51:21+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d29f9c9840183ee979deb2ed95a8b2324a675f94'/>
<id>d29f9c9840183ee979deb2ed95a8b2324a675f94</id>
<content type='text'>
hcreate(3): fix the ERRORS section and bump .Dd

- Add missing comma between functions that trigger ENOMEM error.
- Fix the description for ESRCH. The action that triggers this error is
  FIND, not SEARCH (SEARCH does not exist).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
hcreate(3): fix the ERRORS section and bump .Dd

- Add missing comma between functions that trigger ENOMEM error.
- Fix the description for ESRCH. The action that triggers this error is
  FIND, not SEARCH (SEARCH does not exist).
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r312332,r312446,r312451:</title>
<updated>2017-02-04T17:17:38+00:00</updated>
<author>
<name>Enji Cooper</name>
<email>ngie@FreeBSD.org</email>
</author>
<published>2017-02-04T17:17:38+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7426409308c869cda1254ce37542cf8c7fe88f34'/>
<id>7426409308c869cda1254ce37542cf8c7fe88f34</id>
<content type='text'>
r312332:

Use SRCTOP where possible and use :H to manipulate .CURDIR to get rid of
unnecessarily long relative path .PATH values with make

r312446 (by emaste):

libc: remove reference to nonexistent lib/locale directory

As far as I can tell this was introduced in r72406 and updated in several
subsequent revisions, but the lib/locale directory it referenced never
existed.

r312451:

Replace dot-dot relative pathing with SRCTOP-relative paths where possible

This reduces build output, need for recalculating paths, and makes it clearer
which paths are relative to what areas in the source tree. The change in
performance over a locally mounted UFS filesystem was negligible in my testing,
but this may more positively impact other filesystems like NFS.

LIBC_SRCTOP was left alone so Juniper (and other users) can continue to
manipulate lib/libc/Makefile (and other Makefile.inc's under lib/libc) as
include Makefiles with custom options.

Discussed with:	marcel, sjg
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
r312332:

Use SRCTOP where possible and use :H to manipulate .CURDIR to get rid of
unnecessarily long relative path .PATH values with make

r312446 (by emaste):

libc: remove reference to nonexistent lib/locale directory

As far as I can tell this was introduced in r72406 and updated in several
subsequent revisions, but the lib/locale directory it referenced never
existed.

r312451:

Replace dot-dot relative pathing with SRCTOP-relative paths where possible

This reduces build output, need for recalculating paths, and makes it clearer
which paths are relative to what areas in the source tree. The change in
performance over a locally mounted UFS filesystem was negligible in my testing,
but this may more positively impact other filesystems like NFS.

LIBC_SRCTOP was left alone so Juniper (and other users) can continue to
manipulate lib/libc/Makefile (and other Makefile.inc's under lib/libc) as
include Makefiles with custom options.

Discussed with:	marcel, sjg
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r311651:</title>
<updated>2017-01-21T11:47:30+00:00</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2017-01-21T11:47:30+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=8ddb578781cbbfb593698f4637c5c66aad4a5d56'/>
<id>8ddb578781cbbfb593698f4637c5c66aad4a5d56</id>
<content type='text'>
Export __cxa_thread_atexit_impl as an alias for __cxa_thread_atexit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Export __cxa_thread_atexit_impl as an alias for __cxa_thread_atexit.
</pre>
</div>
</content>
</entry>
</feed>
