diff --git a/linker/arch/x86/begin.S b/linker/arch/x86/begin.c
old mode 100644
new mode 100755
similarity index 62%
rename from linker/arch/x86/begin.S
rename to linker/arch/x86/begin.c
index baa386f..2ca15c4
--- a/linker/arch/x86/begin.S
+++ b/linker/arch/x86/begin.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2012 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,22 +26,30 @@
  * SUCH DAMAGE.
  */
 
-.text
-.align 4
-.type _start, @function
-.globl _start
+extern unsigned __linker_init(unsigned int *elfdata);
 
-_start:
-        /* save the elfdata ptr to %eax, AND push it onto the stack */
-        mov    %esp, %eax
-        pushl  %esp
+__attribute__((visibility("hidden")))
+void _start() {
+  void *elfdata;
+  void (*start)(void);
 
-        pushl  %eax
-        call   __linker_init
+  elfdata = __builtin_frame_address(0) + sizeof(void *);
+  start = (void(*)(void))__linker_init(elfdata);
 
-        /* linker init returns (%eax) the _entry address in the main image */
-        /* entry point expects sp to point to elfdata */
-        popl   %esp
-        jmp    *%eax
+  /* linker init returns (%eax) the _entry address in the main image */
+  /* entry point expects sp to point to elfdata */
 
-#include "arch-x86/bionic/__stack_chk_fail_local.S"
+  __asm__ (
+     "mov %0, %%esp\n\t"
+     "jmp *%1\n\t"
+     : : "r"(elfdata), "r"(start) :
+  );
+
+  /* Unreachable */
+}
+
+/* Since linker has its own version of crtbegin (this file) it should have */
+/* own version of __stack_chk_fail_local for the case when it's built with */
+/* stack protector feature */
+
+#include "arch-x86/bionic/__stack_chk_fail_local.h"
