]> sourceware.org Git - glibc.git/commitdiff
_dl_start: Remove internal_function attribute
authorFlorian Weimer <fweimer@redhat.com>
Mon, 14 Aug 2017 10:29:21 +0000 (12:29 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Mon, 14 Aug 2017 13:08:48 +0000 (15:08 +0200)
The i386 startup code needs adjusting because it calls the function
and the ABI has changed.

ChangeLog
elf/rtld.c
sysdeps/i386/dl-machine.h

index bf655ed0b49a15994c10319c875c4d9a84cb11e2..74ad96d80000784173e841c8350fd5aa1acf86e8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-08-14  Florian Weimer  <fweimer@redhat.com>
+
+       * elf/rtld.c (_dl_start): Remove internal_function.
+       * sysdeps/i386/dl-machine.h (RTLD_START): Adjust call to
+       _dl_start.
+
 2017-08-14  Florian Weimer  <fweimer@redhat.com>
 
        * elf/dl-fini.c (_dl_fini): Remove internal_function
index 1772f89ea893ad55bfc33604bf96982024a6da44..d8e75c02e628fb25a1ac3eeaeccca51dedda5b37 100644 (file)
@@ -439,7 +439,7 @@ _dl_start_final (void *arg, struct dl_start_final_info *info)
   return start_addr;
 }
 
-static ElfW(Addr) __attribute_used__ internal_function
+static ElfW(Addr) __attribute_used__
 _dl_start (void *arg)
 {
 #ifdef DONT_USE_BOOTSTRAP_MAP
index 9ee9d02c3662c8e4759bf99cd23b2df5822196fc..924de953b72a4202dc0213d9aeab6f3199eb44c4 100644 (file)
@@ -150,9 +150,11 @@ extern ElfW(Addr) _dl_profile_fixup (struct link_map *l,
 .globl _start\n\
 .globl _dl_start_user\n\
 _start:\n\
-       # Note that _dl_start gets the parameter in %eax.\n\
        movl %esp, %eax\n\
+        subl $12, %esp\n\
+        pushl %eax\n\
        call _dl_start\n\
+        addl $16, %esp\n\
 _dl_start_user:\n\
        # Save the user entry point address in %edi.\n\
        movl %eax, %edi\n\
This page took 0.050015 seconds and 5 git commands to generate.