Don't zero r1 on entry to the dynamic linker.
There's no need: __linker_init only takes one argument. Also remove the arm __CTOR_LIST__; we use .init_array and .fini_array instead of .ctor and .dtor anyway, and I don't think we've ever supported the latter. Change-Id: Ifc91a5a90c6aa39d674bf0509a7af2e1ff0beddd
This commit is contained in:
parent
006e0770ff
commit
996524383f
@ -26,20 +26,12 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
.text
|
||||
.align 4
|
||||
.type _start,#function
|
||||
.globl _start
|
||||
#include <private/bionic_asm.h>
|
||||
|
||||
_start:
|
||||
mov r0, sp
|
||||
mov r1, #0
|
||||
bl __linker_init
|
||||
ENTRY(_start)
|
||||
mov r0, sp
|
||||
bl __linker_init
|
||||
|
||||
/* linker init returns the _entry address in the main image */
|
||||
mov pc, r0
|
||||
|
||||
.section .ctors, "wa"
|
||||
.globl __CTOR_LIST__
|
||||
__CTOR_LIST__:
|
||||
.long -1
|
||||
/* linker init returns the _entry address in the main image */
|
||||
mov pc, r0
|
||||
END(_start)
|
||||
|
@ -30,8 +30,7 @@
|
||||
|
||||
ENTRY(_start)
|
||||
mov x0, sp
|
||||
mov x1, xzr
|
||||
bl __linker_init
|
||||
bl __linker_init
|
||||
|
||||
/* linker init returns the _entry address in the main image */
|
||||
br x0
|
||||
|
@ -29,7 +29,6 @@
|
||||
#include <private/bionic_asm.h>
|
||||
|
||||
ENTRY(_start)
|
||||
/* Pass elfdata to __linker_init. */
|
||||
mov %rsp, %rdi
|
||||
call __linker_init
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user