Commit Graph
22 Commits
Author SHA1 Message Date
owen 9d9dbeccae Remove dist/ build output from version control
Release binaries are built fresh by CI (.github/workflows/release.yml)
and attached to GitHub releases; checked-in binaries here were just
stale build output, not something the release pipeline reads.
2026-07-18 07:05:34 -05:00
owen 8ae7c6ecf9 Fix TLS upload failures by embedding a CA trust bundle
SSL_CTX_set_default_verify_paths() only works if OpenSSL's compiled-in
default CA path happens to exist on the machine running the binary -
a path baked in wherever OpenSSL was built, not where the release
binary ends up. That almost never matched an end user's machine
(no such path on stock macOS; Linux distros disagree on the
location), so --upload failed with a TLS/certificate error on nearly
every machine except the one that built the release binaries.

Embed the Mozilla CA root bundle (src/ca_bundle.h) as a fallback trust
source, tried alongside the system's own default paths so locally-
trusted/corporate CAs still work where present. Windows is unaffected
since TLS is stubbed out there already.

Bump to 0.1.5-hotfix2.
2026-07-18 07:03:04 -05:00
owen 72043eb956 Add Windows support and windows-amd64/windows-i386 release binaries
The x86-64 kernels were written to the System V ABI only; on Windows's
different calling convention they silently read garbage args and ran in
near-constant time regardless of iteration count. Each public kernel now
gets a small ABI-translating thunk (WIN64_THUNK) on Windows so the kernel
bodies stay single-source. i386 also needed underscore-prefixed symbol
names to match Windows's cdecl convention. Verified end-to-end under Wine,
including determinism across repeated runs.

Also fixes CPU-core detection (sysconf isn't available under MinGW) and
adds memory/CPU-brand detection for the Windows system-info banner.
2026-07-18 06:48:40 -05:00
owen 0c31675c52 Bump version to 0.1.5 2026-07-18 06:02:30 -05:00
owen ad5791bbb7 Add authenticated uploads and rename fossmark to fossbench
Uploads can now be attributed to a fossbench.net profile: set
FOSSBENCH_TOKEN and the client sends it as a Bearer token, which the
server auto-approves and links to the account. Anonymous, pending-review
upload stays the default when no token is set. New --upload/--noupload
flags skip the interactive prompt for scripted runs, and the client
reports HTTP 401/422 distinctly from other failures. The token is never
printed or logged.

Also renames the project and its internal identifiers (FM_/fm_ macros
and symbols, source filenames, binary output names) from fossmark to
fossbench, matching the actual product name. The "fossmark_version"
field in the upload payload is left as-is, since it's the server API's
fixed contract field, not this client's own name.
2026-07-18 06:02:24 -05:00
owen 357e6f0d6d Rewrite i386 backend as hand-written assembly
Replaces the C fallback (borrowed from PowerPC) with dedicated i386
assembly for all nine kernels, matching the amd64/arm64 convention.
Fixes two real bugs found and verified on physical Pentium 4 hardware:
scalar FP silently running on x87 instead of SSE2, and fm_int_math
calling __udivdi3 on every iteration of the highest-weighted test
because the C compiler didn't know its 0xdeadbeef divisor fits in 32
bits. Real-hardware SINGLECORE/MULTICORE scores go from 425/448 to
539/581.
2026-07-18 04:35:03 -05:00
owen 136b417cf8 Add Pentium 4 Linux support 2026-07-17 19:43:26 -05:00
owen 7f33d448c7 Fix DNS uploads in Linux release builds 2026-07-17 19:32:03 -05:00
owen e2b8887dd4 Include machine model in benchmark uploads 2026-07-17 19:29:46 -05:00
owen 28b3ac266b Support legacy Intel macOS loaders 2026-07-17 18:51:31 -05:00
owen 0662bfe52d Stop publishing incompatible PPC64 binaries 2026-07-17 18:30:21 -05:00
owen 438cc58b02 Add PPC64 iMac G5 build support 2026-07-17 18:21:31 -05:00
owen 7e2360c104 remove API token requirement from uploads 2026-07-17 17:30:21 -05:00
owen aaae64e97c link libatomic in static PPC32 release 2026-07-17 17:22:49 -05:00
owen 03a51d9456 add HTTPS uploads and static release builds 2026-07-17 17:19:31 -05:00
owen 48455d1d57 release v0.1.2 2026-07-17 17:10:35 -05:00
owen ec7e7c3a27 add ppc32be, and other fixes 2026-07-17 15:16:30 -05:00
owen 31ba00f1b5 add license 2026-07-17 14:18:45 -05:00
owen 78fd561c74 add ci, almost ready 2026-07-17 14:10:37 -05:00
owen 5c3903509b fix readme, rc1 ready 2026-07-17 14:03:30 -05:00
owen 1e4e2a8ee4 fixes to make macos work correctly. v0.1a ready for release 2026-07-17 13:59:33 -05:00
owen 81f7bd84d0 initial commit for alpha release and testing on MacOS 2026-07-17 13:34:44 -05:00