From 97a08e5c15f6c3868e30715daa2f76ffbc85ab2a Mon Sep 17 00:00:00 2001 From: Feoramund <161657516+Feoramund@users.noreply.github.com> Date: Sat, 10 May 2025 18:10:47 -0400 Subject: [PATCH] Pass `argc` and `argv` for shared libraries on UNIX-likes This is to support getting `auxv` on SysV platforms. --- base/runtime/entry_unix.odin | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/base/runtime/entry_unix.odin b/base/runtime/entry_unix.odin index e2223d5d6..d188dd40e 100644 --- a/base/runtime/entry_unix.odin +++ b/base/runtime/entry_unix.odin @@ -7,7 +7,8 @@ import "base:intrinsics" when ODIN_BUILD_MODE == .Dynamic { @(link_name="_odin_entry_point", linkage="strong", require/*, link_section=".init"*/) - _odin_entry_point :: proc "c" () { + _odin_entry_point :: proc "c" (argc: i32, argv: [^]cstring) { + args__ = argv[:argc] context = default_context() #force_no_inline _startup_runtime() intrinsics.__entry_point()