diff options
Diffstat (limited to 'sysdeps/i386')
-rw-r--r-- | sysdeps/i386/start.S | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/sysdeps/i386/start.S b/sysdeps/i386/start.S index 24c806cfec..5296b27e65 100644 --- a/sysdeps/i386/start.S +++ b/sysdeps/i386/start.S @@ -87,11 +87,9 @@ ENTRY (_start) call 1f addl $_GLOBAL_OFFSET_TABLE_, %ebx - /* Push address of our own entry points to .fini and .init. */ - leal __libc_csu_fini@GOTOFF(%ebx), %eax - pushl %eax - leal __libc_csu_init@GOTOFF(%ebx), %eax - pushl %eax + /* This used to be the addresses of .fini and .init. */ + pushl $0 + pushl $0 pushl %ecx /* Push second argument: argv. */ pushl %esi /* Push first argument: argc. */ @@ -112,9 +110,9 @@ ENTRY (_start) But let the libc call main. */ call __libc_start_main@PLT #else - /* Push address of our own entry points to .fini and .init. */ - pushl $__libc_csu_fini - pushl $__libc_csu_init + /* This used to be the addresses of .fini and .init. */ + pushl $0 + pushl $0 pushl %ecx /* Push second argument: argv. */ pushl %esi /* Push first argument: argc. */ |