code wiki / (root) / nx_syscalls_x86_64.nx

nx_syscalls_x86_64.nx

buildroot/runtime/nx_syscalls_x86_64.nx

1388 B22 linesdepth 2pulls 2 transitivereach 287 importersview sourcekind librarytopic syscalls
docsdependenciesstructsconstsfunctions

about

nx_syscalls_x86_64.nx -- ALIAS STUB (debt 1785528831, 2026-07-31). THE WRAPPER SET NOW LIVES ONCE, IN nx_syscalls.nx. This file remains only so the ~248 sources that `import "nx_syscalls_x86_64.nx"` keep resolving unchanged; the import layer dedups by canonicalised path, so a translation unit reaching BOTH names now gets ONE definition set instead of two. Same pattern as parse.nx -> nx_parse.nx. WHAT THIS FIXES: this module defined the full syscall wrapper set against RAW x86 numbers with no conditionals, while nx_syscalls.nx defines the SAME wrappers inside @ifndef TARGET_X86_64 against RV64 numbers that the backend translates at emit. Any TU reaching both held EVERY wrapper twice and resolved it SILENTLY BY DEFINITION ORDER -- nx_cc accepted the redefinition without a diagnostic (debt 1785447657). Reverse import-reachability over 17499 sources measured 37 such files. ORDERING THAT MADE THIS SAFE (do not reorder if this is ever redone): the toolchain carrying translator rows 40->165 mount and 51->161 chroot was promoted FIRST. Without them the RV64 numbers pass through verbatim as x86 sendfile/getsockname -- measured, $40 x3 / $51 x2 -- because x86ctx_rv64_to_x86_64_syscall's default branch is `return num`. Deprecation: delete when every consumer imports "nx_syscalls.nx" directly.

dependencies 1 imports · 253 importers

nx_syscalls.nx nx_syscalls_x86_64.nx nx_ac_fdd_test.nx nx_ac_monitor_test.nx nx_ac_sensor_verify_test.nx nx_acme.nx nx_acme_response.nx nx_acme_response_test.nx nx_agreebound_gate.nx nx_arena_scope_test.nx nx_argon2_block_test.nx nx_argon2_g_xvalidate_test.nx

diagram shows first 10 each side; +0 more imports, +243 more importers in the complete lists below.

imports: nx_syscalls.nx

imported by: nx_ac_fdd_test.nxnx_ac_monitor_test.nxnx_ac_sensor_verify_test.nxnx_acme.nxnx_acme_response.nxnx_acme_response_test.nxnx_agreebound_gate.nxnx_arena_scope_test.nxnx_argon2_block_test.nxnx_argon2_g_xvalidate_test.nxnx_argon2id_b0_bisect.nxnx_argon2id_h0_bisect.nxnx_argon2id_t1_xvalidate.nxnx_argon2id_test.nxnx_argon2id_xvalidate_test.nxnx_arm64_e2e_test.nxnx_asn1_emit_test.nxnx_audio_capture.nxnx_audio_playback.nxnx_audio_session.nxnx_audit_server_daemon.nxnx_audit_server_main.nxnx_audit_server_routed.nxnx_award_page_probe.nxnx_bfsk.nxnx_blake2b_long_test.nxnx_blake2b_test.nxnx_brand_apply_enforced.nxnx_build_doc.nxnx_build_site.nxnx_call.nxnx_campaign_gate.nxnx_chain_selfref_adversary.nxnx_chat_ring.nxnx_chat_session.nxnx_chirp_ss.nxnx_chord_grade.nxnx_chord_grade_gate.nxnx_cli_meet.nxnx_codec_grade.nxnx_comms_bench.nxnx_conflict_gate.nxnx_conflict_owned_gate.nxnx_connect_award_page.nxnx_connect_lds_page.nxnx_connect_page.nxnx_connect_reconnect_page.nxnx_connect_youth_page.nxnx_consumable_test.nxnx_container.nxnx_container_image_test.nxnx_container_rootless_test.nxnx_continuity_gate.nxnx_convo_gate.nxnx_descriptor_gate.nxnx_dialogue_gate.nxnx_dns_authoritative.nxnx_dns_authoritative_test.nxnx_dns_client_probe.nxnx_dns_io.nxnx_dns_server_daemon.nxnx_electrical_test.nxnx_elf_writer.nxnx_em_experiment.nxnx_emit_gate.nxnx_emitter_bench.nxnx_emu_arm64.nxnx_emu_arm64_main.nxnx_emu_armv7a.nxnx_emu_cortexm.nxnx_emu_loongarch64.nxnx_emu_loongarch64_main.nxnx_emu_mips64.nxnx_emu_mips64_main.nxnx_emu_ppc64le.nxnx_emu_ppc64le_main.nxnx_emu_riscv32.nxnx_emu_rv64.nxnx_emu_rv64_main.nxnx_emu_rv64_test.nxnx_emu_s390x.nxnx_emu_sparc64.nxnx_emu_sparc64_main.nxnx_emu_x86.nxnx_emu_x86_cf_test.nxnx_emu_x86_k.nxnx_emu_x86_mem_test.nxnx_f64_adversary.nxnx_fidelity_gate.nxnx_fluid_seal_test.nxnx_font_cjk.nxnx_font_curve.nxnx_font_device_ladder.nxnx_font_diag.nxnx_font_full.nxnx_font_gen.nxnx_font_latin.nxnx_font_ttf_emit.nxnx_font_universal.nxnx_font_variants.nx +153 more (shown cap 100 declared)

structs

none

consts

none

functions

none