<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libc, branch OPENBSD_7_8</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_8</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_8'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2025-08-04T14:11:37+00:00</updated>
<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>
<entry>
<title>This thread-aware profiling support diff comes from Yuichiro NAITO.</title>
<updated>2025-07-16T16:22:58+00:00</updated>
<author>
<name>deraadt</name>
<email></email>
</author>
<published>2025-07-16T16:22:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=5506a044dc35162b58584a83a4099b4268ceba2a'/>
<id>urn:sha1:5506a044dc35162b58584a83a4099b4268ceba2a</id>
<content type='text'>
At runtime, profiling data is stored per-thread.  Upon termination, the
per-thread profiling data pools are merged into a into a single record,
which is then written out (using the new kernel-assisted system).  I think
the original gmon merging parts may have come from or been inspired by
someone at NetBSD.
This has been delayed because there were concerns about adding a TLS object
which would require other library cranks, so this rides all the major cranks
today.
ok kettenis tb claudio sthen etc etc etc
</content>
</entry>
<entry>
<title>add libc specific __cmtx and __rcmtx locks for internal use.</title>
<updated>2025-07-12T23:59:44+00:00</updated>
<author>
<name>dlg</name>
<email></email>
</author>
<published>2025-07-12T23:59:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=417b1213b262bbe6d34c708537dff4b062920bfa'/>
<id>urn:sha1:417b1213b262bbe6d34c708537dff4b062920bfa</id>
<content type='text'>
__cmtx provides mutual exclusion using futex(2) and cas on archs
that support it, or _spinlocks on the rest. __rcmtx is a recursive
mutex built on top of __cmtx, so it inherits the use of futex and
cas/spinlock from __cmtx.

until now the options we had for locking between threads in libc
were spinlocks or pthread mutexes. spinlocks use sched_yield to
relax if they have to spin on a contended lock, which we are trying
to minimise the use of as much as possible. pthread_mutex is
relatively large in memory and offers a lot of complicated features
which are unecessary for most of libc. the non cas/futex version
of pthread_mutexes currently relies on __thrsleep and __thrwakeup,
which we also want to deprecate.

having a small futex based lock available everywhere will help us
move away from overuse of spinlocks, and deprecate __thrsleep and
__thrwakeup.

ok kettenis@
jca@ provided his eyes too.
</content>
</entry>
<entry>
<title>make the argument to ether_ntoa const.</title>
<updated>2025-06-29T00:33:46+00:00</updated>
<author>
<name>dlg</name>
<email></email>
</author>
<published>2025-06-29T00:33:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=a2df642900a546ab79508391ab506e0a6d69eab3'/>
<id>urn:sha1:a2df642900a546ab79508391ab506e0a6d69eab3</id>
<content type='text'>
this drives me nuts when i want to print something out of what's already
const. casting it works, but feels gross.

ok guenther@ tb@ deraadt@
enh says this is already in bionic/glibc/musl
</content>
</entry>
<entry>
<title>The mdoc(7) .Ft macro does not need quoting of its arguments, but about</title>
<updated>2025-06-13T18:34:00+00:00</updated>
<author>
<name>schwarze</name>
<email></email>
</author>
<published>2025-06-13T18:34:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d939c0f8976619330bcf368e12700a6ab1d14f99'/>
<id>urn:sha1:d939c0f8976619330bcf368e12700a6ab1d14f99</id>
<content type='text'>
10% of our manual pages using this macro employed useless quoting anyway.
Remove these quotes such that they do not incite fear, uncertainty,
and doubt in developers who happen to look at these pages.
jmc@ and tb@ agree with the direction.
</content>
</entry>
<entry>
<title>&lt;uvm/uvmexp.h&gt; is clearly only for VM_MALLOC_CONF, but &lt;sys/sysctl.h&gt; takes</title>
<updated>2025-06-12T16:07:09+00:00</updated>
<author>
<name>deraadt</name>
<email></email>
</author>
<published>2025-06-12T16:07:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=bef775ccefd97b9e2ee02eb252923ac7d27bfbdc'/>
<id>urn:sha1:bef775ccefd97b9e2ee02eb252923ac7d27bfbdc</id>
<content type='text'>
care of doing that include.
</content>
</entry>
<entry>
<title>Revert 1.144 of lib/libc/stdlib/malloc.3.  It was changed by accident</title>
<updated>2025-06-04T00:38:01+00:00</updated>
<author>
<name>yasuoka</name>
<email></email>
</author>
<published>2025-06-04T00:38:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0afcce73c60015d8a6f4c42857ca2338ec20ca31'/>
<id>urn:sha1:0afcce73c60015d8a6f4c42857ca2338ec20ca31</id>
<content type='text'>
by my previous commit.
</content>
</entry>
<entry>
<title>Again.  Make exit(), fclose(), fflush(), and freopen() comply with</title>
<updated>2025-06-03T14:15:53+00:00</updated>
<author>
<name>yasuoka</name>
<email></email>
</author>
<published>2025-06-03T14:15:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=6ed3a1ddc5d30f8d2745857ce2b60d3f6756aa82'/>
<id>urn:sha1:6ed3a1ddc5d30f8d2745857ce2b60d3f6756aa82</id>
<content type='text'>
POSIX-2008 requirements for setting the underlying file position when
flushing read-mode streams, and make an fseek()-after-fflush() not
change the underlying file position.  This commit fixes some minor
problems of the previous.

previous diff from guenther
Much testing, review, assistence form tb@
ok tb@ millert@ for the previous

ok asou
</content>
</entry>
</feed>
