summaryrefslogtreecommitdiff
path: root/src/ldso/mips/dlsym.s
blob: c57b972918410aeb7b6a2d419deeeff7dd9cb5b5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.set noreorder
.global dlsym
.type dlsym,@function
dlsym:
	lui $gp, %hi(_gp_disp)
	addiu $gp, %lo(_gp_disp)
	addu $gp, $gp, $25
	move $6, $ra
	lw $25, %call16(__dlsym)($gp)
	addiu $sp, $sp, -16
	sw $ra, 12($sp)
	jalr $25
	nop
	lw $ra, 12($sp)
	jr $ra
	addiu $sp, $sp, 16