summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2026-01-23 18:36:13 -0500
committerRusty Wagner <rusty.wagner@gmail.com>2026-05-22 16:30:57 -0400
commit217b4a3361cbf62020658f12efb47b8fabb6a24d (patch)
tree59d677957d85851dcd3d380f7e3350b709e08628 /docs
parenta4a3de2ad363b1bceb28f106e2cc6d811b3370b5 (diff)
Initial support for Go and Pascal calling conventions
Diffstat (limited to 'docs')
-rw-r--r--docs/guide/types/attributes.md12
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).