From a9afc75152667cf76aa44cda1fc669c74ea207ac Mon Sep 17 00:00:00 2001 From: Dan Ungureanu Date: Thu, 26 Oct 2017 18:50:57 +0300 Subject: [PATCH] Fix broken link. --- SysCall/syscall-1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SysCall/syscall-1.md b/SysCall/syscall-1.md index 8bdd638..a51df03 100644 --- a/SysCall/syscall-1.md +++ b/SysCall/syscall-1.md @@ -120,7 +120,7 @@ _exit(0) = ? +++ exited with 0 +++ ``` -In the first line of the `strace` output, we can see [execve](https://github.com/torvalds/linux/blob/16f73eb02d7e1765ccab3d2018e0bd98eb93d973/arch/x86/entry/syscalls/syscall_64.tbl#L68) system call that executes our program, and the second and third are system calls that we have used in our program: `write` and `exit`. Note that we pass the parameter through the general purpose registers in our example. The order of the registers is not accidental. The order of the registers is defined by the following agreement - [x86-64 calling conventions](https://en.wikipedia.org/wiki/X86_calling_conventions#x86-64_calling_conventions). This and other agreement for the `x86_64` architecture explained in the special document - [System V Application Binary Interface. PDF](https://github.com/hjl-tools/x86-psABI/wiki/X86-psABI). In a general way, argument(s) of a function are placed either in registers or pushed on the stack. The right order is: +In the first line of the `strace` output, we can see [execve](https://github.com/torvalds/linux/blob/16f73eb02d7e1765ccab3d2018e0bd98eb93d973/arch/x86/entry/syscalls/syscall_64.tbl#L68) system call that executes our program, and the second and third are system calls that we have used in our program: `write` and `exit`. Note that we pass the parameter through the general purpose registers in our example. The order of the registers is not accidental. The order of the registers is defined by the following agreement - [x86-64 calling conventions](https://en.wikipedia.org/wiki/X86_calling_conventions#x86-64_calling_conventions). This and other agreement for the `x86_64` architecture explained in the special document - [System V Application Binary Interface. PDF](https://github.com/hjl-tools/x86-psABI/wiki/x86-64-psABI-r252.pdf). In a general way, argument(s) of a function are placed either in registers or pushed on the stack. The right order is: * `rdi`; * `rsi`;