This test ensures that all .Serialized types have identical sizes on
32-bit and 64-bit platforms. This is critical because we serialize these
types and expect them to be portable across architectures.
If a Serialized type accidentally contains pointers/slices, it will have
different sizes on different platforms, breaking serialization. This test
catches such issues by building for both native and wasm32 targets.
The test runs in CI as part of the check-once job, and can be run locally
with: zig build test-serialization-sizes
* use zig Builder to generate LLVM bc for platform host shim
* WIP
* Working embedded LLVM compilation
* lints
* Update test_shared_memory_system.zig
* Update main.zig
* Refactor out builder into separate file
* remove clang fallback, remove -Dllvm build flag
* WIP change platform header
* WIP no hardcoded platform entrypoints
* WIP no hardcoded entrypoints
* remove hardcoded interpreter shim entrypoint
* WIP multiple entrypoints
* WIP multiple entrypoints
* WIP alignment issue
* it's working!!
* cleanup
* fmt
* fix tests and snapshots
* fix cross-compile
* WIP fix linking linux
* improved debug logging in rocRun
* WIP fix linux segfaults
* cleanup stray dbgs
* fix Windows linking
* WIP remove std.debug.print in prebuilt shim
* remove libc stubs, try C shim for platform host main
* WORKING ON LINUX!!!
* WIP fixing int platform
* prevent double mapping of shared memory
* WIP
* remove clang fallback
* cleanup test platforms
* vendor linux object files for musl and gnu in test platforms
* fix windows __main export
* typo
* avoide hardcoding libc path and dynamic linker on linux
* some fixes
* try CI fix for linux ARM64
* try use system CRT for ARM64
* use absolute pats for vendored CRT
* minimal roc build
* use target os for filename not host os
* implement app stubs for test platforms
* fix glibc
* WIP cross compilation
* fix run, fix build for native
* Merge remote/main
* fix macos
* add bookends
* remove hosts
* fix cross-compile for linux on macos
* fix files paths for Windows
* Update main.zig
* test ubu 24.04 too
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
* debug: log all used instructions
* fmt
* get bad instruction with gdb
* install gdb
* Revert last 4 commits
* simpler cross-compile arm64 runtime files
* add minimal cross-compilation for glibc
* simplify stub generation
* Update test_int_platform.sh
* Update ci_cross_compile.yml
* Update ci_cross_compile.yml
* try alpine3.18 x64musl files
* Claude's fix + removed CPU instructions
* fix fuzz crash empty after merge
* update snapshot
* restore full CI
* some cleanup
* remove debugging from CI - print all supported CPU instructions
* try using generic when LLVM compiles app stub
* enhanced error handling for app stub compilation using LLVM
* check machine ABI on linux
* try more debugging
* update test script to inidicate truncated error logs, temporarily display everything for arm64 linux errors
* fix missing arm64 libc search paths
* back to normal CI
* try without .git
See https://github.com/ziglang/zig/issues/21316#issuecomment-2408071050
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
* undo .git change
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
* retry zig build command
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
* different retry strategy
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
---------
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
Co-authored-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>