OSDN Git Service

Clean it up a little.
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>
Thu, 26 May 2005 23:11:49 +0000 (23:11 -0000)
committerJoakim Tjernlund <joakim.tjernlund@transmode.se>
Thu, 26 May 2005 23:11:49 +0000 (23:11 -0000)
libc/sysdeps/linux/i386/crt1.S

index fa9174f..b5c6849 100644 (file)
@@ -89,14 +89,14 @@ _start:
 
 #if defined L_Scrt1
        /* Load PIC register.  */
-       call 1f
-       addl $_GLOBAL_OFFSET_TABLE_, %ebx
+       call .L0
+.L0:
+       pop %ebx
+       addl $_GLOBAL_OFFSET_TABLE_+[.-.L0],%ebx
 
        /* Push address of our own entry points to .fini and .init.  */
-       leal _fini@GOTOFF(%ebx), %eax
-       pushl %eax
-       leal _init@GOTOFF(%ebx), %eax
-       pushl %eax
+       pushl _fini@GOT(%ebx)
+       pushl _init@GOT(%ebx)
 
        pushl %ecx              /* Push second argument: argv.  */
        pushl %esi              /* Push first argument: argc.  */
@@ -123,10 +123,6 @@ _start:
 
        hlt                     /* Crash if somehow `exit' does return.  */
 
-#if defined L_Scrt1
-1:     movl    (%esp), %ebx
-       ret
-#endif
 /* Define a symbol for the first piece of initialized data.  */
        .data
        .globl __data_start