diff options
Diffstat (limited to 'libc/sysdeps')
-rw-r--r-- | libc/sysdeps/linux/i386/crt0.S | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libc/sysdeps/linux/i386/crt0.S b/libc/sysdeps/linux/i386/crt0.S index 98baa257b..735d5167f 100644 --- a/libc/sysdeps/linux/i386/crt0.S +++ b/libc/sysdeps/linux/i386/crt0.S @@ -55,6 +55,7 @@ _start: popl %ecx /* Store argc into %ecx */ movl %esp,%ebx /* Store argv into ebx */ movl %esp,%eax /* Store argv into eax as well*/ + movl %edx,%esi /* Store edx(FINI ptr) in %esi */ movl %ecx,%edx /* Stick argc into %edx so we can do some math in a sec */ leal 4(%eax,%edx,4),%eax @@ -81,7 +82,7 @@ _start: pop %edx addl $_GLOBAL_OFFSET_TABLE_+[.-.L0],%edx #endif - + pushl %esi /* Push FINI pointer */ #if (defined L_crt1 || defined L_Scrt1) && defined __UCLIBC_CTOR_DTOR__ /* Push .init and .fini arguments to __uClibc_start_main() on the stack */ #ifdef L_Scrt1 |