diff src/obj_dump_gcc @ 0:53676d1f5817 default tip

firsh commit
author tobaru
date Sun, 04 Feb 2018 17:54:49 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/obj_dump_gcc	Sun Feb 04 17:54:49 2018 +0900
@@ -0,0 +1,305 @@
+
+build/start.o_gcc:     file format elf32-littlearm
+
+
+Disassembly of section .text:
+
+00000000 <_uart_putc>:
+   0:	e52db004 	push	{fp}		; (str fp, [sp, #-4]!)
+   4:	e28db000 	add	fp, sp, #0
+   8:	e24dd014 	sub	sp, sp, #20
+   c:	e50b0010 	str	r0, [fp, #-16]
+  10:	e59f301c 	ldr	r3, [pc, #28]	; 34 <_uart_putc+0x34>
+  14:	e50b3008 	str	r3, [fp, #-8]
+  18:	e51b3010 	ldr	r3, [fp, #-16]
+  1c:	e6ef2073 	uxtb	r2, r3
+  20:	e51b3008 	ldr	r3, [fp, #-8]
+  24:	e5c32000 	strb	r2, [r3]
+  28:	e24bd000 	sub	sp, fp, #0
+  2c:	e49db004 	pop	{fp}		; (ldr fp, [sp], #4)
+  30:	e12fff1e 	bx	lr
+  34:	101f1000 	.word	0x101f1000
+
+00000038 <_puts>:
+  38:	e92d4800 	push	{fp, lr}
+  3c:	e28db004 	add	fp, sp, #4
+  40:	e24dd008 	sub	sp, sp, #8
+  44:	e50b0008 	str	r0, [fp, #-8]
+  48:	ea000006 	b	68 <_puts+0x30>
+  4c:	e51b3008 	ldr	r3, [fp, #-8]
+  50:	e5d33000 	ldrb	r3, [r3]
+  54:	e1a00003 	mov	r0, r3
+  58:	ebfffffe 	bl	0 <_uart_putc>
+  5c:	e51b3008 	ldr	r3, [fp, #-8]
+  60:	e2833001 	add	r3, r3, #1
+  64:	e50b3008 	str	r3, [fp, #-8]
+  68:	e51b3008 	ldr	r3, [fp, #-8]
+  6c:	e5d33000 	ldrb	r3, [r3]
+  70:	e3530000 	cmp	r3, #0
+  74:	1afffff4 	bne	4c <_puts+0x14>
+  78:	e24bd004 	sub	sp, fp, #4
+  7c:	e8bd8800 	pop	{fp, pc}
+
+00000080 <_putint>:
+  80:	e92d4800 	push	{fp, lr}
+  84:	e28db004 	add	fp, sp, #4
+  88:	e24dd018 	sub	sp, sp, #24
+  8c:	e50b0010 	str	r0, [fp, #-16]
+  90:	e50b1014 	str	r1, [fp, #-20]	; 0xffffffec
+  94:	e50b2018 	str	r2, [fp, #-24]	; 0xffffffe8
+  98:	e59f3078 	ldr	r3, [pc, #120]	; 118 <_putint+0x98>
+  9c:	e50b300c 	str	r3, [fp, #-12]
+  a0:	e51b3010 	ldr	r3, [fp, #-16]
+  a4:	e3530000 	cmp	r3, #0
+  a8:	0a000001 	beq	b4 <_putint+0x34>
+  ac:	e51b0010 	ldr	r0, [fp, #-16]
+  b0:	ebfffffe 	bl	38 <_puts>
+  b4:	e3a0301c 	mov	r3, #28
+  b8:	e50b3008 	str	r3, [fp, #-8]
+  bc:	ea00000b 	b	f0 <_putint+0x70>
+  c0:	e51b2014 	ldr	r2, [fp, #-20]	; 0xffffffec
+  c4:	e51b3008 	ldr	r3, [fp, #-8]
+  c8:	e1a03332 	lsr	r3, r2, r3
+  cc:	e203300f 	and	r3, r3, #15
+  d0:	e51b200c 	ldr	r2, [fp, #-12]
+  d4:	e0823003 	add	r3, r2, r3
+  d8:	e5d33000 	ldrb	r3, [r3]
+  dc:	e1a00003 	mov	r0, r3
+  e0:	ebfffffe 	bl	0 <_uart_putc>
+  e4:	e51b3008 	ldr	r3, [fp, #-8]
+  e8:	e2433004 	sub	r3, r3, #4
+  ec:	e50b3008 	str	r3, [fp, #-8]
+  f0:	e51b3008 	ldr	r3, [fp, #-8]
+  f4:	e3530000 	cmp	r3, #0
+  f8:	aafffff0 	bge	c0 <_putint+0x40>
+  fc:	e51b3018 	ldr	r3, [fp, #-24]	; 0xffffffe8
+ 100:	e3530000 	cmp	r3, #0
+ 104:	0a000001 	beq	110 <_putint+0x90>
+ 108:	e51b0018 	ldr	r0, [fp, #-24]	; 0xffffffe8
+ 10c:	ebfffffe 	bl	38 <_puts>
+ 110:	e24bd004 	sub	sp, fp, #4
+ 114:	e8bd8800 	pop	{fp, pc}
+ 118:	00000000 	.word	0x00000000
+
+0000011c <get_pde>:
+ 11c:	e52db004 	push	{fp}		; (str fp, [sp, #-4]!)
+ 120:	e28db000 	add	fp, sp, #0
+ 124:	e24dd00c 	sub	sp, sp, #12
+ 128:	e50b0008 	str	r0, [fp, #-8]
+ 12c:	e51b3008 	ldr	r3, [fp, #-8]
+ 130:	e1a03a23 	lsr	r3, r3, #20
+ 134:	e50b3008 	str	r3, [fp, #-8]
+ 138:	e59f3020 	ldr	r3, [pc, #32]	; 160 <get_pde+0x44>
+ 13c:	e5932000 	ldr	r2, [r3]
+ 140:	e51b3008 	ldr	r3, [fp, #-8]
+ 144:	e1a03103 	lsl	r3, r3, #2
+ 148:	e0823003 	add	r3, r2, r3
+ 14c:	e5933000 	ldr	r3, [r3]
+ 150:	e1a00003 	mov	r0, r3
+ 154:	e24bd000 	sub	sp, fp, #0
+ 158:	e49db004 	pop	{fp}		; (ldr fp, [sp], #4)
+ 15c:	e12fff1e 	bx	lr
+ 160:	00000000 	.word	0x00000000
+
+00000164 <set_bootpgtbl>:
+ 164:	e52db004 	push	{fp}		; (str fp, [sp, #-4]!)
+ 168:	e28db000 	add	fp, sp, #0
+ 16c:	e24dd01c 	sub	sp, sp, #28
+ 170:	e50b0010 	str	r0, [fp, #-16]
+ 174:	e50b1014 	str	r1, [fp, #-20]	; 0xffffffec
+ 178:	e50b2018 	str	r2, [fp, #-24]	; 0xffffffe8
+ 17c:	e50b301c 	str	r3, [fp, #-28]	; 0xffffffe4
+ 180:	e51b3010 	ldr	r3, [fp, #-16]
+ 184:	e1a03a23 	lsr	r3, r3, #20
+ 188:	e50b3010 	str	r3, [fp, #-16]
+ 18c:	e51b3014 	ldr	r3, [fp, #-20]	; 0xffffffec
+ 190:	e1a03a23 	lsr	r3, r3, #20
+ 194:	e50b3014 	str	r3, [fp, #-20]	; 0xffffffec
+ 198:	e51b3018 	ldr	r3, [fp, #-24]	; 0xffffffe8
+ 19c:	e1a03a23 	lsr	r3, r3, #20
+ 1a0:	e50b3018 	str	r3, [fp, #-24]	; 0xffffffe8
+ 1a4:	e3a03000 	mov	r3, #0
+ 1a8:	e50b300c 	str	r3, [fp, #-12]
+ 1ac:	ea000029 	b	258 <set_bootpgtbl+0xf4>
+ 1b0:	e51b3014 	ldr	r3, [fp, #-20]	; 0xffffffec
+ 1b4:	e1a03a03 	lsl	r3, r3, #20
+ 1b8:	e50b3008 	str	r3, [fp, #-8]
+ 1bc:	e51b301c 	ldr	r3, [fp, #-28]	; 0xffffffe4
+ 1c0:	e3530000 	cmp	r3, #0
+ 1c4:	1a000004 	bne	1dc <set_bootpgtbl+0x78>
+ 1c8:	e51b3008 	ldr	r3, [fp, #-8]
+ 1cc:	e3833b01 	orr	r3, r3, #1024	; 0x400
+ 1d0:	e383300e 	orr	r3, r3, #14
+ 1d4:	e50b3008 	str	r3, [fp, #-8]
+ 1d8:	ea000003 	b	1ec <set_bootpgtbl+0x88>
+ 1dc:	e51b3008 	ldr	r3, [fp, #-8]
+ 1e0:	e3833b01 	orr	r3, r3, #1024	; 0x400
+ 1e4:	e3833002 	orr	r3, r3, #2
+ 1e8:	e50b3008 	str	r3, [fp, #-8]
+ 1ec:	e51b3010 	ldr	r3, [fp, #-16]
+ 1f0:	e35300ff 	cmp	r3, #255	; 0xff
+ 1f4:	8a000007 	bhi	218 <set_bootpgtbl+0xb4>
+ 1f8:	e59f3074 	ldr	r3, [pc, #116]	; 274 <set_bootpgtbl+0x110>
+ 1fc:	e5932000 	ldr	r2, [r3]
+ 200:	e51b3010 	ldr	r3, [fp, #-16]
+ 204:	e1a03103 	lsl	r3, r3, #2
+ 208:	e0823003 	add	r3, r2, r3
+ 20c:	e51b2008 	ldr	r2, [fp, #-8]
+ 210:	e5832000 	str	r2, [r3]
+ 214:	ea000006 	b	234 <set_bootpgtbl+0xd0>
+ 218:	e59f3058 	ldr	r3, [pc, #88]	; 278 <set_bootpgtbl+0x114>
+ 21c:	e5932000 	ldr	r2, [r3]
+ 220:	e51b3010 	ldr	r3, [fp, #-16]
+ 224:	e1a03103 	lsl	r3, r3, #2
+ 228:	e0823003 	add	r3, r2, r3
+ 22c:	e51b2008 	ldr	r2, [fp, #-8]
+ 230:	e5832000 	str	r2, [r3]
+ 234:	e51b3010 	ldr	r3, [fp, #-16]
+ 238:	e2833001 	add	r3, r3, #1
+ 23c:	e50b3010 	str	r3, [fp, #-16]
+ 240:	e51b3014 	ldr	r3, [fp, #-20]	; 0xffffffec
+ 244:	e2833001 	add	r3, r3, #1
+ 248:	e50b3014 	str	r3, [fp, #-20]	; 0xffffffec
+ 24c:	e51b300c 	ldr	r3, [fp, #-12]
+ 250:	e2833001 	add	r3, r3, #1
+ 254:	e50b300c 	str	r3, [fp, #-12]
+ 258:	e51b200c 	ldr	r2, [fp, #-12]
+ 25c:	e51b3018 	ldr	r3, [fp, #-24]	; 0xffffffe8
+ 260:	e1520003 	cmp	r2, r3
+ 264:	3affffd1 	bcc	1b0 <set_bootpgtbl+0x4c>
+ 268:	e24bd000 	sub	sp, fp, #0
+ 26c:	e49db004 	pop	{fp}		; (ldr fp, [sp], #4)
+ 270:	e12fff1e 	bx	lr
+	...
+
+0000027c <_flush_all>:
+ 27c:	e52db004 	push	{fp}		; (str fp, [sp, #-4]!)
+ 280:	e28db000 	add	fp, sp, #0
+ 284:	e24dd00c 	sub	sp, sp, #12
+ 288:	e3a03000 	mov	r3, #0
+ 28c:	e50b3008 	str	r3, [fp, #-8]
+ 290:	e51b3008 	ldr	r3, [fp, #-8]
+ 294:	ee083f17 	mcr	15, 0, r3, cr8, cr7, {0}
+ 298:	e24bd000 	sub	sp, fp, #0
+ 29c:	e49db004 	pop	{fp}		; (ldr fp, [sp], #4)
+ 2a0:	e12fff1e 	bx	lr
+
+000002a4 <load_pgtlb>:
+ 2a4:	e92d4800 	push	{fp, lr}
+ 2a8:	e28db004 	add	fp, sp, #4
+ 2ac:	e24dd018 	sub	sp, sp, #24
+ 2b0:	e50b0018 	str	r0, [fp, #-24]	; 0xffffffe8
+ 2b4:	e50b101c 	str	r1, [fp, #-28]	; 0xffffffe4
+ 2b8:	ee103f10 	mrc	15, 0, r3, cr0, cr0, {0}
+ 2bc:	e50b3008 	str	r3, [fp, #-8]
+ 2c0:	e51b3008 	ldr	r3, [fp, #-8]
+ 2c4:	e1a03823 	lsr	r3, r3, #16
+ 2c8:	e6ef3073 	uxtb	r3, r3
+ 2cc:	e203300f 	and	r3, r3, #15
+ 2d0:	e54b3009 	strb	r3, [fp, #-9]
+ 2d4:	e55b3009 	ldrb	r3, [fp, #-9]
+ 2d8:	e3530007 	cmp	r3, #7
+ 2dc:	0a000004 	beq	2f4 <load_pgtlb+0x50>
+ 2e0:	e55b3009 	ldrb	r3, [fp, #-9]
+ 2e4:	e353000f 	cmp	r3, #15
+ 2e8:	0a000001 	beq	2f4 <load_pgtlb+0x50>
+ 2ec:	e59f0070 	ldr	r0, [pc, #112]	; 364 <load_pgtlb+0xc0>
+ 2f0:	ebfffffe 	bl	38 <_puts>
+ 2f4:	e59f306c 	ldr	r3, [pc, #108]	; 368 <load_pgtlb+0xc4>
+ 2f8:	e50b3010 	str	r3, [fp, #-16]
+ 2fc:	e51b3010 	ldr	r3, [fp, #-16]
+ 300:	ee033f10 	mcr	15, 0, r3, cr3, cr0, {0}
+ 304:	e3a03004 	mov	r3, #4
+ 308:	e50b3010 	str	r3, [fp, #-16]
+ 30c:	e51b3010 	ldr	r3, [fp, #-16]
+ 310:	ee023f50 	mcr	15, 0, r3, cr2, cr0, {2}
+ 314:	e59f3050 	ldr	r3, [pc, #80]	; 36c <load_pgtlb+0xc8>
+ 318:	e5933000 	ldr	r3, [r3]
+ 31c:	e50b3010 	str	r3, [fp, #-16]
+ 320:	e51b3010 	ldr	r3, [fp, #-16]
+ 324:	ee023f30 	mcr	15, 0, r3, cr2, cr0, {1}
+ 328:	e51b301c 	ldr	r3, [fp, #-28]	; 0xffffffe4
+ 32c:	e50b3010 	str	r3, [fp, #-16]
+ 330:	e51b3010 	ldr	r3, [fp, #-16]
+ 334:	ee023f10 	mcr	15, 0, r3, cr2, cr0, {0}
+ 338:	ee113f10 	mrc	15, 0, r3, cr1, cr0, {0}
+ 33c:	e50b3010 	str	r3, [fp, #-16]
+ 340:	e51b2010 	ldr	r2, [fp, #-16]
+ 344:	e59f3024 	ldr	r3, [pc, #36]	; 370 <load_pgtlb+0xcc>
+ 348:	e1823003 	orr	r3, r2, r3
+ 34c:	e50b3010 	str	r3, [fp, #-16]
+ 350:	e51b3010 	ldr	r3, [fp, #-16]
+ 354:	ee013f10 	mcr	15, 0, r3, cr1, cr0, {0}
+ 358:	ebffffc7 	bl	27c <_flush_all>
+ 35c:	e24bd004 	sub	sp, fp, #4
+ 360:	e8bd8800 	pop	{fp, pc}
+ 364:	00000014 	.word	0x00000014
+ 368:	55555555 	.word	0x55555555
+ 36c:	00000000 	.word	0x00000000
+ 370:	0080300d 	.word	0x0080300d
+
+00000374 <clear_bss>:
+ 374:	e92d4800 	push	{fp, lr}
+ 378:	e28db004 	add	fp, sp, #4
+ 37c:	e59f2018 	ldr	r2, [pc, #24]	; 39c <clear_bss+0x28>
+ 380:	e59f3018 	ldr	r3, [pc, #24]	; 3a0 <clear_bss+0x2c>
+ 384:	e0633002 	rsb	r3, r3, r2
+ 388:	e59f0010 	ldr	r0, [pc, #16]	; 3a0 <clear_bss+0x2c>
+ 38c:	e3a01000 	mov	r1, #0
+ 390:	e1a02003 	mov	r2, r3
+ 394:	ebfffffe 	bl	0 <memset>
+ 398:	e8bd8800 	pop	{fp, pc}
+	...
+
+000003a4 <start>:
+ 3a4:	e92d4800 	push	{fp, lr}
+ 3a8:	e28db004 	add	fp, sp, #4
+ 3ac:	e24dd008 	sub	sp, sp, #8
+ 3b0:	e59f00a0 	ldr	r0, [pc, #160]	; 458 <start+0xb4>
+ 3b4:	ebfffffe 	bl	38 <_puts>
+ 3b8:	e3a00000 	mov	r0, #0
+ 3bc:	e3a01000 	mov	r1, #0
+ 3c0:	e3a02601 	mov	r2, #1048576	; 0x100000
+ 3c4:	e3a03000 	mov	r3, #0
+ 3c8:	ebfffffe 	bl	164 <set_bootpgtbl>
+ 3cc:	e3a00102 	mov	r0, #-2147483648	; 0x80000000
+ 3d0:	e3a01000 	mov	r1, #0
+ 3d4:	e3a02601 	mov	r2, #1048576	; 0x100000
+ 3d8:	e3a03000 	mov	r3, #0
+ 3dc:	ebfffffe 	bl	164 <set_bootpgtbl>
+ 3e0:	e59f3074 	ldr	r3, [pc, #116]	; 45c <start+0xb8>
+ 3e4:	e50b3008 	str	r3, [fp, #-8]
+ 3e8:	e59f3070 	ldr	r3, [pc, #112]	; 460 <start+0xbc>
+ 3ec:	e51b2008 	ldr	r2, [fp, #-8]
+ 3f0:	e1520003 	cmp	r2, r3
+ 3f4:	8a000001 	bhi	400 <start+0x5c>
+ 3f8:	e59f0064 	ldr	r0, [pc, #100]	; 464 <start+0xc0>
+ 3fc:	ebfffffe 	bl	0 <cprintf>
+ 400:	e59f0060 	ldr	r0, [pc, #96]	; 468 <start+0xc4>
+ 404:	e3a01000 	mov	r1, #0
+ 408:	e3a02601 	mov	r2, #1048576	; 0x100000
+ 40c:	e3a03000 	mov	r3, #0
+ 410:	ebfffffe 	bl	164 <set_bootpgtbl>
+ 414:	e3a00209 	mov	r0, #-1879048192	; 0x90000000
+ 418:	e3a01201 	mov	r1, #268435456	; 0x10000000
+ 41c:	e3a02302 	mov	r2, #134217728	; 0x8000000
+ 420:	e3a03001 	mov	r3, #1
+ 424:	ebfffffe 	bl	164 <set_bootpgtbl>
+ 428:	e59f303c 	ldr	r3, [pc, #60]	; 46c <start+0xc8>
+ 42c:	e5932000 	ldr	r2, [r3]
+ 430:	e59f3038 	ldr	r3, [pc, #56]	; 470 <start+0xcc>
+ 434:	e5933000 	ldr	r3, [r3]
+ 438:	e1a00002 	mov	r0, r2
+ 43c:	e1a01003 	mov	r1, r3
+ 440:	ebfffffe 	bl	2a4 <load_pgtlb>
+ 444:	ebfffffe 	bl	0 <jump_stack>
+ 448:	ebfffffe 	bl	374 <clear_bss>
+ 44c:	ebfffffe 	bl	0 <kmain>
+ 450:	e24bd004 	sub	sp, fp, #4
+ 454:	e8bd8800 	pop	{fp, pc}
+ 458:	0000002c 	.word	0x0000002c
+ 45c:	800f0000 	.word	0x800f0000
+ 460:	00000000 	.word	0x00000000
+ 464:	00000048 	.word	0x00000048
+ 468:	ffff0000 	.word	0xffff0000
+	...