<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/lib/libc/hidden/link_elf.h, branch jd/queueboosts</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/lib/libc/hidden/link_elf.h?h=jd%2Fqueueboosts</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/lib/libc/hidden/link_elf.h?h=jd%2Fqueueboosts'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2019-06-02T01:03:01Z</updated>
<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>
</feed>
