<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/lib/csu/alpha, branch master</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/lib/csu/alpha?h=master</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/lib/csu/alpha?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2020-10-15T16:30:21Z</updated>
<entry>
<title>crt0 MD _dl_exit() performs syscall to SYS_exit directly, but then</title>
<updated>2020-10-15T16:30:21Z</updated>
<author>
<name>deraadt</name>
<email>deraadt@openbsd.org</email>
</author>
<published>2020-10-15T16:30:21Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=2bc3a8c076b486ad5cb1adf52ac1373fba054b0a'/>
<id>urn:sha1:2bc3a8c076b486ad5cb1adf52ac1373fba054b0a</id>
<content type='text'>
some of these functions were returning.  That makes the +1word address
a fairly strong and easily located gadget.  Put a hard-trap
instruction after the syscall.  This remains a gadget for 'terminal
system' calls (such as execve), but hey that's why we have pledge w/o
"exec" throughout the tree.
Quite surprisingly, hppa's delay-slot load of SYS_exit makes it the
safest of the bunch, not that this helps anyone.
ok kettenis
</content>
</entry>
<entry>
<title>use symbolic SYS_exit instead of the value 1</title>
<updated>2020-10-14T22:11:18Z</updated>
<author>
<name>deraadt</name>
<email>deraadt@openbsd.org</email>
</author>
<published>2020-10-14T22:11:18Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=9c558c1181d4532fa3a04595bff127adc23ef057'/>
<id>urn:sha1:9c558c1181d4532fa3a04595bff127adc23ef057</id>
<content type='text'>
ok kettenis
</content>
</entry>
<entry>
<title>Make alpha less special: _dl_boot_bind() is written to complete</title>
<updated>2018-11-22T21:37:29Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2018-11-22T21:37:29Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=c9db2c6cc9c28bf8ff81d191ed1dd7b77a021120'/>
<id>urn:sha1:c9db2c6cc9c28bf8ff81d191ed1dd7b77a021120</id>
<content type='text'>
relocation of ld.so's GOT without using it, so _reloc_alpha_got()
merely made the call to _dl_boot_bind() from asm simpler...while
itself being a call that required special handling.

diff and muild baking by miod@
ok guenther@
</content>
</entry>
<entry>
<title>_dl_printf is no longer referenced by RELOC_{JMPREL,DYN,GOT}; delete the stub</title>
<updated>2017-08-11T20:13:30Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2017-08-11T20:13:30Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=344baaa7369214af57d570c2005bb07927710f77'/>
<id>urn:sha1:344baaa7369214af57d570c2005bb07927710f77</id>
<content type='text'>
ok kettenis@
</content>
</entry>
<entry>
<title>MD_START is now always ___start, so expand and eliminate it</title>
<updated>2017-01-19T23:47:04Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2017-01-19T23:47:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=48c2532cf0ac165cb15277dedb995ed44e078382'/>
<id>urn:sha1:48c2532cf0ac165cb15277dedb995ed44e078382</id>
<content type='text'>
ok phessler@ deraadt@
</content>
</entry>
<entry>
<title>alpha already calculates &amp;_DYNAMIC for the _reloc_alpha_got() call, so</title>
<updated>2016-08-07T02:34:52Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2016-08-07T02:34:52Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=6cd8d357b8ff1f5df4f577f20cb9ddef1b7d3555'/>
<id>urn:sha1:6cd8d357b8ff1f5df4f577f20cb9ddef1b7d3555</id>
<content type='text'>
save that and pass it to _dl_boot_bind() too
</content>
</entry>
<entry>
<title>Rearrange C runtime bits: now that ld.so exports environ and __progname,</title>
<updated>2016-03-20T02:32:39Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2016-03-20T02:32:39Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=5af055cd66b5450a4935ae30e5716331ca3b13d5'/>
<id>urn:sha1:5af055cd66b5450a4935ae30e5716331ca3b13d5</id>
<content type='text'>
move their definitions and initialization in static links to libc.a
Make crt0 always invoke a new func _csu_finish() in libc to process the auxv
and to either register the ld.so cleanup function (in dynamic links) or
initialize environ and __progname and do MC_DISABLE_KBIND (in static links).
In libc, get pagesize from auxv; cache that between getpagesize() and
sysconf(_SC_PAGESIZE)

ok mpi@ "good time" deraadt@
</content>
</entry>
<entry>
<title>crt0.c is already setting environ, so don't set it in MD_START_SETUP</title>
<updated>2016-03-13T18:35:02Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2016-03-13T18:35:02Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=d5d4315e3de48ca679294ba47062c7faaac64e04'/>
<id>urn:sha1:d5d4315e3de48ca679294ba47062c7faaac64e04</id>
<content type='text'>
ok kettenis@ mpi@
</content>
</entry>
<entry>
<title>In static binaries, invoke kbind() once to disable it.</title>
<updated>2015-09-01T05:40:06Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2015-09-01T05:40:06Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=0a8a9c346022d9ea9d2d120f75edf8549c4915cf'/>
<id>urn:sha1:0a8a9c346022d9ea9d2d120f75edf8549c4915cf</id>
<content type='text'>
With much assistance from miod@
ok deraadt@@
</content>
</entry>
<entry>
<title>Static PIE support for alpha.</title>
<updated>2014-12-27T13:17:51Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2014-12-27T13:17:51Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=2f7dfe5d206aa9341f2242ffd4e9f8373d3f8f5f'/>
<id>urn:sha1:2f7dfe5d206aa9341f2242ffd4e9f8373d3f8f5f</id>
<content type='text'>
This adds alpha-specific first-pass GOT relocation code to boot.h.
The assembly code is pure magic.  The numeric register
names don't make it easier to understand (or compare with the
equivalent ld.so code).  Unfortunately the assembler only understands
a few symbolic register names.

Renames the crt0.o entry point to __start.  Our compiler was already using
__start and the linker will soon follow.

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