Implementing __printf. Setting libc_raw as default libc. Removing LIBC_STD mode.

This commit is contained in:
Ruben Ayrapetyan
2014-08-06 15:00:33 +04:00
parent 440a3c64a2
commit 084ca2325c
7 changed files with 812 additions and 197 deletions
+12 -12
View File
@@ -23,10 +23,10 @@
* mov %rax -> ret
*/
#define SYSCALL_1( syscall_no, arg1, ret) \
__asm ( "syscall" \
: "=a" ( ret ) \
: "a" (syscall_no), "D" (arg1) \
: "rcx", "r11" );
__asm volatile ( "syscall" \
: "=a" ( ret ) \
: "a" (syscall_no), "D" (arg1) \
: "rcx", "r11" );
/*
* mov syscall_no -> %rax
@@ -36,10 +36,10 @@
* mov %rax -> ret
*/
#define SYSCALL_2( syscall_no, arg1, arg2, ret) \
__asm ( "syscall" \
: "=a" ( ret ) \
: "a" (syscall_no), "D" (arg1), "S" (arg2) \
: "rcx", "r11" );
__asm volatile ( "syscall" \
: "=a" ( ret ) \
: "a" (syscall_no), "D" (arg1), "S" (arg2) \
: "rcx", "r11" );
/*
* mov syscall_no -> %rax
@@ -50,10 +50,10 @@
* mov %rax -> ret
*/
#define SYSCALL_3( syscall_no, arg1, arg2, arg3, ret) \
__asm ( "syscall" \
: "=a" ( ret ) \
: "a" (syscall_no), "D" (arg1), "S" (arg2), "d" (arg3) \
: "rcx", "r11" );
__asm volatile ( "syscall" \
: "=a" ( ret ) \
: "a" (syscall_no), "D" (arg1), "S" (arg2), "d" (arg3) \
: "rcx", "r11" );
#define _START \
mov (%rsp), %rdi; \