diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2026-01-23 18:36:13 -0500 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2026-05-22 16:30:57 -0400 |
| commit | 217b4a3361cbf62020658f12efb47b8fabb6a24d (patch) | |
| tree | 59d677957d85851dcd3d380f7e3350b709e08628 /docs | |
| parent | a4a3de2ad363b1bceb28f106e2cc6d811b3370b5 (diff) | |
Initial support for Go and Pascal calling conventions
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/guide/types/attributes.md | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/guide/types/attributes.md b/docs/guide/types/attributes.md index 34aa1221..1c674a0f 100644 --- a/docs/guide/types/attributes.md +++ b/docs/guide/types/attributes.md @@ -127,6 +127,18 @@ void takes_callback(int (__stdcall* param_func_ptr)()); void __convention("regparm") func(); ``` +### Built-in Calling Conventions + +The following built-in calling conventions without dedicated keywords are available in Binary Ninja: + +|Name|Valid architectures|Description| +|---|---|---| +|`linux-syscall`|Most|Linux system call| +|`windows-syscall`|aarch64|Windows system call| +|`apple-syscall`|aarch64|macOS and iOS system calls| +|`go-stack`|x86, x86_64|Stack-based calling convention used by the Go compiler on 32-bit x86 or older compilers| +|`register`|x86|Register-based calling convention with left-to-right parameter passing (used by default in Delphi)| + ## System Call Functions for Type Libraries [Type Libraries](typelibraries.md) can annotate system calls by adding functions with the special `__syscall()` attribute, specifying names and arguments for each syscall number. This attribute has no effect outside of [Type Libraries](typelibraries.md) and [Platform Types](platformtypes.md). |
