Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#source: tlssunpic32.s
#source: tlspic.s
#as: --32 -K PIC
#ld: -shared -melf32_sparc
#objdump: -drj.text
#target: sparc*-*-*

.*: +file format elf32-sparc

Disassembly of section .text:

00001000 <fn1-0x8>:
 +1000:	81 c3 e0 08 	retl *
 +1004:	ae 03 c0 17 	add  %o7, %l7, %l7

00001008 <fn1>:
 +1008:	9d e3 bf 98 	save  %sp, -104, %sp
 +100c:	2f 00 00 44 	sethi  %hi\(0x11000\), %l7
 +1010:	7f ff ff fc 	call  1000 <.*>
 +1014:	ae 05 e0 e8 	add  %l7, 0xe8, %l7	! 110e8 <.*>
 +1018:	01 00 00 00 	nop *
 +101c:	01 00 00 00 	nop *
 +1020:	01 00 00 00 	nop *
 +1024:	01 00 00 00 	nop *
 +1028:	23 00 00 00 	sethi  %hi\(0\), %l1
 +102c:	01 00 00 00 	nop *
 +1030:	a4 04 60 2c 	add  %l1, 0x2c, %l2
 +1034:	01 00 00 00 	nop *
 +1038:	90 05 c0 12 	add  %l7, %l2, %o0
 +103c:	01 00 00 00 	nop *
 +1040:	40 00 44 4d 	call  [0-9a-f]+ <__tls_get_addr@plt>
 +1044:	01 00 00 00 	nop *
 +1048:	01 00 00 00 	nop *
 +104c:	01 00 00 00 	nop *
 +1050:	01 00 00 00 	nop *
 +1054:	01 00 00 00 	nop *
 +1058:	11 00 00 00 	sethi  %hi\(0\), %o0
 +105c:	92 02 20 3c 	add  %o0, 0x3c, %o1	! 3c <.*>
 +1060:	d0 05 c0 09 	ld  \[ %l7 \+ %o1 \], %o0
 +1064:	01 00 00 00 	nop *
 +1068:	90 01 c0 08 	add  %g7, %o0, %o0
 +106c:	01 00 00 00 	nop *
 +1070:	01 00 00 00 	nop *
 +1074:	01 00 00 00 	nop *
 +1078:	01 00 00 00 	nop *
 +107c:	19 00 00 00 	sethi  %hi\(0\), %o4
 +1080:	98 03 20 04 	add  %o4, 4, %o4	! 4 <.*>
 +1084:	90 05 c0 0c 	add  %l7, %o4, %o0
 +1088:	40 00 44 3b 	call  [0-9a-f]+ <__tls_get_addr@plt>
 +108c:	01 00 00 00 	nop *
 +1090:	01 00 00 00 	nop *
 +1094:	01 00 00 00 	nop *
 +1098:	01 00 00 00 	nop *
 +109c:	01 00 00 00 	nop *
 +10a0:	11 00 00 00 	sethi  %hi\(0\), %o0
 +10a4:	90 02 20 0c 	add  %o0, 0xc, %o0	! c <.*>
 +10a8:	d0 05 c0 08 	ld  \[ %l7 \+ %o0 \], %o0
 +10ac:	01 00 00 00 	nop *
 +10b0:	90 01 c0 08 	add  %g7, %o0, %o0
 +10b4:	01 00 00 00 	nop *
 +10b8:	01 00 00 00 	nop *
 +10bc:	01 00 00 00 	nop *
 +10c0:	01 00 00 00 	nop *
 +10c4:	19 00 00 00 	sethi  %hi\(0\), %o4
 +10c8:	98 03 20 40 	add  %o4, 0x40, %o4	! 40 <.*>
 +10cc:	90 05 c0 0c 	add  %l7, %o4, %o0
 +10d0:	40 00 44 29 	call  [0-9a-f]+ <__tls_get_addr@plt>
 +10d4:	01 00 00 00 	nop *
 +10d8:	01 00 00 00 	nop *
 +10dc:	01 00 00 00 	nop *
 +10e0:	01 00 00 00 	nop *
 +10e4:	01 00 00 00 	nop *
 +10e8:	11 00 00 00 	sethi  %hi\(0\), %o0
 +10ec:	90 02 20 48 	add  %o0, 0x48, %o0	! 48 <.*>
 +10f0:	d0 05 c0 08 	ld  \[ %l7 \+ %o0 \], %o0
 +10f4:	01 00 00 00 	nop *
 +10f8:	90 01 c0 08 	add  %g7, %o0, %o0
 +10fc:	01 00 00 00 	nop *
 +1100:	01 00 00 00 	nop *
 +1104:	01 00 00 00 	nop *
 +1108:	01 00 00 00 	nop *
 +110c:	19 00 00 00 	sethi  %hi\(0\), %o4
 +1110:	98 03 20 1c 	add  %o4, 0x1c, %o4	! 1c <.*>
 +1114:	90 05 c0 0c 	add  %l7, %o4, %o0
 +1118:	40 00 44 17 	call  [0-9a-f]+ <__tls_get_addr@plt>
 +111c:	01 00 00 00 	nop *
 +1120:	01 00 00 00 	nop *
 +1124:	01 00 00 00 	nop *
 +1128:	01 00 00 00 	nop *
 +112c:	01 00 00 00 	nop *
 +1130:	11 00 00 00 	sethi  %hi\(0\), %o0
 +1134:	90 02 20 24 	add  %o0, 0x24, %o0	! 24 <.*>
 +1138:	d0 05 c0 08 	ld  \[ %l7 \+ %o0 \], %o0
 +113c:	01 00 00 00 	nop *
 +1140:	90 01 c0 08 	add  %g7, %o0, %o0
 +1144:	01 00 00 00 	nop *
 +1148:	01 00 00 00 	nop *
 +114c:	01 00 00 00 	nop *
 +1150:	01 00 00 00 	nop *
 +1154:	23 00 00 00 	sethi  %hi\(0\), %l1
 +1158:	01 00 00 00 	nop *
 +115c:	a4 04 60 14 	add  %l1, 0x14, %l2
 +1160:	01 00 00 00 	nop *
 +1164:	90 05 c0 12 	add  %l7, %l2, %o0
 +1168:	01 00 00 00 	nop *
 +116c:	40 00 44 02 	call  [0-9a-f]+ <__tls_get_addr@plt>
 +1170:	01 00 00 00 	nop *
 +1174:	27 00 00 00 	sethi  %hi\(0\), %l3
 +1178:	01 00 00 00 	nop *
 +117c:	a8 1c e0 20 	xor  %l3, 0x20, %l4
 +1180:	01 00 00 00 	nop *
 +1184:	aa 02 00 14 	add  %o0, %l4, %l5
 +1188:	01 00 00 00 	nop *
 +118c:	25 00 00 00 	sethi  %hi\(0\), %l2
 +1190:	01 00 00 00 	nop *
 +1194:	a6 1c a0 26 	xor  %l2, 0x26, %l3
 +1198:	01 00 00 00 	nop *
 +119c:	ec 12 00 13 	lduh  \[ %o0 \+ %l3 \], %l6
 +11a0:	01 00 00 00 	nop *
 +11a4:	01 00 00 00 	nop *
 +11a8:	01 00 00 00 	nop *
 +11ac:	01 00 00 00 	nop *
 +11b0:	13 00 00 00 	sethi  %hi\(0\), %o1
 +11b4:	27 00 00 00 	sethi  %hi\(0\), %l3
 +11b8:	94 02 60 14 	add  %o1, 0x14, %o2
 +11bc:	25 00 00 00 	sethi  %hi\(0\), %l2
 +11c0:	90 05 c0 0a 	add  %l7, %o2, %o0
 +11c4:	a8 1c e0 40 	xor  %l3, 0x40, %l4
 +11c8:	40 00 43 eb 	call  [0-9a-f]+ <__tls_get_addr@plt>
 +11cc:	a6 1c a0 45 	xor  %l2, 0x45, %l3
 +11d0:	aa 02 00 14 	add  %o0, %l4, %l5
 +11d4:	ec 0a 00 13 	ldub  \[ %o0 \+ %l3 \], %l6
 +11d8:	01 00 00 00 	nop *
 +11dc:	01 00 00 00 	nop *
 +11e0:	01 00 00 00 	nop *
 +11e4:	01 00 00 00 	nop *
 +11e8:	13 00 00 00 	sethi  %hi\(0\), %o1
 +11ec:	27 00 00 00 	sethi  %hi\(0\), %l3
 +11f0:	94 02 60 14 	add  %o1, 0x14, %o2
 +11f4:	25 00 00 00 	sethi  %hi\(0\), %l2
 +11f8:	90 05 c0 0a 	add  %l7, %o2, %o0
 +11fc:	a8 1c e0 63 	xor  %l3, 0x63, %l4
 +1200:	40 00 43 dd 	call  [0-9a-f]+ <__tls_get_addr@plt>
 +1204:	a6 1c a0 64 	xor  %l2, 0x64, %l3
 +1208:	aa 02 00 14 	add  %o0, %l4, %l5
 +120c:	ec 02 00 13 	ld  \[ %o0 \+ %l3 \], %l6
 +1210:	01 00 00 00 	nop *
 +1214:	01 00 00 00 	nop *
 +1218:	01 00 00 00 	nop *
 +121c:	01 00 00 00 	nop *
 +1220:	23 00 00 00 	sethi  %hi\(0\), %l1
 +1224:	01 00 00 00 	nop *
 +1228:	a4 04 60 3c 	add  %l1, 0x3c, %l2
 +122c:	01 00 00 00 	nop *
 +1230:	e4 05 c0 12 	ld  \[ %l7 \+ %l2 \], %l2
 +1234:	01 00 00 00 	nop *
 +1238:	a4 01 c0 12 	add  %g7, %l2, %l2
 +123c:	01 00 00 00 	nop *
 +1240:	01 00 00 00 	nop *
 +1244:	01 00 00 00 	nop *
 +1248:	01 00 00 00 	nop *
 +124c:	17 00 00 00 	sethi  %hi\(0\), %o3
 +1250:	96 02 e0 0c 	add  %o3, 0xc, %o3	! c <.*>
 +1254:	d4 05 c0 0b 	ld  \[ %l7 \+ %o3 \], %o2
 +1258:	98 01 c0 0a 	add  %g7, %o2, %o4
 +125c:	01 00 00 00 	nop *
 +1260:	01 00 00 00 	nop *
 +1264:	01 00 00 00 	nop *
 +1268:	01 00 00 00 	nop *
 +126c:	23 00 00 00 	sethi  %hi\(0\), %l1
 +1270:	a4 04 60 48 	add  %l1, 0x48, %l2	! 48 <.*>
 +1274:	e4 05 c0 12 	ld  \[ %l7 \+ %l2 \], %l2
 +1278:	a4 01 c0 12 	add  %g7, %l2, %l2
 +127c:	01 00 00 00 	nop *
 +1280:	01 00 00 00 	nop *
 +1284:	01 00 00 00 	nop *
 +1288:	01 00 00 00 	nop *
 +128c:	23 00 00 00 	sethi  %hi\(0\), %l1
 +1290:	a4 04 60 24 	add  %l1, 0x24, %l2	! 24 <.*>
 +1294:	e4 05 c0 12 	ld  \[ %l7 \+ %l2 \], %l2
 +1298:	a4 01 c0 12 	add  %g7, %l2, %l2
 +129c:	01 00 00 00 	nop *
 +12a0:	01 00 00 00 	nop *
 +12a4:	01 00 00 00 	nop *
 +12a8:	01 00 00 00 	nop *
 +12ac:	23 00 00 00 	sethi  %hi\(0\), %l1
 +12b0:	a4 04 60 28 	add  %l1, 0x28, %l2	! 28 <.*>
 +12b4:	e4 05 c0 12 	ld  \[ %l7 \+ %l2 \], %l2
 +12b8:	e4 01 c0 12 	ld  \[ %g7 \+ %l2 \], %l2
 +12bc:	01 00 00 00 	nop *
 +12c0:	01 00 00 00 	nop *
 +12c4:	01 00 00 00 	nop *
 +12c8:	01 00 00 00 	nop *
 +12cc:	17 00 00 00 	sethi  %hi\(0\), %o3
 +12d0:	98 02 e0 10 	add  %o3, 0x10, %o4	! 10 <.*>
 +12d4:	da 05 c0 0c 	ld  \[ %l7 \+ %o4 \], %o5
 +12d8:	e4 29 c0 0d 	stb  %l2, \[ %g7 \+ %o5 \]
 +12dc:	01 00 00 00 	nop *
 +12e0:	01 00 00 00 	nop *
 +12e4:	01 00 00 00 	nop *
 +12e8:	01 00 00 00 	nop *
 +12ec:	17 00 00 00 	sethi  %hi\(0\), %o3
 +12f0:	98 02 e0 34 	add  %o3, 0x34, %o4	! 34 <.*>
 +12f4:	da 05 c0 0c 	ld  \[ %l7 \+ %o4 \], %o5
 +12f8:	e4 11 c0 0d 	lduh  \[ %g7 \+ %o5 \], %l2
 +12fc:	01 00 00 00 	nop *
 +1300:	01 00 00 00 	nop *
 +1304:	01 00 00 00 	nop *
 +1308:	01 00 00 00 	nop *
 +130c:	17 00 00 00 	sethi  %hi\(0\), %o3
 +1310:	98 02 e0 38 	add  %o3, 0x38, %o4	! 38 <.*>
 +1314:	da 05 c0 0c 	ld  \[ %l7 \+ %o4 \], %o5
 +1318:	e4 21 c0 0d 	st  %l2, \[ %g7 \+ %o5 \]
 +131c:	01 00 00 00 	nop *
 +1320:	01 00 00 00 	nop *
 +1324:	01 00 00 00 	nop *
 +1328:	01 00 00 00 	nop *
 +132c:	81 c7 e0 08 	ret *
 +1330:	81 e8 00 00 	restore *
#pass