mirror of
https://github.com/roc-lang/roc.git
synced 2025-12-23 08:48:03 +00:00
* 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> |
||
|---|---|---|
| .. | ||
| roc | ||
| dec.zig | ||
| fuzz_sort.zig | ||
| hash.zig | ||
| host_abi.zig | ||
| list.zig | ||
| main.zig | ||
| mod.zig | ||
| num.zig | ||
| README.md | ||
| sort.zig | ||
| static_lib.zig | ||
| str.zig | ||
| utils.zig | ||
Builtins
Built-in functions, types, and runtime support for the Roc language.
Overview
The builtins module provides the core runtime functionality that every Roc program depends on. It includes fundamental operations, data types, and the interface between Roc code and the host platform.
Purpose
This module provides:
- Core Data Types: Built-in types like strings, numbers, and basic collections
- Runtime Operations: Fundamental operations like memory allocation, string manipulation, and arithmetic
- Host Platform Interface: The bridge between Roc code and the underlying platform (ABI, system calls, etc.)
- Standard Library: Essential functions that are always available in Roc programs
The builtins module is essential for both the compiler (during type checking and code generation) and the runtime (during program execution).