<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/sha, branch OPENBSD_7_9_BASE</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9_BASE</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9_BASE'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2026-03-28T13:11:28+00:00</updated>
<entry>
<title>Include crypto_assembly.h instead of manually ensuring _CET_ENDBR exists.</title>
<updated>2026-03-28T13:11:28+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2026-03-28T13:11:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b691bbfcac89ff4cadab20821c931ce1d672b9c9'/>
<id>urn:sha1:b691bbfcac89ff4cadab20821c931ce1d672b9c9</id>
<content type='text'>
ok kenjiro@ tb@
</content>
</entry>
<entry>
<title>Make SHA aarch64 assembly build with gcc.</title>
<updated>2026-01-25T08:22:17+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2026-01-25T08:22:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=c6ef8fc8d3285a55c002f52df2bb2df42b7734c0'/>
<id>urn:sha1:c6ef8fc8d3285a55c002f52df2bb2df42b7734c0</id>
<content type='text'>
gcc is extremely fussy about register naming and insists on q and s naming
for the ARM CE SHA instructions, even though they're referring to the same
register (while LLVM just figures it out). Work around this by mapping
registers to their required variant at usage and defining a handful of
mappings between v registers and alternate names/views.

This is still somewhat ugly, but seems to be one of the cleaner options
that will allow portable to enable SHA assembly on platforms that use gcc.

ok kenjiro@ tb@
</content>
</entry>
<entry>
<title>Tidy instruction separators in SHA assembly.</title>
<updated>2026-01-24T14:20:52+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2026-01-24T14:20:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=1d4a03f3d650a577581aedee8cc799a3ad6668d8'/>
<id>urn:sha1:1d4a03f3d650a577581aedee8cc799a3ad6668d8</id>
<content type='text'>
Remove unnecessary separators and add a few to macros that call other
macros (instead of expecting them to exist).
</content>
</entry>
<entry>
<title>Use .section before .rodata to appease gas.</title>
<updated>2026-01-17T06:31:45+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2026-01-17T06:31:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=650cf9e91c9b18210aaa53983bfb7725a344b7bb'/>
<id>urn:sha1:650cf9e91c9b18210aaa53983bfb7725a344b7bb</id>
<content type='text'>
gas dislikes bare .rodata - add .section before .rodata to make it happier
(LLVM does not care and is happy with either). For consistency, do the same
with .text.
</content>
</entry>
<entry>
<title>Use local label prefix for loop labels.</title>
<updated>2026-01-17T06:23:42+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2026-01-17T06:23:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=f8fcc4d17be5065d3823964ee7fd62dbfb090e96'/>
<id>urn:sha1:f8fcc4d17be5065d3823964ee7fd62dbfb090e96</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Provide accelerated SHA-1 for aarch64.</title>
<updated>2025-06-28T12:51:08+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-06-28T12:51:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=8d0be76398371402b3426575c7326b6e08b0e023'/>
<id>urn:sha1:8d0be76398371402b3426575c7326b6e08b0e023</id>
<content type='text'>
Provide an assembly implementation of SHA-1 for aarch64 using the ARM
Cryptographic Extension (CE). This results in around a 2x speed up for
larger block sizes.

ok tb@
</content>
</entry>
<entry>
<title>Make OPENSSL_IA32_SSE2 the default for i386 and remove the flag.</title>
<updated>2025-06-09T14:28:34+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-06-09T14:28:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=951cd4503ff3c4cc93c1a36cf06138b1ddd739d7'/>
<id>urn:sha1:951cd4503ff3c4cc93c1a36cf06138b1ddd739d7</id>
<content type='text'>
The OPENSSL_IA32_SSE2 flag controls whether a number of the perlasm
scripts generate additional implementations that use SSE2 functionality.
In all cases except ghash, the code checks OPENSSL_ia32cap_P for SSE2
support, before trying to run SSE2 code. For ghash it generates a CLMUL
based implementation in addition to different MMX version (one MMX
version hides behind OPENSSL_IA32_SSE2, the other does not), however this
does not appear to actually use SSE2. We also disable AES-NI on i386 if
OPENSSL_IA32_SSE2.

On OpenBSD, we've always defined OPENSSL_IA32_SSE2 so this is effectively
a no-op. The only change is that we now check MMX rather than SSE2 for the
ghash MMX implementation.

ok bcook@ beck@
</content>
</entry>
<entry>
<title>Remove GNU assembler version check.</title>
<updated>2025-06-09T13:58:28+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-06-09T13:58:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d8ae322f91ae730f31b750787e0180588dab36dc'/>
<id>urn:sha1:d8ae322f91ae730f31b750787e0180588dab36dc</id>
<content type='text'>
GNU assembler version 2.19 was released in 2014, so it does not seem
unreasonable to expect that we have an assembler that supports AVX.
Furthermore, the current check fails on LLVM.

ok bcook@ beck@
</content>
</entry>
<entry>
<title>Use 'ctx' for sha3_ctx variables, rather than the less readable 'c'.</title>
<updated>2025-04-18T07:36:11+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-04-18T07:36:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=40f74488b8ad99303861a7ad88abf6108df59fb0'/>
<id>urn:sha1:40f74488b8ad99303861a7ad88abf6108df59fb0</id>
<content type='text'>
ok tb@
</content>
</entry>
<entry>
<title>Pull casts from void * to uint8_t * up to variables, rather than inline.</title>
<updated>2025-04-18T07:27:42+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-04-18T07:27:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b9a0523d97444dc48412549cc52bb57d6dcd7d7e'/>
<id>urn:sha1:b9a0523d97444dc48412549cc52bb57d6dcd7d7e</id>
<content type='text'>
ok tb@
</content>
</entry>
</feed>
