<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/gnu/gcc, branch jd/queueboosts</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/gnu/gcc?h=jd%2Fqueueboosts</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/gnu/gcc?h=jd%2Fqueueboosts'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2019-04-03T04:52:26Z</updated>
<entry>
<title>mortimer unlinked libobjc from the build, but didn't know how to cvs rm.</title>
<updated>2019-04-03T04:52:26Z</updated>
<author>
<name>tedu</name>
<email>tedu@openbsd.org</email>
</author>
<published>2019-04-03T04:52:26Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=1cbfedc589454d1648a14b53fbd0e0645f3d28c4'/>
<id>urn:sha1:1cbfedc589454d1648a14b53fbd0e0645f3d28c4</id>
<content type='text'>
I don't know much about compilers, but what I do have are a very particular
set of skills. Skills I have acquired over a very long career.
</content>
</entry>
<entry>
<title>Pass -L/usr/lib to the linker in preparation for switching to lld, which</title>
<updated>2018-09-14T13:44:18Z</updated>
<author>
<name>naddy</name>
<email>naddy@openbsd.org</email>
</author>
<published>2018-09-14T13:44:18Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=86f55b3d2a934eb190815c5f83a3d683acf7337d'/>
<id>urn:sha1:86f55b3d2a934eb190815c5f83a3d683acf7337d</id>
<content type='text'>
does not have a default search path.  ok kettenis@ jsg@
</content>
</entry>
<entry>
<title>inform that diagnostics in functions won't work, but don't error out</title>
<updated>2018-07-20T10:02:03Z</updated>
<author>
<name>espie</name>
<email>espie@openbsd.org</email>
</author>
<published>2018-07-20T10:02:03Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=154a9ab32bace1b31337109d92288a8db9fede87'/>
<id>urn:sha1:154a9ab32bace1b31337109d92288a8db9fede87</id>
<content type='text'>
flatly.

this will help sparc64 compile code without needing to patch away recent
pragma diagnostic use.

problem found by landry@

okay kettenis@, guenther@
</content>
</entry>
<entry>
<title>Explicitly pass -L/usr/lib to the linker.  Needed for switching to lld(1)</title>
<updated>2018-07-08T09:28:44Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2018-07-08T09:28:44Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=980c57468196583253c0914ca0e9ee6b99969e99'/>
<id>urn:sha1:980c57468196583253c0914ca0e9ee6b99969e99</id>
<content type='text'>
as the default linker on armv7.

ok espie@
</content>
</entry>
<entry>
<title>Add ARM EABI aliases and remove functions that are also provided by our libc.</title>
<updated>2018-01-04T19:46:31Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2018-01-04T19:46:31Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=c7cbac187684cfb8bf7fa4d2401eb831ecbf60be'/>
<id>urn:sha1:c7cbac187684cfb8bf7fa4d2401eb831ecbf60be</id>
<content type='text'>
This allows linking code compiled by clang with the gcc compiler driver
and makes sure we always use the softfloat implementation in libc.  The
libc softfloat implementation is preferred over the one in libgcc as it
implements rounding modes and floating point exceptions.

ok patrick@
</content>
</entry>
<entry>
<title>Fix the __sync_* functions to make them work properly</title>
<updated>2017-08-20T11:12:42Z</updated>
<author>
<name>visa</name>
<email>visa@openbsd.org</email>
</author>
<published>2017-08-20T11:12:42Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=ec223ac0f2a20d15b0aa7691596d53012f339a5a'/>
<id>urn:sha1:ec223ac0f2a20d15b0aa7691596d53012f339a5a</id>
<content type='text'>
as full memory barriers.
</content>
</entry>
<entry>
<title>Make gcc accept -Oz as an alias for -Os for compatibility with clang.</title>
<updated>2017-07-24T16:42:56Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2017-07-24T16:42:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=b428c8644ab58debe667f365296ae60b4a66efdc'/>
<id>urn:sha1:b428c8644ab58debe667f365296ae60b4a66efdc</id>
<content type='text'>
With clang -Os doesn't generate the smallest code possible but some middle
ground between optimization for speed and optimization for size.  A new -Oz
option was introduced for optmization for size only.  We need that for our
floppies, otherwise they overflow.  Making gcc accept -Oz too makes our life
easier.

ok millert@, deraadt@, robert@
</content>
</entry>
<entry>
<title>Make gcc move switch tables into .rodata instead of .text on i386/amd64</title>
<updated>2017-05-31T03:24:20Z</updated>
<author>
<name>stefan</name>
<email>stefan@openbsd.org</email>
</author>
<published>2017-05-31T03:24:20Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=a7e293634bed787cebebfe65a74ec3cb6e3385bb'/>
<id>urn:sha1:a7e293634bed787cebebfe65a74ec3cb6e3385bb</id>
<content type='text'>
For C++, gcc has to make use of comdat sections instead
of .gnu.linkonce sections for this because
switch tables and functions would now end up
in different .gnu.linkonce sections. This can cause ld
to sometimes incorrectly discard the switch tables, which causes
linker errors. With comdat sections, making the switch table
and function sections belong together is more reliable.

ok deraadt@
</content>
</entry>
<entry>
<title>gcc 4.9 makes unknown -Wno-* vanish.</title>
<updated>2017-05-08T20:58:40Z</updated>
<author>
<name>espie</name>
<email>espie@openbsd.org</email>
</author>
<published>2017-05-08T20:58:40Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=cec5ac9d21d833fdec085b7f0bd8c8946f72c086'/>
<id>urn:sha1:cec5ac9d21d833fdec085b7f0bd8c8946f72c086</id>
<content type='text'>
Reimplement that from scratch in our ancient gcc, because it's really
useful for porting newer code and dealing with compiler variations.
(slightly tweaked to reset location to unknown location after the okays)

okay kettenis@ jasper@

found out https://gcc.gnu.org/bugzilla/show_bug.cgi?id=28322
after the patch, which explains a similar reasoning better, and leads
to another patch for older GCC, possibly GPLv3.
</content>
</entry>
<entry>
<title>add support for -msave-args in gcc on amd64</title>
<updated>2017-04-27T00:02:03Z</updated>
<author>
<name>dlg</name>
<email>dlg@openbsd.org</email>
</author>
<published>2017-04-27T00:02:03Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=c31aa7c2c5b9bbd839a954f05d7fd1e547476e82'/>
<id>urn:sha1:c31aa7c2c5b9bbd839a954f05d7fd1e547476e82</id>
<content type='text'>
i got sick of not having arguments in ddb stack traces on amd64,
which is because amd64 passes arguments in registers, and it's
impossible to figure out where they go without dwarf info, and when
you have dwarf info it is complicated.

solaris has a simple solution for this. they tweaked their compilers
to accept an -msave-args option which makes functions store their
arguments on the stack, while maintaining compatability with the
System V AMD64 ABI. tools (eg, ddb) can then look at the stack to
get access to function arguments in traces.

this ports their changes to gcc 3 to our gcc.

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