<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/lib/csu/arm, branch jd/simplify-queueing</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/lib/csu/arm?h=jd%2Fsimplify-queueing</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/lib/csu/arm?h=jd%2Fsimplify-queueing'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2020-03-13T09:31:24Z</updated>
<entry>
<title>Anthony Steinhauser reports that 32-bit arm cpus have the same speculation</title>
<updated>2020-03-13T09:31:24Z</updated>
<author>
<name>deraadt</name>
<email>deraadt@openbsd.org</email>
</author>
<published>2020-03-13T09:31:24Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=f74a2b77455090a00a6234c40c5f02aa52986a5b'/>
<id>urn:sha1:f74a2b77455090a00a6234c40c5f02aa52986a5b</id>
<content type='text'>
problems as 64-bit models.  To resolve the syscall speculation, as a first
step "nop; nop" was added after all occurances of the syscall ("swi 0")
instruction.  Then the kernel was changed to jump over the 2 extra instructions.
In this final step, those pair of nops are converted into the speculation-blocking
sequence ("dsb nsh; isb").
Don't try to build through these multiple steps, use a snapshot instead.
Packages matching the new ABI will be out in a while...
ok kettenis
</content>
</entry>
<entry>
<title>Anthony Steinhauser reports that 32-bit arm cpus have the same speculation</title>
<updated>2020-03-11T13:09:29Z</updated>
<author>
<name>deraadt</name>
<email>deraadt@openbsd.org</email>
</author>
<published>2020-03-11T13:09:29Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=afaa629c2449cf45f3998658bc9ce86c63099379'/>
<id>urn:sha1:afaa629c2449cf45f3998658bc9ce86c63099379</id>
<content type='text'>
problems as 64-bit models.  For the syscall instruction issue, add nop;nop
after swi 0, in preparation for jumping over a speculation barrier here later.
</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>Use a long branch (using movw/movt) to implement MD_SECT_CALL_FUNC.</title>
<updated>2017-02-26T15:20:58Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2017-02-26T15:20:58Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=08c612f178f469b0f8f2b00e2ab61610e3556188'/>
<id>urn:sha1:08c612f178f469b0f8f2b00e2ab61610e3556188</id>
<content type='text'>
Necessary (but perhaps not suffcient) to build large binaries on arm.

ok guenther@
</content>
</entry>
<entry>
<title>Declare the symbols that label the .ctors, .dtors, .eh_frame, and .jcr</title>
<updated>2017-01-21T00:45:13Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2017-01-21T00:45:13Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=b3fe29f4687edf2be8c3fc3433d38bd40593a33b'/>
<id>urn:sha1:b3fe29f4687edf2be8c3fc3433d38bd40593a33b</id>
<content type='text'>
sections as extern hidden arrays of indefinite size, so that the compiler
(well, clang) doesn't believe it knows the exact contents and thus optimize
things into infinite loops.  Actually set the symbols to be in the sections
and insert the leading and trailing values via __asm().

Problem pointed out by patrick@
testing and ok kettenis@
</content>
</entry>
<entry>
<title>Simplify code that sets up a stack frame for running .init code to be more</title>
<updated>2016-10-03T22:13:30Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2016-10-03T22:13:30Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=306c523a48caa279c9d206c6b255f25839cac41b'/>
<id>urn:sha1:306c523a48caa279c9d206c6b255f25839cac41b</id>
<content type='text'>
AEABI-like.

ok tom@, jsg@
</content>
</entry>
<entry>
<title>Implement self-relocation for -static -pie on arm.  Also removes some</title>
<updated>2016-09-08T18:56:58Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2016-09-08T18:56:58Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=dfd75ee2a3128c0a7d2b0f51c6f5b6b1aefd869c'/>
<id>urn:sha1:dfd75ee2a3128c0a7d2b0f51c6f5b6b1aefd869c</id>
<content type='text'>
unecessary code from the normal startup code and do some general cleanup to
make the code more readable.

ok guenther@, jsg@
</content>
</entry>
<entry>
<title>Unbreak arm and m88k: COPY relocations for weak symbols that are overloaded</title>
<updated>2016-03-24T05:27:19Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2016-03-24T05:27:19Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=8b713dc6c885014c3ed6a317cff92edca10f7822'/>
<id>urn:sha1:8b713dc6c885014c3ed6a317cff92edca10f7822</id>
<content type='text'>
with strong symbols in ld.so don't do what we need, so put definitions back
in crt0 and make ld.so update __progname like it does environ.

report and testing patrick@ jsg@
</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>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>
</feed>
