<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/lib/libc/arch/arm/string, branch jd/queueboosts</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/lib/libc/arch/arm/string?h=jd%2Fqueueboosts</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/lib/libc/arch/arm/string?h=jd%2Fqueueboosts'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2018-01-21T21:56:02Z</updated>
<entry>
<title>Implement ffs(3) using the CLZ instructions which has been available ever</title>
<updated>2018-01-21T21:56:02Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2018-01-21T21:56:02Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=a30f7a9e94849b1631dd36f5f71d1b559399f2c1'/>
<id>urn:sha1:a30f7a9e94849b1631dd36f5f71d1b559399f2c1</id>
<content type='text'>
since ARMv5.  Should be much faster but more importantly it removes the
data table from .text which could introduce unwanted ROP gadgets.

Based on changes in Android/Bionic by Elliott Hughes.

ok patrick@
</content>
</entry>
<entry>
<title>Partial revert of rev. 1.7, fixes build with clang</title>
<updated>2018-01-19T11:10:43Z</updated>
<author>
<name>jca</name>
<email>jca@openbsd.org</email>
</author>
<published>2018-01-19T11:10:43Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=18cddbba4e2a0454294d0c2b069fcac74be36111'/>
<id>urn:sha1:18cddbba4e2a0454294d0c2b069fcac74be36111</id>
<content type='text'>
The error was:
--8&lt;--
ffs.S:57:2: error: unsupported relocation on symbol
adrne r2, .L_ffs_table
^
--&gt;8--

Minimal workaround suggested by deraadt@, ok guenther@ kettenis@
</content>
</entry>
<entry>
<title>Instead of trying to handle ffs() with the normal rename-mark-hidden-and-alias</title>
<updated>2018-01-18T08:23:44Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2018-01-18T08:23:44Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=ae3cb403620ab940fbaabb3055fac045a63d56b7'/>
<id>urn:sha1:ae3cb403620ab940fbaabb3055fac045a63d56b7</id>
<content type='text'>
dance, mark it protected.  This works better for both gcc and clang: gcc
blocks overriding of internal calls, while clang permits inlining again.

ok otto@
</content>
</entry>
<entry>
<title>Don't use _libc_ prefix when referencing "builtin" symbols with clang.</title>
<updated>2017-12-16T09:25:43Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2017-12-16T09:25:43Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=fef8d7070320f15f60fec8186ba967ab818ca6a9'/>
<id>urn:sha1:fef8d7070320f15f60fec8186ba967ab818ca6a9</id>
<content type='text'>
Slightly tweaked diff from guenther@
</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>Stop exporting _memcpy, an implementation detail of bcopy/memcpy/memmove</title>
<updated>2017-10-29T02:21:33Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2017-10-29T02:21:33Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=8ead0783a05eee83ab02af2c7b14b10fbcdce47d'/>
<id>urn:sha1:8ead0783a05eee83ab02af2c7b14b10fbcdce47d</id>
<content type='text'>
ok kettenis@ deraadt@
</content>
</entry>
<entry>
<title>Use unified syntax such that this compiles with both gcc and clang.</title>
<updated>2016-09-18T10:22:10Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2016-09-18T10:22:10Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=f2133c794d40a69ff90521845af4024bbe945f67'/>
<id>urn:sha1:f2133c794d40a69ff90521845af4024bbe945f67</id>
<content type='text'>
ok jsg@
</content>
</entry>
<entry>
<title>Use internal names for __errno, _memcpy, memset, and {,_}{set,long}jmp</title>
<updated>2016-08-06T19:16:09Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2016-08-06T19:16:09Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=3884871817cb6c13555e7e8b09d51aa7e2b64045'/>
<id>urn:sha1:3884871817cb6c13555e7e8b09d51aa7e2b64045</id>
<content type='text'>
Eliminate pointless use of PIC_SYM()
Split out DEFS.h from SYS.h like some other archs

ok kettenis@ deraadt@
</content>
</entry>
<entry>
<title>remove duplicate strrchr.c entry in SRCS</title>
<updated>2016-04-28T08:38:20Z</updated>
<author>
<name>jsg</name>
<email>jsg@openbsd.org</email>
</author>
<published>2016-04-28T08:38:20Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=6b869022ef0afe4ffe586c007ec6aceec0a51f79'/>
<id>urn:sha1:6b869022ef0afe4ffe586c007ec6aceec0a51f79</id>
<content type='text'>
ok deraadt@
</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>
</feed>
