1*56bb7041Schristos	.abicalls
2*56bb7041Schristos	.set	noreorder
3*56bb7041Schristos
4*56bb7041Schristos	.type	fun, @function
5*56bb7041Schristos	.weak	fun
6*56bb7041Schristos	.type	obj, @object
7*56bb7041Schristos	.weak	obj
8*56bb7041Schristos	.ifdef	prot
9*56bb7041Schristos	.protected fun
10*56bb7041Schristos	.protected obj
11*56bb7041Schristos	.endif
12*56bb7041Schristos	.ifdef	hidn
13*56bb7041Schristos	.hidden	fun
14*56bb7041Schristos	.hidden	obj
15*56bb7041Schristos	.endif
16*56bb7041Schristos	.ifdef	intr
17*56bb7041Schristos	.internal fun
18*56bb7041Schristos	.internal obj
19*56bb7041Schristos	.endif
20*56bb7041Schristos
21*56bb7041Schristos	.section .text.foo, "ax", @progbits
22*56bb7041Schristos	.globl	foo
23*56bb7041Schristos	.ent	foo
24*56bb7041Schristosfoo:
25*56bb7041Schristos	.frame	$sp, 0, $31
26*56bb7041Schristos	.mask	0x00000000, 0
27*56bb7041Schristos	.fmask	0x00000000, 0
28*56bb7041Schristos	.cpload	$25
29*56bb7041Schristos	lui	$4, %got_hi(obj)
30*56bb7041Schristos	lui	$25, %call_hi(fun)
31*56bb7041Schristos	addu	$4, $28
32*56bb7041Schristos	addu	$25, $28
33*56bb7041Schristos	lw	$25, %call_lo(fun)($25)
34*56bb7041Schristos	lw	$4, %got_lo(obj)($4)
35*56bb7041Schristos	jr	$25
36*56bb7041Schristos	 addiu	$4, 4
37*56bb7041Schristos	.end	foo
38*56bb7041Schristos
39*56bb7041Schristos# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
40*56bb7041Schristos	.align	4, 0
41*56bb7041Schristos	.space	16
42*56bb7041Schristos
43*56bb7041Schristos	.section .text.bar, "ax", @progbits
44*56bb7041Schristos	.ent	bar
45*56bb7041Schristosbar:
46*56bb7041Schristos	.frame	$sp, 0, $31
47*56bb7041Schristos	.mask	0x00000000, 0
48*56bb7041Schristos	.fmask	0x00000000, 0
49*56bb7041Schristos	.cpload	$25
50*56bb7041Schristos	lui	$4, %got_hi(obj)
51*56bb7041Schristos	lui	$25, %call_hi(fun)
52*56bb7041Schristos	addu	$4, $28
53*56bb7041Schristos	addu	$25, $28
54*56bb7041Schristos	lwl	$25, %call_lo(fun)($25)
55*56bb7041Schristos	lwr	$4, %got_lo(obj)($4)
56*56bb7041Schristos	jr	$25
57*56bb7041Schristos	 addiu	$4, 4
58*56bb7041Schristos	.end	bar
59*56bb7041Schristos
60*56bb7041Schristos# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
61*56bb7041Schristos	.align	4, 0
62*56bb7041Schristos	.space	16
63