<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libc/stdlib/atexit.c, branch OPENBSD_6_8_BASE</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_6_8_BASE</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_6_8_BASE'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2017-12-16T20:06:56+00:00</updated>
<entry>
<title>Move __cxa_thread_atexit* to its own .c file to avoid pulling the code</title>
<updated>2017-12-16T20:06:56+00:00</updated>
<author>
<name>guenther</name>
<email></email>
</author>
<published>2017-12-16T20:06:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=09687c04dc436ea29235c588185e43443b906e9f'/>
<id>urn:sha1:09687c04dc436ea29235c588185e43443b906e9f</id>
<content type='text'>
(w/ _dlctl reference) into static executables.  It's all Mark's code so
put his preferred copyright on it.

ok kettenis@
</content>
</entry>
<entry>
<title>Remove DEF_STRONG(__cxa_thread_atexit_impl).  This produces an unwanted</title>
<updated>2017-12-05T21:11:10+00:00</updated>
<author>
<name>kettenis</name>
<email></email>
</author>
<published>2017-12-05T21:11:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=98ee56e4f08822b02aaa06c2d1c5b29fc8f1921c'/>
<id>urn:sha1:98ee56e4f08822b02aaa06c2d1c5b29fc8f1921c</id>
<content type='text'>
_libc___cxa_thread_atexit_impl reference on gcc architectures that breaks
the build.
</content>
</entry>
<entry>
<title>Implement __cxa_thread_atexit to support C++11 thread_local scope.  The</title>
<updated>2017-12-05T13:45:31+00:00</updated>
<author>
<name>kettenis</name>
<email></email>
</author>
<published>2017-12-05T13:45:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=6995a7e31c862e513fc32eae98d52c8fc9e09580'/>
<id>urn:sha1:6995a7e31c862e513fc32eae98d52c8fc9e09580</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>libc.so can't be unloaded, so move the hidden atexit() and pthread_atfork()</title>
<updated>2015-11-10T04:14:03+00:00</updated>
<author>
<name>guenther</name>
<email></email>
</author>
<published>2015-11-10T04:14:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=742e63701a436a9845e7a5e5da8c71dfd2785228'/>
<id>urn:sha1:742e63701a436a9845e7a5e5da8c71dfd2785228</id>
<content type='text'>
stubs for the executable from crtbegin.o into libc, which lets them be
excluded from static links that don't use them.
For this, drop the normal crt{begin,end}S.o from libc.so: the .init and .fini
sections for libc aren't called at the right times anyway, so it's good that
they're unused.  libc.so just needs __guard_local and the .note.openbsd.ident
section, so add them to stack_protector.c for now (this will be improved)

"good time" deraadt@
</content>
</entry>
<entry>
<title>Move the _atfork_list definition to atexit.c so that the fork syscall stub</title>
<updated>2015-10-25T18:03:17+00:00</updated>
<author>
<name>guenther</name>
<email></email>
</author>
<published>2015-10-25T18:03:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0084bf09c568d307bfa52752944542a2cb10fd44'/>
<id>urn:sha1:0084bf09c568d307bfa52752944542a2cb10fd44</id>
<content type='text'>
doesn't get pulled into all static executables

ok millert@ jca@
</content>
</entry>
<entry>
<title>Hide __atexit and __atexit_register_cleanup()</title>
<updated>2015-10-25T18:01:24+00:00</updated>
<author>
<name>guenther</name>
<email></email>
</author>
<published>2015-10-25T18:01:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d26dd1386187b2be08c82b67e3a2199a67c82900'/>
<id>urn:sha1:d26dd1386187b2be08c82b67e3a2199a67c82900</id>
<content type='text'>
Wrap __cxa_{atexit,finalize}() so the call from exit() goes direct
Switch regress/lib/libc/atexit/ to be built with -static so that it can
  still access __atexit*

ok millert@ jca@
</content>
</entry>
<entry>
<title>Make pthread_atfork() track the DSO that called it like atexit() does,</title>
<updated>2015-04-07T01:27:07+00:00</updated>
<author>
<name>guenther</name>
<email></email>
</author>
<published>2015-04-07T01:27:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=fd187e2b735724c166cd750838f5169b96a51c6f'/>
<id>urn:sha1:fd187e2b735724c166cd750838f5169b96a51c6f</id>
<content type='text'>
unregistering callbacks if the DSO is unloaded.  Move the callback
handling from libpthread to libc, though libpthread still overrides the
inner call to handle locking and thread-library reinitialization.
Major version bump for both libc and libpthread.

verification that this fixes various ports ajacoutot@
asm assistance miod@; ok millert@ deraadt@
</content>
</entry>
<entry>
<title>Add locking for __cxa_finalize() as it modifies the page permissions of the</title>
<updated>2014-07-11T09:51:37+00:00</updated>
<author>
<name>kettenis</name>
<email></email>
</author>
<published>2014-07-11T09:51:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=83ea19ee9aaed03e6a04139fc2b6894816d512fb'/>
<id>urn:sha1:83ea19ee9aaed03e6a04139fc2b6894816d512fb</id>
<content type='text'>
__atexit tables and touches global variables.  From Srinavasa Nagaraju
through Android/Elliott Hughes.

ok tedu@, guenther@
</content>
</entry>
<entry>
<title>as noted by google/android via kettenis, atexit handlers can install new</title>
<updated>2014-07-10T21:14:22+00:00</updated>
<author>
<name>tedu</name>
<email></email>
</author>
<published>2014-07-10T21:14:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=74cc960fae8286c437f4ba8d1519051076e75b29'/>
<id>urn:sha1:74cc960fae8286c437f4ba8d1519051076e75b29</id>
<content type='text'>
handlers. if this happens, restart the loop.
ok kettenis matthew millert miod
</content>
</entry>
<entry>
<title>Always call atexit handlers as if they were registered with __cxa_atexit.</title>
<updated>2014-06-18T19:01:10+00:00</updated>
<author>
<name>kettenis</name>
<email></email>
</author>
<published>2014-06-18T19:01:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=944d3fa89a8a293a3a963cbf422a1e085e7f25df'/>
<id>urn:sha1:944d3fa89a8a293a3a963cbf422a1e085e7f25df</id>
<content type='text'>
The extra argument doesn't hurt genuine atexit handlers and this fixes a
bug where we didn't provide the argument (effectively passing garbage) for
functions registered with __cxa_atexit in the main executable.

Pointed out by Dmitriy Ivanov &lt;dimitry@google.com&gt; and Elliott Hughes
&lt;enh@google.com&gt;.

ok matthew@
</content>
</entry>
</feed>
