summaryrefslogtreecommitdiff
path: root/ecomp-c/libc-freestanding.c
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-c/libc-freestanding.c')
-rw-r--r--ecomp-c/libc-freestanding.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/ecomp-c/libc-freestanding.c b/ecomp-c/libc-freestanding.c
index 35f2e02..f37aa83 100644
--- a/ecomp-c/libc-freestanding.c
+++ b/ecomp-c/libc-freestanding.c
@@ -138,19 +138,6 @@ static __attribute__((noinline)) int syscall1( int id, int arg0 )
return retval;
}
-void __builtin_unreachable( void );
-
-static __attribute__((noinline)) __attribute__((noreturn)) void syscall1noret( int id, int arg0 )
-{
- __asm__ volatile( "\
- push %%ebx\n\
- mov %0, %%eax\n\
- mov %1, %%ebx\n\
- int $0x80\n\
- pop %%ebx\n" : : "m"( id ), "m"( arg0 ) );
- __builtin_unreachable( );
-}
-
static __attribute__((noinline)) int syscall3( int id, int arg0, int arg1, int arg2 )
{
int retval;
@@ -177,9 +164,9 @@ static __attribute__((noinline)) int syscall3( int id, int arg0, int arg1, int a
return retval;
}
-__attribute__((noreturn)) void exit( int status )
+void exit( int status )
{
- syscall1noret( SYSCALL_EXIT, status );
+ syscall1( SYSCALL_EXIT, status );
}
static void strreverse( char *s )