summaryrefslogtreecommitdiff
path: root/src/ldso/mips/dlsym.s
blob: b1ea98be40f44fcb1502eaec3539ff6349f08c6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
.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
	jalr $25
	sw $ra, 12($sp)
	lw $ra, 12($sp)
	jr $ra
	addiu $sp, $sp, 16