diff options
Diffstat (limited to 'libc/sysdeps/linux/i386')
-rw-r--r-- | libc/sysdeps/linux/i386/crt0.S | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libc/sysdeps/linux/i386/crt0.S b/libc/sysdeps/linux/i386/crt0.S index 3fd7a5e1f..213df9094 100644 --- a/libc/sysdeps/linux/i386/crt0.S +++ b/libc/sysdeps/linux/i386/crt0.S @@ -92,7 +92,7 @@ _start: pushl $_init #endif - /* Push envp, argc, and argc arguments to __uClibc_start_main() on the stack */ + /* Push envp, argc, and argc arguments to __uClibc_start_main() on the stack */ pushl %eax /* Environment pointer */ pushl %ebx /* Argument pointer */ pushl %ecx /* And the argument count */ @@ -104,7 +104,7 @@ _start: call __uClibc_start_main #endif #else - /* Push envp, argc, and argc arguments to __uClibc_start_main() on the stack */ + /* Push envp, argc, and argc arguments to __uClibc_start_main() on the stack */ pushl %eax /* Environment pointer */ pushl %ebx /* Argument pointer */ pushl %ecx /* And the argument count */ @@ -120,10 +120,14 @@ _start: hlt .size _start,.-_start - .section ".data" - .globl __data_start + +/* Define a symbol for the first piece of initialized data. */ + .data + .globl __data_start __data_start: .long 0 + .weak data_start + data_start = __data_start #if defined L_gcrt1 && defined __UCLIBC_PROFILING__ # include "./gmon-start.S" |