Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
stringzilla_bare_linux_arm64_4.2.1.deb | 2025-10-12 | 62.8 kB | |
stringzilla_bare_linux_arm64_4.2.1.so | 2025-10-12 | 102.3 kB | |
stringzilla_bare_linux_amd64_4.2.1.deb | 2025-10-12 | 74.0 kB | |
stringzilla_bare_linux_amd64_4.2.1.so | 2025-10-12 | 156.0 kB | |
stringzilla_shared_macos_arm64_4.2.1.zip | 2025-10-12 | 62.5 kB | |
README.md | 2025-10-12 | 3.0 kB | |
v4.2.1_ SHA-256 for JS, Swift, Go source code.tar.gz | 2025-10-12 | 605.2 kB | |
v4.2.1_ SHA-256 for JS, Swift, Go source code.zip | 2025-10-12 | 663.0 kB | |
Totals: 8 Items | 1.7 MB | 4 |
Exposing SHA-256 to GoLang was tricky. Clang worked fine. GCC failed. It turned out that GCC was too shy about inlining my code, resulting in excessive stack space usage... Now, JavaScript, Swift, and GoLang bindings all support incremental SHA-256 procedures 🥳. Thanks to @MarekKnapek for reducing the stack memory usage of the serial SHA variant!
Moreover, thanks to @laurenspriem for highlighting the SIGILL
when probing ID
registers on older Arm CPUs. I've now guarded first mrs
probes with signal handlers. Ugly solution, but it may work 😅 I've also improved the capability detection code on Arm-based Windows machines, using the OS-specific <processthreadsapi.h>
functionality, so now not only pure NEON, but also NEON+SHA+AES kernels, should be dispatched just fine!
Thanks to @ashbob999, StringZilla is also getting more stable Windows builds and stringzilla_bare
coverage in our CI 🦺
Patch
- Make: Removed rand/free/malloc stubs when avoiding libc (0148282)
- Make: Deploy stringzilla_bare for windows (e4ddce8)
- Make: Added .lib file to uploaded windows archives (2dc6936)
- Make: Add MSVC bare builds back (5cc5f01)
- Make: Added stringzilla_bare checks (bbc5cca)
- Fix: Avoid unused POSIX extensions on macOS (aeb06a5)
- Make: Deprecate old cross-compilation scripts (2f34c2d)
- Improve: Drop
-pedantic
for POSIX extensions (e99d557) - Make: Pre-define CMake properties, like
-lpthread
and pointer size (7722bb1) - Improve:
serialize_capability
for Ice Lake on Clang (58f8cf9) - Make: Skip compiler checks for cross-compilation (60988f3)
- Fix: Unused
capabilities
in Arm macOS builds (511a09e) - Docs: Listing
./scripts
and StringWars (5af84dd) - Make: Pass
-D CMAKE_SYSROOT
in cross-compiling CI (a26fc73) - Fix: Suppress unused
alloc
warnings (4868d7f) - Make: Reduce CMake nesting (dda024d)
- Make: Propagate cross-compilation settings (5070321)
- Improve: Detect NEON+SHA+AES via WinAPI (3b175f8)
- Fix: Probe
mrs
for avoidSIGILL
on older Arm (d2f8e97) - Fix: Isolate & skip SHA-256 tests in Go with GCC (0874b13)
- Fix: Deprecates
sz_checksum
(97f9ecf) - Make: More aggressive inlining (e8f33c1)
- Make: Uniform hardware specs logging (f826dfc)
- Improve: Expose
Capabilities
to GoLang (5f2cc97) - Improve: Branchless serial SHA-256 block processor (fe7efe2)
- Fix: Missing modulo in SHA [#254] (5a513b7)
- Improve: Smaller stack usage in SHA-256 (#253) (a298be0)
- Fix: No
noescape/nocallback
for stateful hashes (f8d321f) - Fix: Violating u32/u64 aliasing (7e55e5c)
- Fix: Missing SSE flags for SHA (403b28b)
- Improve:
io.Writer
&hash.Hash64
interface for Go (05f89ca) - Improve: Expose
sz_dispatch_table_init
for Go (5ff7ba1) - Fix: Missing Goldmont & Ice SHA dispatch (e29bded)
- Fix: Supporting unaligned SHA-256 states (c770e48)
- Fix: Missing
C.sz_checksum
(652735d) - Fix: Hex formatting in Swift on Linux (fc65328)
- Improve: SHA for Go, JS, Swift (a165322)