(RTLD_START): Call _dl_init_internal instead of _dl_init.
This commit is contained in:
parent
ae6cfd8bc1
commit
c577723005
|
@ -333,7 +333,7 @@ $fixup_stack_ret: \n\
|
||||||
lda $18, 8($sp) \n\
|
lda $18, 8($sp) \n\
|
||||||
s8addq $17, 8, $19 \n\
|
s8addq $17, 8, $19 \n\
|
||||||
addq $19, $18, $19 \n\
|
addq $19, $18, $19 \n\
|
||||||
jsr $26, _dl_init \n\
|
jsr $26, _dl_init_internal \n\
|
||||||
/* Pass our finalizer function to the user in $0. */ \n\
|
/* Pass our finalizer function to the user in $0. */ \n\
|
||||||
lda $0, _dl_fini \n\
|
lda $0, _dl_fini \n\
|
||||||
/* Jump to the user's entry point. */ \n\
|
/* Jump to the user's entry point. */ \n\
|
||||||
|
|
|
@ -302,7 +302,7 @@ _dl_start_user:
|
||||||
ldr r0, [sl, r0]
|
ldr r0, [sl, r0]
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
@ call _dl_init
|
@ call _dl_init
|
||||||
bl _dl_init(PLT)
|
bl _dl_init_internal(PLT)
|
||||||
@ clear the startup flag
|
@ clear the startup flag
|
||||||
ldr r2, .L_STARTUP_FLAG
|
ldr r2, .L_STARTUP_FLAG
|
||||||
ldr r1, [sl, r2]
|
ldr r1, [sl, r2]
|
||||||
|
|
|
@ -214,7 +214,7 @@ _dl_start_user:
|
||||||
; main_map: at _dl_loaded.
|
; main_map: at _dl_loaded.
|
||||||
move.d [$r0+_rtld_global:GOT16],$r9
|
move.d [$r0+_rtld_global:GOT16],$r9
|
||||||
move.d [$r9],$r10
|
move.d [$r9],$r10
|
||||||
move.d _dl_init:PLTG,$r9
|
move.d _dl_init_internal:PLTG,$r9
|
||||||
add.d $r0,$r9
|
add.d $r0,$r9
|
||||||
jsr $r9
|
jsr $r9
|
||||||
; Pass our finalizer function to the user in R10.
|
; Pass our finalizer function to the user in R10.
|
||||||
|
|
|
@ -372,7 +372,7 @@ asm ( \
|
||||||
\
|
\
|
||||||
/* envp = argv + argc + 1 */ \
|
/* envp = argv + argc + 1 */ \
|
||||||
" sh2add %r25,%r24,%r23\n" \
|
" sh2add %r25,%r24,%r23\n" \
|
||||||
" bl _dl_init,%r2\n" \
|
" bl _dl_init_internal,%r2\n" \
|
||||||
" ldo 4(%r23),%r23\n" /* delay slot */ \
|
" ldo 4(%r23),%r23\n" /* delay slot */ \
|
||||||
\
|
\
|
||||||
/* Reload argc, argv to the registers start.S expects them in (feh) */ \
|
/* Reload argc, argv to the registers start.S expects them in (feh) */ \
|
||||||
|
|
|
@ -177,7 +177,7 @@ _dl_start_user:\n\
|
||||||
pea 8(%sp)\n\
|
pea 8(%sp)\n\
|
||||||
move.l %d1, -(%sp)\n\
|
move.l %d1, -(%sp)\n\
|
||||||
move.l ([_rtld_global@GOT.w, %a5]), -(%sp)\n\
|
move.l ([_rtld_global@GOT.w, %a5]), -(%sp)\n\
|
||||||
jbsr _dl_init@PLTPC\n\
|
jbsr _dl_init_internal@PLTPC\n\
|
||||||
addq.l #8, %sp\n\
|
addq.l #8, %sp\n\
|
||||||
addq.l #8, %sp\n\
|
addq.l #8, %sp\n\
|
||||||
| Pass our finalizer function to the user in %a1.\n\
|
| Pass our finalizer function to the user in %a1.\n\
|
||||||
|
|
|
@ -449,7 +449,7 @@ _dl_start_user:\n\
|
||||||
addu $7, $7, 4\n\
|
addu $7, $7, 4\n\
|
||||||
subu $29, 16\n\
|
subu $29, 16\n\
|
||||||
# Call the function to run the initializers.\n\
|
# Call the function to run the initializers.\n\
|
||||||
jal _dl_init
|
jal _dl_init_internal\n\
|
||||||
addiu $29, 16\n\
|
addiu $29, 16\n\
|
||||||
# Pass our finalizer function to the user in $2 as per ELF ABI.\n\
|
# Pass our finalizer function to the user in $2 as per ELF ABI.\n\
|
||||||
la $2, _dl_fini\n\
|
la $2, _dl_fini\n\
|
||||||
|
|
|
@ -486,7 +486,7 @@ _dl_start_user:\n\
|
||||||
dla $7, 8($29)\n\
|
dla $7, 8($29)\n\
|
||||||
dsubu $29, 16\n\
|
dsubu $29, 16\n\
|
||||||
# Call the function to run the initializers.\n\
|
# Call the function to run the initializers.\n\
|
||||||
jal _dl_init
|
jal _dl_init_internal\n\
|
||||||
daddiu $29, 16\n\
|
daddiu $29, 16\n\
|
||||||
# Pass our finalizer function to the user in ra.\n\
|
# Pass our finalizer function to the user in ra.\n\
|
||||||
dla $31, _dl_fini\n\
|
dla $31, _dl_fini\n\
|
||||||
|
@ -498,7 +498,7 @@ _dl_start_user:\n\
|
||||||
la $7, 8($29)\n\
|
la $7, 8($29)\n\
|
||||||
subu $29, 16\n\
|
subu $29, 16\n\
|
||||||
# Call the function to run the initializers.\n\
|
# Call the function to run the initializers.\n\
|
||||||
jal _dl_init
|
jal _dl_init_internal\n\
|
||||||
addiu $29, 16\n\
|
addiu $29, 16\n\
|
||||||
# Pass our finalizer function to the user in ra.\n\
|
# Pass our finalizer function to the user in ra.\n\
|
||||||
dla $31, _dl_fini\n\
|
dla $31, _dl_fini\n\
|
||||||
|
|
Loading…
Reference in New Issue