This repository was archived by the owner on Mar 24, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathkrnl.map
More file actions
766 lines (685 loc) · 32.1 KB
/
krnl.map
File metadata and controls
766 lines (685 loc) · 32.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
Allocating common symbols
Common symbol size file
phy_frames 0x2000000 kernel/global.o
idt_ptr 0x6 kernel/global.o
p 0x1000000 mm/buddy_system.o
task_stack 0x30000 kernel/global.o
k_reenter 0x4 kernel/global.o
gdt 0x400 kernel/global.o
buddy_tree 0x100 mm/buddy_system.o
tty_table 0x1050 kernel/global.o
wait_table 0x18 kernel/global.o
tss 0x68 kernel/global.o
nr_current_console 0x4 kernel/global.o
disp_pos 0x4 kernel/global.o
gdt_ptr 0x6 kernel/global.o
wait_cnt 0x4 kernel/global.o
idt 0x800 kernel/global.o
se_table 0x120 kernel/global.o
PARTITION_ENTRY 0x10 kernel/global.o
ticks 0x4 kernel/global.o
stat 0x18 kernel/global.o
console_table 0x40 kernel/global.o
irq_table 0x40 kernel/global.o
p_proc_ready 0x4 kernel/global.o
p_cur_pagedir 0x4 kernel/global.o
proc_table 0x4b0 kernel/global.o
Discarded input sections
.note.GNU-stack
0x0000000000000000 0x0 kernel/start.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/main.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/clock.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/i8259.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/global.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/protect.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/proc.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/rbtree.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/keyboard.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/tty.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/console.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/systask.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/printf.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/vsprintf.o
.note.GNU-stack
0x0000000000000000 0x0 mm/frame_allocator.o
.note.GNU-stack
0x0000000000000000 0x0 mm/page_table.o
.note.GNU-stack
0x0000000000000000 0x0 mm/buddy_system.o
.note.GNU-stack
0x0000000000000000 0x0 mm/heap_allocator.o
.note.GNU-stack
0x0000000000000000 0x0 drv/hd.o
.note.GNU-stack
0x0000000000000000 0x0 lib/klib.o
.note.GNU-stack
0x0000000000000000 0x0 lib/misc.o
.note.GNU-stack
0x0000000000000000 0x0 test/testmm.o
Memory Configuration
Name Origin Length Attributes
*default* 0x0000000000000000 0xffffffffffffffff
Linker script and memory map
Address of section .text set to 0x100400
LOAD kernel/kernel.o
LOAD kernel/syscall.o
LOAD kernel/start.o
LOAD kernel/main.o
LOAD kernel/clock.o
LOAD kernel/i8259.o
LOAD kernel/global.o
LOAD kernel/protect.o
LOAD kernel/proc.o
LOAD kernel/rbtree.o
LOAD kernel/keyboard.o
LOAD kernel/tty.o
LOAD kernel/console.o
LOAD kernel/systask.o
LOAD kernel/printf.o
LOAD kernel/vsprintf.o
LOAD mm/frame_allocator.o
LOAD mm/page_table.o
LOAD mm/buddy_system.o
LOAD mm/heap_allocator.o
LOAD drv/hd.o
LOAD lib/kliba.o
LOAD lib/klib.o
LOAD lib/string.o
LOAD lib/misc.o
LOAD test/testmm.o
[!provide] PROVIDE (__executable_start = SEGMENT_START ("text-segment", 0x8048000))
0x0000000008048094 . = (SEGMENT_START ("text-segment", 0x8048000) + SIZEOF_HEADERS)
.interp
*(.interp)
.note.gnu.build-id
*(.note.gnu.build-id)
.hash
*(.hash)
.gnu.hash
*(.gnu.hash)
.dynsym
*(.dynsym)
.dynstr
*(.dynstr)
.gnu.version
*(.gnu.version)
.gnu.version_d
*(.gnu.version_d)
.gnu.version_r
*(.gnu.version_r)
.rel.dyn 0x0000000008048094 0x0
*(.rel.init)
*(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
.rel.text 0x0000000008048094 0x0 kernel/kernel.o
*(.rel.fini)
*(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
*(.rel.data.rel.ro .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*)
*(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
*(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
*(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
*(.rel.ctors)
*(.rel.dtors)
*(.rel.got)
.rel.got 0x0000000008048094 0x0 kernel/kernel.o
*(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
*(.rel.ifunc)
.rel.plt 0x0000000008048094 0x0
*(.rel.plt)
[!provide] PROVIDE (__rel_iplt_start = .)
*(.rel.iplt)
.rel.iplt 0x0000000008048094 0x0 kernel/kernel.o
[!provide] PROVIDE (__rel_iplt_end = .)
.init
*(SORT_NONE(.init))
.plt 0x0000000008048098 0x0
*(.plt)
*(.iplt)
.iplt 0x0000000008048098 0x0 kernel/kernel.o
.plt.got
*(.plt.got)
.plt.sec
*(.plt.sec)
.text 0x0000000000100400 0x718a
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
*(.text .stub .text.* .gnu.linkonce.t.*)
.text 0x0000000000100400 0x444 kernel/kernel.o
0x0000000000100400 _start
0x0000000000100440 hwint00
0x0000000000100470 hwint01
0x00000000001004a0 hwint02
0x00000000001004d0 hwint03
0x0000000000100500 hwint04
0x0000000000100530 hwint05
0x0000000000100560 hwint06
0x0000000000100590 hwint07
0x00000000001005c0 hwint08
0x00000000001005f0 hwint09
0x0000000000100620 hwint10
0x0000000000100650 hwint11
0x0000000000100680 hwint12
0x00000000001006b0 hwint13
0x00000000001006e0 hwint14
0x0000000000100710 hwint15
0x0000000000100736 divide_error
0x000000000010073c single_step_exception
0x0000000000100742 nmi
0x0000000000100748 breakpoint_exception
0x000000000010074e overflow
0x0000000000100754 bounds_check
0x000000000010075a inval_opcode
0x0000000000100760 copr_not_available
0x0000000000100766 double_fault
0x000000000010076a copr_seg_overrun
0x0000000000100770 inval_tss
0x0000000000100774 segment_not_present
0x0000000000100778 stack_exception
0x000000000010077c general_protection
0x0000000000100780 page_fault
0x000000000010078f copr_error
0x00000000001007f1 sys_call
0x0000000000100813 restart
*fill* 0x0000000000100844 0xc
.text 0x0000000000100850 0x28 kernel/syscall.o
0x0000000000100850 sendrec
0x000000000010086a printx
.text 0x0000000000100878 0x12f kernel/start.o
0x0000000000100878 dealloc_all_userspace
0x00000000001008f3 cstart
.text 0x00000000001009a7 0x5ae kernel/main.o
0x00000000001009a7 kernel_main
0x0000000000100cd6 get_ticks
0x0000000000100d0a TestA
0x0000000000100d6d TestB
0x0000000000100dcd TestC
0x0000000000100e62 stackoverflowdest
0x0000000000100e7a testStackoverflow
0x0000000000100eba panic
0x0000000000100f38 __stack_chk_fail
.text 0x0000000000100f55 0x258 kernel/clock.o
0x0000000000100f55 clock_handler
0x0000000000101096 check_integrity
0x000000000010111b milli_delay
0x0000000000101155 init_clock
.text 0x00000000001011ad 0x130 kernel/i8259.o
0x00000000001011ad init_8259A
0x0000000000101282 spurious_irq
0x00000000001012b9 put_irq_handler
.text 0x00000000001012dd 0x0 kernel/global.o
.text 0x00000000001012dd 0x65a kernel/protect.o
0x00000000001012dd init_prot
0x00000000001016fa seg2phys
0x0000000000101749 init_descriptor
0x00000000001017b6 exception_handler
0x0000000000101906 page_fault_handler
.text 0x0000000000101937 0x1e41 kernel/proc.o
0x0000000000101937 __sched_period
0x0000000000101956 sched_slice
0x0000000000101992 calc_delta_fair
0x00000000001019c1 schedule
0x0000000000101a4f calculate_integrity
0x0000000000101a87 add_task
0x0000000000101dfb rm_task
0x0000000000101e9b sys_sendrec
0x0000000000101fc4 send_recv
0x0000000000102081 ldt_seg_linear
0x00000000001020cb va2la
0x000000000010212c reset_msg
0x0000000000103137 inform_int
0x00000000001032ce dump_proc
0x000000000010366b dump_msg
.text 0x0000000000103778 0x768 kernel/rbtree.o
0x0000000000103778 tree_minimum
0x0000000000103798 __pick_first_entity
0x00000000001037ca left_rotate
0x000000000010385f right_rotate
0x00000000001038f4 rb_insert_fixup
0x0000000000103a81 rb_insert
0x0000000000103b36 rb_transplant
0x0000000000103b90 rb_delete_fixup
0x0000000000103db9 rb_delete
.text 0x0000000000103ee0 0x687 kernel/keyboard.o
0x0000000000103ee0 keyboard_handler
0x0000000000103f40 init_keyboard
0x0000000000103fe5 keyboard_read
.text 0x0000000000104567 0x4c5 kernel/tty.o
0x0000000000104567 task_tty
0x0000000000104621 in_process
0x0000000000104887 tty_write
0x00000000001048cd sys_printx
.text 0x0000000000104a2c 0x41d kernel/console.o
0x0000000000104a2c init_screen
0x0000000000104b43 is_current_console
0x0000000000104b5e out_char
0x0000000000104da8 select_console
0x0000000000104dde scroll_screen
.text 0x0000000000104e49 0x58 kernel/systask.o
0x0000000000104e49 task_sys
.text 0x0000000000104ea1 0x65 kernel/printf.o
0x0000000000104ea1 printf
.text 0x0000000000104f06 0x305 kernel/vsprintf.o
0x0000000000104f64 vsprintf
0x00000000001051e5 sprintf
.text 0x000000000010520b 0x1a2 mm/frame_allocator.o
0x000000000010520b init_frametracker
0x000000000010529d frame_alloc
0x0000000000105301 frame_dealloc
0x000000000010534b frame_find
.text 0x00000000001053ad 0x344 mm/page_table.o
0x00000000001053ad new_page_table
0x000000000010543b get_final_entry
0x00000000001054b1 kget_final_entry
0x0000000000105504 dbg_first_entry
0x0000000000105538 la2pa
0x00000000001055a8 map
0x000000000010562c kmap
0x000000000010566f unmap
.text 0x00000000001056f1 0x8fd mm/buddy_system.o
0x00000000001056f1 log_2
0x0000000000105736 pow_2
0x0000000000105757 buddy_list_insert
0x00000000001057bf buddy_list_pop
0x000000000010585e buddy_list_del
0x000000000010592f print_table
0x000000000010599b buddy_init
0x0000000000105a6a lowbit
0x0000000000105a77 buddy_alloc
0x0000000000105e35 lneq
0x0000000000105e74 buddy_dealloc
.text 0x0000000000105fee 0x40 mm/heap_allocator.o
0x0000000000105fee malloc
0x0000000000106013 free
.text 0x000000000010602e 0xe84 drv/hd.o
0x000000000010602e task_hd
0x0000000000106e87 hd_handler
*fill* 0x0000000000106eb2 0xe
.text 0x0000000000106ec0 0x19a lib/kliba.o
0x0000000000106ec0 disp_str
0x0000000000106efe disp_color_str
0x0000000000106f3d out_byte
0x0000000000106f49 in_byte
0x0000000000106f53 port_read
0x0000000000106f66 port_write
0x0000000000106f79 disable_irq
0x0000000000106fae enable_irq
0x0000000000106fcd disable_int
0x0000000000106fcf enable_int
0x0000000000106fd1 glitter
.text 0x000000000010705a 0x119 lib/klib.o
0x000000000010705a itoa
0x0000000000107105 disp_int
0x000000000010712c delay
*fill* 0x0000000000107173 0xd
.text 0x0000000000107180 0x78 lib/string.o
0x0000000000107180 memcpy
0x00000000001071a9 memset
0x00000000001071ca strcpy
0x00000000001071e2 strlen
.text 0x00000000001071f8 0x19a lib/misc.o
0x00000000001071f8 memcmp
0x000000000010726e strcmp
0x00000000001072e1 strcat
0x0000000000107340 spin
0x000000000010735b assertion_failure
.text 0x0000000000107392 0x1f8 test/testmm.o
0x0000000000107392 test_frame_pgtable
0x0000000000107515 test_malloc_free
0x0000000000107577 testmm
*(.gnu.warning)
.fini
*(SORT_NONE(.fini))
[!provide] PROVIDE (__etext = .)
[!provide] PROVIDE (_etext = .)
[!provide] PROVIDE (etext = .)
.rodata 0x00000000001075a0 0x1456
*(.rodata .rodata.* .gnu.linkonce.r.*)
.rodata 0x00000000001075a0 0x91 kernel/start.o
*fill* 0x0000000000107631 0x3
.rodata 0x0000000000107634 0xb8 kernel/main.o
.rodata 0x00000000001076ec 0x27 kernel/clock.o
.rodata 0x0000000000107713 0x11 kernel/i8259.o
*fill* 0x0000000000107724 0x1c
.rodata 0x0000000000107740 0xa0 kernel/global.o
0x0000000000107740 sched_prio_to_weight
.rodata 0x00000000001077e0 0x54f kernel/protect.o
*fill* 0x0000000000107d2f 0x1
.rodata 0x0000000000107d30 0x6de kernel/proc.o
*fill* 0x000000000010840e 0x2
.rodata 0x0000000000108410 0x64 kernel/keyboard.o
.rodata 0x0000000000108474 0xa2 kernel/tty.o
.rodata 0x0000000000108516 0x11 kernel/systask.o
.rodata 0x0000000000108527 0x5f mm/frame_allocator.o
*fill* 0x0000000000108586 0x2
.rodata 0x0000000000108588 0x63 mm/page_table.o
0x0000000000108588 PTECNT
.rodata 0x00000000001085eb 0xdf mm/buddy_system.o
*fill* 0x00000000001086ca 0x2
.rodata 0x00000000001086cc 0x207 drv/hd.o
*fill* 0x00000000001088d3 0x1
.rodata 0x00000000001088d4 0x61 lib/misc.o
*fill* 0x0000000000108935 0x3
.rodata 0x0000000000108938 0xbe test/testmm.o
.rodata1
*(.rodata1)
.eh_frame_hdr
*(.eh_frame_hdr)
*(.eh_frame_entry .eh_frame_entry.*)
.eh_frame 0x00000000001089f8 0x10cc
*(.eh_frame)
.eh_frame 0x00000000001089f8 0x58 kernel/start.o
.eh_frame 0x0000000000108a50 0x108 kernel/main.o
0x120 (size before relaxing)
.eh_frame 0x0000000000108b58 0x84 kernel/clock.o
0x9c (size before relaxing)
.eh_frame 0x0000000000108bdc 0x60 kernel/i8259.o
0x78 (size before relaxing)
.eh_frame 0x0000000000108c3c 0xd0 kernel/protect.o
0xe8 (size before relaxing)
.eh_frame 0x0000000000108d0c 0x2b0 kernel/proc.o
0x2c8 (size before relaxing)
.eh_frame 0x0000000000108fbc 0x120 kernel/rbtree.o
0x138 (size before relaxing)
.eh_frame 0x00000000001090dc 0xe0 kernel/keyboard.o
0xf8 (size before relaxing)
.eh_frame 0x00000000001091bc 0xfc kernel/tty.o
0x114 (size before relaxing)
.eh_frame 0x00000000001092b8 0x100 kernel/console.o
0x118 (size before relaxing)
.eh_frame 0x00000000001093b8 0x1c kernel/systask.o
0x34 (size before relaxing)
.eh_frame 0x00000000001093d4 0x20 kernel/printf.o
0x38 (size before relaxing)
.eh_frame 0x00000000001093f4 0x60 kernel/vsprintf.o
0x78 (size before relaxing)
.eh_frame 0x0000000000109454 0x80 mm/frame_allocator.o
0x98 (size before relaxing)
.eh_frame 0x00000000001094d4 0x100 mm/page_table.o
0x118 (size before relaxing)
.eh_frame 0x00000000001095d4 0x164 mm/buddy_system.o
0x17c (size before relaxing)
.eh_frame 0x0000000000109738 0x40 mm/heap_allocator.o
0x58 (size before relaxing)
.eh_frame 0x0000000000109778 0x1f0 drv/hd.o
0x208 (size before relaxing)
.eh_frame 0x0000000000109968 0x60 lib/klib.o
0x78 (size before relaxing)
.eh_frame 0x00000000001099c8 0x9c lib/misc.o
0xb4 (size before relaxing)
.eh_frame 0x0000000000109a64 0x60 test/testmm.o
0x78 (size before relaxing)
*(.eh_frame.*)
.gcc_except_table
*(.gcc_except_table .gcc_except_table.*)
.gnu_extab
*(.gnu_extab*)
.exception_ranges
*(.exception_ranges .exception_ranges*)
0x000000000010b000 . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE))
.eh_frame
*(.eh_frame)
*(.eh_frame.*)
.gnu_extab
*(.gnu_extab)
.gcc_except_table
*(.gcc_except_table .gcc_except_table.*)
.exception_ranges
*(.exception_ranges .exception_ranges*)
.tdata
*(.tdata .tdata.* .gnu.linkonce.td.*)
.tbss
*(.tbss .tbss.* .gnu.linkonce.tb.*)
*(.tcommon)
.preinit_array 0x000000000010b000 0x0
[!provide] PROVIDE (__preinit_array_start = .)
*(.preinit_array)
[!provide] PROVIDE (__preinit_array_end = .)
.init_array 0x000000000010b000 0x0
[!provide] PROVIDE (__init_array_start = .)
*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))
*(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors)
[!provide] PROVIDE (__init_array_end = .)
.fini_array 0x000000000010b000 0x0
[!provide] PROVIDE (__fini_array_start = .)
*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))
*(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors)
[!provide] PROVIDE (__fini_array_end = .)
.ctors
*crtbegin.o(.ctors)
*crtbegin?.o(.ctors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
*(SORT_BY_NAME(.ctors.*))
*(.ctors)
.dtors
*crtbegin.o(.dtors)
*crtbegin?.o(.dtors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
*(SORT_BY_NAME(.dtors.*))
*(.dtors)
.jcr
*(.jcr)
.data.rel.ro
*(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*)
*(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*)
.dynamic
*(.dynamic)
.got 0x000000000010b000 0x0
*(.got)
.got 0x000000000010b000 0x0 kernel/kernel.o
*(.igot)
0x000000000010b000 . = DATA_SEGMENT_RELRO_END (., (SIZEOF (.got.plt) >= 0xc)?0xc:0x0)
.got.plt 0x000000000010b000 0x0
*(.got.plt)
.got.plt 0x000000000010b000 0x0 kernel/kernel.o
*(.igot.plt)
.igot.plt 0x000000000010b000 0x0 kernel/kernel.o
.data 0x000000000010b000 0x7c0
*(.data .data.* .gnu.linkonce.d.*)
.data 0x000000000010b000 0x2 kernel/kernel.o
.data 0x000000000010b002 0x0 kernel/start.o
.data 0x000000000010b002 0x0 kernel/main.o
.data 0x000000000010b002 0x0 kernel/clock.o
.data 0x000000000010b002 0x0 kernel/i8259.o
*fill* 0x000000000010b002 0x1e
.data 0x000000000010b020 0x194 kernel/global.o
0x000000000010b020 task_table
0x000000000010b0a0 user_proc_table
0x000000000010b120 exp_handler_table
0x000000000010b164 sys_call_table
0x000000000010b170 sysctl_sched_latency
0x000000000010b174 sysctl_sched_min_granularity
0x000000000010b178 sched_nr_latency
0x000000000010b17c sched_tree
0x000000000010b198 frame_tree
.data 0x000000000010b1b4 0x0 kernel/protect.o
.data 0x000000000010b1b4 0x0 kernel/proc.o
.data 0x000000000010b1b4 0x0 kernel/rbtree.o
*fill* 0x000000000010b1b4 0xc
.data 0x000000000010b1c0 0x600 kernel/keyboard.o
0x000000000010b1c0 keymap
.data 0x000000000010b7c0 0x0 kernel/tty.o
.data 0x000000000010b7c0 0x0 kernel/console.o
.data 0x000000000010b7c0 0x0 kernel/systask.o
.data 0x000000000010b7c0 0x0 kernel/printf.o
.data 0x000000000010b7c0 0x0 kernel/vsprintf.o
.data 0x000000000010b7c0 0x0 mm/frame_allocator.o
.data 0x000000000010b7c0 0x0 mm/page_table.o
.data 0x000000000010b7c0 0x0 mm/buddy_system.o
.data 0x000000000010b7c0 0x0 mm/heap_allocator.o
.data 0x000000000010b7c0 0x0 drv/hd.o
.data 0x000000000010b7c0 0x0 lib/klib.o
.data 0x000000000010b7c0 0x0 lib/misc.o
.data 0x000000000010b7c0 0x0 test/testmm.o
.data1
*(.data1)
0x000000000010b7c0 _edata = .
[!provide] PROVIDE (edata = .)
0x000000000010b7c0 . = .
0x000000000010b7c0 __bss_start = .
.bss 0x000000000010b7c0 0x30333e0
*(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*)
.bss 0x000000000010b7c0 0x800 kernel/kernel.o
.bss 0x000000000010bfc0 0x0 kernel/start.o
.bss 0x000000000010bfc0 0x0 kernel/main.o
.bss 0x000000000010bfc0 0x0 kernel/clock.o
.bss 0x000000000010bfc0 0x0 kernel/i8259.o
.bss 0x000000000010bfc0 0xc kernel/global.o
0x000000000010bfc0 nr_running
0x000000000010bfc4 sum_weight
0x000000000010bfc8 has_preempt
.bss 0x000000000010bfcc 0x0 kernel/protect.o
.bss 0x000000000010bfcc 0x0 kernel/proc.o
.bss 0x000000000010bfcc 0x0 kernel/rbtree.o
*fill* 0x000000000010bfcc 0x14
.bss 0x000000000010bfe0 0x58 kernel/keyboard.o
.bss 0x000000000010c038 0x0 kernel/tty.o
.bss 0x000000000010c038 0x0 kernel/console.o
.bss 0x000000000010c038 0x0 kernel/systask.o
.bss 0x000000000010c038 0x0 kernel/printf.o
.bss 0x000000000010c038 0x0 kernel/vsprintf.o
.bss 0x000000000010c038 0x0 mm/frame_allocator.o
.bss 0x000000000010c038 0x0 mm/page_table.o
.bss 0x000000000010c038 0x0 mm/buddy_system.o
.bss 0x000000000010c038 0x0 mm/heap_allocator.o
*fill* 0x000000000010c038 0x8
.bss 0x000000000010c040 0x64c drv/hd.o
.bss 0x000000000010c68c 0x0 lib/klib.o
.bss 0x000000000010c68c 0x0 lib/misc.o
.bss 0x000000000010c68c 0x0 test/testmm.o
*(COMMON)
*fill* 0x000000000010c68c 0x14
COMMON 0x000000000010c6a0 0x20323f0 kernel/global.o
0x000000000010c6a0 phy_frames
0x000000000210c6a0 idt_ptr
0x000000000210c6c0 task_stack
0x000000000213c6c0 k_reenter
0x000000000213c6e0 gdt
0x000000000213cae0 tty_table
0x000000000213db30 wait_table
0x000000000213db60 tss
0x000000000213dbc8 nr_current_console
0x000000000213dbcc disp_pos
0x000000000213dbd0 gdt_ptr
0x000000000213dbd8 wait_cnt
0x000000000213dbe0 idt
0x000000000213e3e0 se_table
0x000000000213e500 PARTITION_ENTRY
0x000000000213e510 ticks
0x000000000213e514 stat
0x000000000213e540 console_table
0x000000000213e580 irq_table
0x000000000213e5c0 p_proc_ready
0x000000000213e5c4 p_cur_pagedir
0x000000000213e5e0 proc_table
*fill* 0x000000000213ea90 0x10
COMMON 0x000000000213eaa0 0x1000100 mm/buddy_system.o
0x000000000213eaa0 p
0x000000000313eaa0 buddy_tree
0x000000000313eba0 . = ALIGN ((. != 0x0)?0x4:0x1)
0x000000000313eba0 . = ALIGN (0x4)
0x000000000313eba0 . = SEGMENT_START ("ldata-segment", .)
0x000000000313eba0 . = ALIGN (0x4)
0x000000000313eba0 _end = .
[!provide] PROVIDE (end = .)
0x000000000313eba0 . = DATA_SEGMENT_END (.)
.stab
*(.stab)
.stabstr
*(.stabstr)
.stab.excl
*(.stab.excl)
.stab.exclstr
*(.stab.exclstr)
.stab.index
*(.stab.index)
.stab.indexstr
*(.stab.indexstr)
.comment 0x0000000000000000 0x35
*(.comment)
.comment 0x0000000000000000 0x35 kernel/start.o
0x36 (size before relaxing)
.comment 0x0000000000000035 0x36 kernel/main.o
.comment 0x0000000000000035 0x36 kernel/clock.o
.comment 0x0000000000000035 0x36 kernel/i8259.o
.comment 0x0000000000000035 0x36 kernel/global.o
.comment 0x0000000000000035 0x36 kernel/protect.o
.comment 0x0000000000000035 0x36 kernel/proc.o
.comment 0x0000000000000035 0x36 kernel/rbtree.o
.comment 0x0000000000000035 0x36 kernel/keyboard.o
.comment 0x0000000000000035 0x36 kernel/tty.o
.comment 0x0000000000000035 0x36 kernel/console.o
.comment 0x0000000000000035 0x36 kernel/systask.o
.comment 0x0000000000000035 0x36 kernel/printf.o
.comment 0x0000000000000035 0x36 kernel/vsprintf.o
.comment 0x0000000000000035 0x36 mm/frame_allocator.o
.comment 0x0000000000000035 0x36 mm/page_table.o
.comment 0x0000000000000035 0x36 mm/buddy_system.o
.comment 0x0000000000000035 0x36 mm/heap_allocator.o
.comment 0x0000000000000035 0x36 drv/hd.o
.comment 0x0000000000000035 0x36 lib/klib.o
.comment 0x0000000000000035 0x36 lib/misc.o
.comment 0x0000000000000035 0x36 test/testmm.o
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges
*(.debug_aranges)
.debug_pubnames
*(.debug_pubnames)
.debug_info
*(.debug_info .gnu.linkonce.wi.*)
.debug_abbrev
*(.debug_abbrev)
.debug_line
*(.debug_line .debug_line.* .debug_line_end)
.debug_frame
*(.debug_frame)
.debug_str
*(.debug_str)
.debug_loc
*(.debug_loc)
.debug_macinfo
*(.debug_macinfo)
.debug_weaknames
*(.debug_weaknames)
.debug_funcnames
*(.debug_funcnames)
.debug_typenames
*(.debug_typenames)
.debug_varnames
*(.debug_varnames)
.debug_pubtypes
*(.debug_pubtypes)
.debug_ranges
*(.debug_ranges)
.debug_macro
*(.debug_macro)
.debug_addr
*(.debug_addr)
.gnu.attributes
*(.gnu.attributes)
/DISCARD/
*(.note.GNU-stack)
*(.gnu_debuglink)
*(.gnu.lto_*)
OUTPUT(kernel.bin elf32-i386)