|
@@ -23,60 +23,60 @@ _dl_runtime_resolve:
|
|
|
.frame $29, 40, $31
|
|
|
.set noreorder
|
|
|
|
|
|
- # Save GP.
|
|
|
+ /* Save GP. */
|
|
|
move $3, $28
|
|
|
|
|
|
- # Save arguments and sp value on stack.
|
|
|
+ /* Save arguments and sp value on stack. */
|
|
|
subu $29, 40
|
|
|
|
|
|
- # Modify t9 ($25) so as to point .cpload instruction.
|
|
|
+ /* Modify t9 ($25) so as to point .cpload instruction. */
|
|
|
addiu $25, 12
|
|
|
|
|
|
- # Compute GP.
|
|
|
+ /* Compute GP. */
|
|
|
.set noreorder
|
|
|
.cpload $25
|
|
|
.set reorder
|
|
|
|
|
|
- # Save slot call pc.
|
|
|
+ /* Save slot call pc. */
|
|
|
move $2, $31
|
|
|
.cprestore 32
|
|
|
|
|
|
- # Store function arguments from registers to stack
|
|
|
+ /* Store function arguments from registers to stack */
|
|
|
sw $15, 36($29)
|
|
|
sw $4, 16($29)
|
|
|
sw $5, 20($29)
|
|
|
sw $6, 24($29)
|
|
|
sw $7, 28($29)
|
|
|
|
|
|
- # Setup functions args and call __dl_runtime_resolve
|
|
|
+ /* Setup functions args and call __dl_runtime_resolve */
|
|
|
move $4, $24
|
|
|
move $5, $3
|
|
|
jal __dl_runtime_resolve
|
|
|
|
|
|
- # Restore function arguments from stack to registers
|
|
|
+ /* Restore function arguments from stack to registers */
|
|
|
lw $31, 36($29)
|
|
|
lw $4, 16($29)
|
|
|
lw $5, 20($29)
|
|
|
lw $6, 24($29)
|
|
|
lw $7, 28($29)
|
|
|
|
|
|
- # Do a tail call to the original function
|
|
|
+ /* Do a tail call to the original function */
|
|
|
addiu $29, 40
|
|
|
#else /* N32 || N64 */
|
|
|
.set noreorder
|
|
|
|
|
|
- # Save GP.
|
|
|
+ /* Save GP. */
|
|
|
move $3, $28
|
|
|
|
|
|
- # Save arguments and sp value on stack.
|
|
|
+ /* Save arguments and sp value on stack. */
|
|
|
dsubu $29, 80
|
|
|
|
|
|
- # Compute GP.
|
|
|
+ /* Compute GP. */
|
|
|
.set noreorder
|
|
|
.cpsetup $25, 0, _dl_runtime_resolve
|
|
|
.set reorder
|
|
|
|
|
|
- # Store function arguments from registers to stack
|
|
|
+ /* Store function arguments from registers to stack */
|
|
|
sd $15, 72($29)
|
|
|
sd $4, 8($29)
|
|
|
sd $5, 16($29)
|
|
@@ -87,12 +87,12 @@ _dl_runtime_resolve:
|
|
|
sd $10, 56($29)
|
|
|
sd $11, 64($29)
|
|
|
|
|
|
- # Setup functions args and call __dl_runtime_resolve
|
|
|
+ /* Setup functions args and call __dl_runtime_resolve */
|
|
|
move $4, $24
|
|
|
move $5, $3
|
|
|
jal __dl_runtime_resolve
|
|
|
|
|
|
- # Restore function arguments from stack to registers
|
|
|
+ /* Restore function arguments from stack to registers */
|
|
|
ld $31, 72($29)
|
|
|
ld $4, 8($29)
|
|
|
ld $5, 16($29)
|
|
@@ -103,7 +103,7 @@ _dl_runtime_resolve:
|
|
|
ld $10, 56($29)
|
|
|
ld $11, 64($29)
|
|
|
|
|
|
- # Do a tail call to the original function
|
|
|
+ /* Do a tail call to the original function */
|
|
|
.cpreturn
|
|
|
daddu $29, 80
|
|
|
#endif /* N32 || N64 */
|