diff --git a/Userland/DynamicLoader/main.cpp b/Userland/DynamicLoader/main.cpp index 6156151aa6..efee7a8f30 100644 --- a/Userland/DynamicLoader/main.cpp +++ b/Userland/DynamicLoader/main.cpp @@ -94,13 +94,15 @@ this helper program directly. extern "C" { // The compiler expects a previous declaration +void _start(int, char**, char**); void _entry(int, char**, char**); -asm( - ".globl _start\n" - "_start:\n" - "push $0\n" - "jmp _entry@plt\n"); +NAKED void _start(int, char**, char**) +{ + asm( + "push $0\n" + "jmp _entry@plt\n"); +} void _entry(int argc, char** argv, char** envp) { diff --git a/Userland/Libraries/LibC/crt0.cpp b/Userland/Libraries/LibC/crt0.cpp index 02ab162785..f496dba46e 100644 --- a/Userland/Libraries/LibC/crt0.cpp +++ b/Userland/Libraries/LibC/crt0.cpp @@ -20,12 +20,14 @@ int main(int, char**, char**); // Tell the compiler that this may be called from somewhere else. int _entry(int argc, char** argv, char** env); +void _start(int, char**, char**); -asm( - ".globl _start\n" - "_start:\n" - "push $0\n" - "jmp _entry@plt\n"); +NAKED void _start(int, char**, char**) +{ + asm( + "push $0\n" + "jmp _entry@plt\n"); +} int _entry(int argc, char** argv, char** env) {