<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libc, branch master</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=master</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2026-03-10T00:06:39+00:00</updated>
<entry>
<title>Use __pledge_open(2) for files that libc urgently needs even in lower</title>
<updated>2026-03-10T00:06:39+00:00</updated>
<author>
<name>deraadt</name>
<email></email>
</author>
<published>2026-03-10T00:06:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=78f85e779d20fa57aa5102634e747be7f9343cf6'/>
<id>urn:sha1:78f85e779d20fa57aa5102634e747be7f9343cf6</id>
<content type='text'>
promise levels.  You must be running a kernel at least 4 days old.
Soon, another commit will happen that breaks compatibility even further,
and you'll need new static binaries and new libc.so, along with a new
kernel.  This removes an old pledge design decision which is weak.
Long discussions with david leadbeater and beck
</content>
</entry>
<entry>
<title>Do not crash when calling freeaddrinfo(NULL)</title>
<updated>2025-12-08T13:30:08+00:00</updated>
<author>
<name>jca</name>
<email></email>
</author>
<published>2025-12-08T13:30:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=2a9ce651b1c5e84f70570a283e2a5ccd1e14eb25'/>
<id>urn:sha1:2a9ce651b1c5e84f70570a283e2a5ccd1e14eb25</id>
<content type='text'>
Supported by Linux since at least 1997, and FreeBSD since 2017.  While
not defined, there's no real good reason to crash when we could just
cope.  Indeed, software out there relies on the Linux behavior.

Point out in the manpage that the behavior of getaddrinfo(NULL) isn't
defined and thus isn't portable.

Edge case spotted recently by kn@ in OpenVPN.
ok millert@ djm@ deraadt@ kn@
</content>
</entry>
<entry>
<title>the structure produced has alignment, which contained uninitialized data.</title>
<updated>2025-11-13T10:34:32+00:00</updated>
<author>
<name>deraadt</name>
<email></email>
</author>
<published>2025-11-13T10:34:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=825e052c574fe0fd3afe3cf1322f333551ca4888'/>
<id>urn:sha1:825e052c574fe0fd3afe3cf1322f333551ca4888</id>
<content type='text'>
This is obviously fixed by using calloc(), but it was also observed that
the precalculated storage requirement was higher than what is actually
filled.  So all the math has been rewritten to be byte accurate.
Temporarily, a syslog_r check is added to report if we ever get count
inconsistancy again so that can be fixed quickly.
ok claudio
</content>
</entry>
<entry>
<title>tweak previous: "functions returns" -&gt; "functions return"</title>
<updated>2025-11-06T17:19:11+00:00</updated>
<author>
<name>schwarze</name>
<email></email>
</author>
<published>2025-11-06T17:19:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=848d003b901a7c05557ef5badd7aae17dfc4470d'/>
<id>urn:sha1:848d003b901a7c05557ef5badd7aae17dfc4470d</id>
<content type='text'>
and add a missing Oxford comma
</content>
</entry>
<entry>
<title>Implement ffsl() and ffsll() using the compiler builtin __builtin_ctzl</title>
<updated>2025-10-24T11:30:06+00:00</updated>
<author>
<name>claudio</name>
<email></email>
</author>
<published>2025-10-24T11:30:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=8cbd4e746f40c750809e34d04c0298e0a5ff6f42'/>
<id>urn:sha1:8cbd4e746f40c750809e34d04c0298e0a5ff6f42</id>
<content type='text'>
now that all archs use at least gcc4.
ffsl() and ffsll() are now part of POSIX.
OK deraadt@, input from miod@ and jsg@
</content>
</entry>
<entry>
<title>Prepare for gcc 3 leaving the building, COMPILER_VERSION can no longer get</title>
<updated>2025-10-23T19:06:10+00:00</updated>
<author>
<name>miod</name>
<email></email>
</author>
<published>2025-10-23T19:06:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=783e86feca43e6347eff9ec54047dfd62b4c93e0'/>
<id>urn:sha1:783e86feca43e6347eff9ec54047dfd62b4c93e0</id>
<content type='text'>
set to "gcc3".
</content>
</entry>
<entry>
<title>Revert r1.286 now that all supported platforms have __builtin_clz.</title>
<updated>2025-10-23T18:49:46+00:00</updated>
<author>
<name>miod</name>
<email></email>
</author>
<published>2025-10-23T18:49:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=5a2688fe0c33fbd28683a16e5b2e580a49d6cdf5'/>
<id>urn:sha1:5a2688fe0c33fbd28683a16e5b2e580a49d6cdf5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Sort NAME, RETURN VALUES, ERRORS, and STANDARDS in the same order as SYNOPSIS.</title>
<updated>2025-08-04T14:11:37+00:00</updated>
<author>
<name>schwarze</name>
<email></email>
</author>
<published>2025-08-04T14:11:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=5a2842c24fa46be5dfa91f663185a741c07702be'/>
<id>urn:sha1:5a2842c24fa46be5dfa91f663185a741c07702be</id>
<content type='text'>
Sort HISTORY chronologically.
No text change.
</content>
</entry>
<entry>
<title>Implement the POSIX-2024 close-on-fork flag, but modified to be</title>
<updated>2025-08-04T04:59:31+00:00</updated>
<author>
<name>guenther</name>
<email></email>
</author>
<published>2025-08-04T04:59:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=cc34b672c114e027e8e6bdb0c901bb4b2607ff3f'/>
<id>urn:sha1:cc34b672c114e027e8e6bdb0c901bb4b2607ff3f</id>
<content type='text'>
reset on exec as preserving it across exec is not necessary for its
original purpose and has security and usability concerns.

Many thanks to Ricardo Branco (rbranco (at) suse.de) who did an
independent implementation, caught that /dev/fd/* needed to be
handled, and provided a port of the illumos test suite.  Thanks
to tb@ for assistance with that.

ok deraadt@
</content>
</entry>
<entry>
<title>replace the flockfile backend with a per FILE recursive mutex.</title>
<updated>2025-08-04T01:44:33+00:00</updated>
<author>
<name>dlg</name>
<email></email>
</author>
<published>2025-08-04T01:44:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=97f291299e43eb39dd2ecdc18098d938d467dac6'/>
<id>urn:sha1:97f291299e43eb39dd2ecdc18098d938d467dac6</id>
<content type='text'>
the flockfile implementation in thread/rthread_file.c used an
external lock, and associated it with the relevant FILE * as needed.
this isn't great for a lot of reasons, complexity being the big
one, but the straw that broke the camels back is that it uses a
single spinlock to coordinate all of this, which in turn generates
a lot of sched_yield syscalls.

this avoids all the code complexity and the spinlock by just embedding
a small __rctmx in every FILE.

tested by and ok tb@ jca@
ok claudio@
</content>
</entry>
</feed>
