<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/lib/libc/arch/amd64/string/memmove.S, branch jd/queueboosts</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/lib/libc/arch/amd64/string/memmove.S?h=jd%2Fqueueboosts</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/lib/libc/arch/amd64/string/memmove.S?h=jd%2Fqueueboosts'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2018-07-10T16:01:26Z</updated>
<entry>
<title>In asm.h ensure NENTRY uses the old-school nop-sled align, but change standard</title>
<updated>2018-07-10T16:01:26Z</updated>
<author>
<name>deraadt</name>
<email>deraadt@openbsd.org</email>
</author>
<published>2018-07-10T16:01:26Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=a5910b4fbcaa3dd48faff38aeadcb22c953af71e'/>
<id>urn:sha1:a5910b4fbcaa3dd48faff38aeadcb22c953af71e</id>
<content type='text'>
ENTRY is a trapsled.  Fix a few functions which fall-through into an ENTRY
macro. amd64 binaries now are free of double+-nop sequences (except for one
assember nit in aes-586.pl).  Previous changes by guenther got us here.
ok mortimer kettenis
</content>
</entry>
<entry>
<title>Add retguard macros for libc.</title>
<updated>2018-07-03T23:14:05Z</updated>
<author>
<name>mortimer</name>
<email>mortimer@openbsd.org</email>
</author>
<published>2018-07-03T23:14:05Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=631951aab24dc7dce7719dfa2487185ea5ef120f'/>
<id>urn:sha1:631951aab24dc7dce7719dfa2487185ea5ef120f</id>
<content type='text'>
ok deraadt
</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>Split the non-syscall ASM bits from SYS.h into DEFS.h and use that in the</title>
<updated>2015-11-14T21:53:03Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2015-11-14T21:53:03Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=b4551fde27a9b4bffacf003cd41ed7a6c54b4036'/>
<id>urn:sha1:b4551fde27a9b4bffacf003cd41ed7a6c54b4036</id>
<content type='text'>
non-syscall .S source

ok millert@ miod@
</content>
</entry>
<entry>
<title>Add framework for resolving (pun intended) libc namespace issues, using</title>
<updated>2015-08-31T02:53:56Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2015-08-31T02:53:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=9b9d2a55a62c8e82206c25f94fcc7f4e2765250e'/>
<id>urn:sha1:9b9d2a55a62c8e82206c25f94fcc7f4e2765250e</id>
<content type='text'>
wrapper .h files and asm labels to let internal calls resolve directly and
not be overridable or use the PLT.  Then, apply that framework to most of
the functions in stdio.h, string.h, err.h, and wchar.h.  Delete the
should-have-been-hidden-all-along _v?(err|warn)[cx]? symbols while here.

tests clean on i386, amd64, sparc64, powerpc, and mips64

naming feedback from kettenis@ and millert@
ok kettenis@
</content>
</entry>
<entry>
<title>Sprinkle END() in some straightforward *.S files that have ENTRY().  The</title>
<updated>2015-05-29T07:21:09Z</updated>
<author>
<name>uebayasi</name>
<email>uebayasi@openbsd.org</email>
</author>
<published>2015-05-29T07:21:09Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=81af83dd3999903f087ff521acd72984b9808a05'/>
<id>urn:sha1:81af83dd3999903f087ff521acd72984b9808a05</id>
<content type='text'>
resulting *.o have "FUNC" symbols with size set.
</content>
</entry>
<entry>
<title>restructure libc/string + libc/arch/*/string coperation regarding</title>
<updated>2014-11-30T19:43:54Z</updated>
<author>
<name>deraadt</name>
<email>deraadt@openbsd.org</email>
</author>
<published>2014-11-30T19:43:54Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=5b859c19fe53bbea08f5c342e0a4470e99f883e1'/>
<id>urn:sha1:5b859c19fe53bbea08f5c342e0a4470e99f883e1</id>
<content type='text'>
(potentially) MD versions (function dependent, not filename dependent)
split out memcpy/memmove/bcopy and strchr/index/strrchr/rindex
Bring back amd64 .S versions

And the final touch: switch all architectures temporarily to MI
memcpy.c, which contains syslog + abort for overlapping copies.  A nice
harsh undefined behaviour.  We will clean the entire userland of the
remaining issues in this catagory, then switch to the optimised memcpy
which skips the memmove check.

I tried to cut this change into pieces, but testing each sub-step on
every architecture is too time consuming and mindnumbing.
ok miod
</content>
</entry>
<entry>
<title>One of these optimized stubs creates some incredibly subtle damage,</title>
<updated>2014-11-20T21:51:02Z</updated>
<author>
<name>deraadt</name>
<email>deraadt@openbsd.org</email>
</author>
<published>2014-11-20T21:51:02Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=d1a57517ee8d16db5fa9ffc7f8a82afb73782cbe'/>
<id>urn:sha1:d1a57517ee8d16db5fa9ffc7f8a82afb73782cbe</id>
<content type='text'>
causing as(1) to create a wrong nop-sled for text segment aligns.
Revert, until it is found and fixed.
</content>
</entry>
<entry>
<title>Add amd64 assembler versions of some standard functions to libc.  The</title>
<updated>2014-11-20T14:33:00Z</updated>
<author>
<name>reyk</name>
<email>reyk@openbsd.org</email>
</author>
<published>2014-11-20T14:33:00Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=71cd5ab55175e4ba4e758f03a22a8b3c34a8d5a9'/>
<id>urn:sha1:71cd5ab55175e4ba4e758f03a22a8b3c34a8d5a9</id>
<content type='text'>
code is already used in the kernel and the files are unmodified copies
from src/sys/lib/libkern/arch/amd64/.  Depending on the function, this
gives us some speedup in userland.

ok deraadt@, no objections from miod@
</content>
</entry>
</feed>
