<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/lib/libc/include, branch master</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/lib/libc/include?h=master</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/lib/libc/include?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2021-01-06T19:54:17Z</updated>
<entry>
<title>Fix two issues related to thread private data in asr.</title>
<updated>2021-01-06T19:54:17Z</updated>
<author>
<name>otto</name>
<email>otto@openbsd.org</email>
</author>
<published>2021-01-06T19:54:17Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=a7244e9f7440612fd0e5c6899defce35f5a4c4ee'/>
<id>urn:sha1:a7244e9f7440612fd0e5c6899defce35f5a4c4ee</id>
<content type='text'>
- setting up asr in single thread mode and then starting threads using asr
  would lead to multiple threads sharing the same resolver.
- destruction of a thread that has been using asr would leak data.
Problem originally reported by Alexey Sokolov and Uli Schlachter.
ok kettenis@
</content>
</entry>
<entry>
<title>gcc3, like clang and unlike our gcc4, doesn't support redirecting builtins</title>
<updated>2019-11-25T22:57:28Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2019-11-25T22:57:28Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=fb832af54254ed0e740de530dacbdf58442b4a55'/>
<id>urn:sha1:fb832af54254ed0e740de530dacbdf58442b4a55</id>
<content type='text'>
like mem{set,cpy,move} or __stack_smash_handler using asm() renaming.  So
treat gcc3 like clang and mark such functions as protected instead.

ok ayoma@
</content>
</entry>
<entry>
<title>Complete the ld.so boot cleanup: move most libc initialization from</title>
<updated>2019-06-02T01:03:01Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2019-06-02T01:03:01Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=5c7d06e56e289f4145af6fe3394d5d581f2679bd'/>
<id>urn:sha1:5c7d06e56e289f4145af6fe3394d5d581f2679bd</id>
<content type='text'>
_csu_finish() to _libc_preinit(), which is an .init_array function
in shared libc (and mark it INITFIRST) or a .preinit_array function
in static libc, grabbing the _dl_cb callback there from ld.so.  Then
in _csu_finish(), invoke the dl_clean_boot() callback to free ld.so's
startup bits before main() gets control.

Other cleanups this permits:
 - move various startup structures into .data.rel.ro
 - the dl* stubs in libc can be strong and call the callbacks provided
   via _dl_cb
 - no longer need to conditionalize dlctl() calls on presence of _DYNAMIC

original concept and full diff ok kettenis@
ok deraadt@
</content>
</entry>
<entry>
<title>Move 'how this works' details from namespace.h to DETAILS</title>
<updated>2019-05-13T20:00:32Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2019-05-13T20:00:32Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=cfc1d11d2d2b66cc2b843a6a8140179f5ad89413'/>
<id>urn:sha1:cfc1d11d2d2b66cc2b843a6a8140179f5ad89413</id>
<content type='text'>
</content>
</entry>
<entry>
<title>New futex(2) based rwlock implementation based on the mutex code.</title>
<updated>2019-02-13T13:22:14Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2019-02-13T13:22:14Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=5ecdd0566b441ae0b99e73f410875e05dc0fa5b7'/>
<id>urn:sha1:5ecdd0566b441ae0b99e73f410875e05dc0fa5b7</id>
<content type='text'>
This implementation reduces contention because threads no longer need
to spin calling sched_yield(2) before going to sleep.

Tested by many, thanks!

ok visa@, pirofti@
</content>
</entry>
<entry>
<title>Make the "not my pool" searching loop a tiny bit smarter, while</title>
<updated>2019-01-10T18:45:33Z</updated>
<author>
<name>otto</name>
<email>otto@openbsd.org</email>
</author>
<published>2019-01-10T18:45:33Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=fa2b64111b6ceb302725eb7311a0f7b9fbddf988'/>
<id>urn:sha1:fa2b64111b6ceb302725eb7311a0f7b9fbddf988</id>
<content type='text'>
making the number of pools variable.  Do not document the malloc
conf settings atm, don't know yet if they will stay.  Thanks to all
the testers. ok deraadt@
</content>
</entry>
<entry>
<title>Instead of trying to handle ffs() with the normal rename-mark-hidden-and-alias</title>
<updated>2018-01-18T08:23:44Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2018-01-18T08:23:44Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=ae3cb403620ab940fbaabb3055fac045a63d56b7'/>
<id>urn:sha1:ae3cb403620ab940fbaabb3055fac045a63d56b7</id>
<content type='text'>
dance, mark it protected.  This works better for both gcc and clang: gcc
blocks overriding of internal calls, while clang permits inlining again.

ok otto@
</content>
</entry>
<entry>
<title>Implement __cxa_thread_atexit to support C++11 thread_local scope.  The</title>
<updated>2017-12-05T13:45:31Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2017-12-05T13:45:31Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=0afcdeda897cccf53b8f99c1eb030fd52ee9ee99'/>
<id>urn:sha1:0afcdeda897cccf53b8f99c1eb030fd52ee9ee99</id>
<content type='text'>
interface is also made available as __cxa_thread_atexit_impl to satisfy the
needs of GNU libstdc++.

ok guenther@, millert@
</content>
</entry>
<entry>
<title>clang doesn't propagate attributes like "asm labels" and "visibility(hidden)"</title>
<updated>2017-11-29T05:13:57Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2017-11-29T05:13:57Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=ea6088e7d368d53c49ebfdf4520275cec2f78f5b'/>
<id>urn:sha1:ea6088e7d368d53c49ebfdf4520275cec2f78f5b</id>
<content type='text'>
to builtins like mem{set,cpy,move} and __stack_smash_handler.  So, when
building with clang, instead mark those as protected visibility to get rid
of the PLT relocations.  We can't take the address of them then, but that's
ok: it's a build-time error not a run-time error.

ok kettenis@
</content>
</entry>
<entry>
<title>Revert recent changes to unbreak ports/net/samba</title>
<updated>2017-11-04T22:53:57Z</updated>
<author>
<name>jca</name>
<email>jca@openbsd.org</email>
</author>
<published>2017-11-04T22:53:57Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=a318b99d5fc4aa6b07d4c22670471e27e4e35499'/>
<id>urn:sha1:a318b99d5fc4aa6b07d4c22670471e27e4e35499</id>
<content type='text'>
While it is not clear (to me) why that ports ends up with corrupted
shared libs, reverting those changes fixes the issue and should allow us
to close p2k17 more smoothly.

Discussed with a bunch, ok ajacoutot@ guenther@
</content>
</entry>
</feed>
