Repository navigation
Expand file tree
/
Copy pathkrnl.map
More file actions
953 lines (877 loc) · 43.2 KB
/
Copy pathkrnl.map
File metadata and controls
953 lines (877 loc) · 43.2 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
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
Archive member included because of file (symbol)
lib/orangescrt.a(printf.o) kernel/main.o (printf)
lib/orangescrt.a(vsprintf.o) kernel/main.o (vsprintf)
lib/orangescrt.a(string.o) kernel/start.o (memcpy)
lib/orangescrt.a(misc.o) kernel/main.o (send_recv)
lib/orangescrt.a(open.o) kernel/main.o (open)
lib/orangescrt.a(read.o) kernel/main.o (read)
lib/orangescrt.a(write.o) kernel/main.o (write)
lib/orangescrt.a(close.o) kernel/main.o (close)
lib/orangescrt.a(unlink.o) kernel/main.o (unlink)
lib/orangescrt.a(getpid.o) fs/disklog.o (getpid)
lib/orangescrt.a(stat.o) mm/exec.o (stat)
lib/orangescrt.a(fork.o) kernel/main.o (fork)
lib/orangescrt.a(wait.o) kernel/main.o (wait)
lib/orangescrt.a(exec.o) kernel/main.o (execv)
lib/orangescrt.a(syscall.o) lib/orangescrt.a(misc.o) (sendrec)
Allocating common symbols
Common symbol size file
filequeue 0x140 kernel/main.o
idt_ptr 0x6 kernel/global.o
dirs 0x258 kernel/main.o
inode_table 0xb00 kernel/global.o
task_stack 0x24000 kernel/global.o
k_reenter 0x4 kernel/global.o
gdt 0x400 kernel/global.o
current_console 0x4 kernel/global.o
pcaller 0x4 kernel/global.o
tty_table 0xc6c kernel/global.o
tss 0x68 kernel/global.o
fs_msg 0xb0 kernel/global.o
memory_size 0x4 kernel/global.o
f_desc_table 0x400 kernel/global.o
dirqueue 0x140 kernel/main.o
root_inode 0x4 kernel/global.o
disp_pos 0x4 kernel/global.o
files 0x3c0 kernel/main.o
mm_msg 0xb0 kernel/global.o
key_pressed 0x4 kernel/global.o
gdt_ptr 0x6 kernel/global.o
idt 0x800 kernel/global.o
super_block 0x1e0 kernel/global.o
PARTITION_ENTRY 0x10 kernel/hd.o
ticks 0x4 kernel/global.o
console_table 0x3c kernel/global.o
irq_table 0x40 kernel/global.o
p_proc_ready 0x4 kernel/global.o
proc_table 0x17e8 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/keyboard.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/tty.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/console.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/systask.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/hd.o
.note.GNU-stack
0x0000000000000000 0x0 kernel/klib.o
.note.GNU-stack
0x0000000000000000 0x0 lib/syslog.o
.note.GNU-stack
0x0000000000000000 0x0 mm/main.o
.note.GNU-stack
0x0000000000000000 0x0 mm/forkexit.o
.note.GNU-stack
0x0000000000000000 0x0 mm/exec.o
.note.GNU-stack
0x0000000000000000 0x0 fs/main.o
.note.GNU-stack
0x0000000000000000 0x0 fs/open.o
.note.GNU-stack
0x0000000000000000 0x0 fs/misc.o
.note.GNU-stack
0x0000000000000000 0x0 fs/read_write.o
.note.GNU-stack
0x0000000000000000 0x0 fs/link.o
.note.GNU-stack
0x0000000000000000 0x0 fs/disklog.o
.note.GNU-stack
0x0000000000000000 0x0 lib/orangescrt.a(printf.o)
.note.GNU-stack
0x0000000000000000 0x0 lib/orangescrt.a(vsprintf.o)
.note.GNU-stack
0x0000000000000000 0x0 lib/orangescrt.a(misc.o)
.note.GNU-stack
0x0000000000000000 0x0 lib/orangescrt.a(open.o)
.note.GNU-stack
0x0000000000000000 0x0 lib/orangescrt.a(read.o)
.note.GNU-stack
0x0000000000000000 0x0 lib/orangescrt.a(write.o)
.note.GNU-stack
0x0000000000000000 0x0 lib/orangescrt.a(close.o)
.note.GNU-stack
0x0000000000000000 0x0 lib/orangescrt.a(unlink.o)
.note.GNU-stack
0x0000000000000000 0x0 lib/orangescrt.a(getpid.o)
.note.GNU-stack
0x0000000000000000 0x0 lib/orangescrt.a(stat.o)
.note.GNU-stack
0x0000000000000000 0x0 lib/orangescrt.a(fork.o)
.note.GNU-stack
0x0000000000000000 0x0 lib/orangescrt.a(wait.o)
.note.GNU-stack
0x0000000000000000 0x0 lib/orangescrt.a(exec.o)
Memory Configuration
Name Origin Length Attributes
*default* 0x0000000000000000 0xffffffffffffffff
Linker script and memory map
Address of section .text set to 0x1000
LOAD kernel/kernel.o
LOAD kernel/start.o
LOAD kernel/main.o
LOAD kernel/clock.o
LOAD kernel/keyboard.o
LOAD kernel/tty.o
LOAD kernel/console.o
LOAD kernel/i8259.o
LOAD kernel/global.o
LOAD kernel/protect.o
LOAD kernel/proc.o
LOAD kernel/systask.o
LOAD kernel/hd.o
LOAD kernel/kliba.o
LOAD kernel/klib.o
LOAD lib/syslog.o
LOAD mm/main.o
LOAD mm/forkexit.o
LOAD mm/exec.o
LOAD fs/main.o
LOAD fs/open.o
LOAD fs/misc.o
LOAD fs/read_write.o
LOAD fs/link.o
LOAD fs/disklog.o
LOAD lib/orangescrt.a
0x0000000008048000 PROVIDE (__executable_start, 0x8048000)
0x0000000008048094 . = (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 0x0000000000000000 0x0 kernel/kernel.o
*(.rel.fini)
*(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
*(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*)
*(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
.rel.data 0x0000000000000000 0x0 kernel/kernel.o
*(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
*(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
*(.rel.ctors)
*(.rel.dtors)
*(.rel.got)
*(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
*(.rel.ifunc)
.rel.plt 0x0000000008048094 0x0
*(.rel.plt)
0x0000000008048094 PROVIDE (__rel_iplt_start, .)
*(.rel.iplt)
.rel.iplt 0x0000000000000000 0x0 kernel/kernel.o
0x0000000008048094 PROVIDE (__rel_iplt_end, .)
.init
*(.init)
.plt 0x00000000080480a0 0x0
*(.plt)
*(.iplt)
.iplt 0x0000000000000000 0x0 kernel/kernel.o
.text 0x0000000000001000 0xf058
*(.text.unlikely .text.*_unlikely)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
*(.text .stub .text.* .gnu.linkonce.t.*)
.text 0x0000000000001000 0x410 kernel/kernel.o
0x0000000000001000 _start
0x0000000000001040 hwint00
0x0000000000001070 hwint01
0x00000000000010a0 hwint02
0x00000000000010d0 hwint03
0x0000000000001100 hwint04
0x0000000000001130 hwint05
0x0000000000001160 hwint06
0x0000000000001190 hwint07
0x00000000000011c0 hwint08
0x00000000000011f0 hwint09
0x0000000000001220 hwint10
0x0000000000001250 hwint11
0x0000000000001280 hwint12
0x00000000000012b0 hwint13
0x00000000000012e0 hwint14
0x0000000000001310 hwint15
0x0000000000001334 divide_error
0x000000000000133a single_step_exception
0x0000000000001340 nmi
0x0000000000001346 breakpoint_exception
0x000000000000134c overflow
0x0000000000001352 bounds_check
0x0000000000001358 inval_opcode
0x000000000000135e copr_not_available
0x0000000000001364 double_fault
0x0000000000001368 copr_seg_overrun
0x000000000000136e inval_tss
0x0000000000001372 segment_not_present
0x0000000000001376 stack_exception
0x000000000000137a general_protection
0x000000000000137e page_fault
0x0000000000001382 copr_error
0x00000000000013cb sys_call
0x00000000000013eb restart
.text 0x0000000000001410 0x8e kernel/start.o
0x0000000000001410 cstart
*fill* 0x000000000000149e 0x2 90909090
.text 0x00000000000014a0 0x2b81 kernel/main.o
0x00000000000014a0 kernel_main
0x00000000000017d5 get_ticks
0x0000000000001819 untar
0x00000000000019e0 Init
0x0000000000001b0f TestA
0x0000000000001b14 TestB
0x0000000000001b19 TestC
0x0000000000001b1e panic
0x0000000000001b6b shabby_shell
0x00000000000024ec welcome
0x000000000000256c clear
0x000000000000259a off
0x000000000000259f showProcess
0x00000000000026ce killProcess
0x0000000000002795 makeProcess
0x000000000000286c help
0x000000000000294c colorful
0x0000000000002c65 animation
0x000000000000316d information
0x00000000000031f2 initFS
0x00000000000032a4 isDir
0x00000000000032cc getFilepath
0x00000000000032ee getDirFilepath
0x0000000000003323 getDirpathAndFilename
0x0000000000003425 getFreeFilePos
0x000000000000346b getFreeDirPos
0x00000000000034b1 getPosInDirQueue
0x0000000000003502 addFileIntoDir
0x0000000000003597 deleteFileFromDir
0x00000000000036e7 createFile
0x00000000000037de createDir
0x00000000000038d4 readFile
0x00000000000039ff editCover
0x0000000000003ac6 editAppand
0x0000000000003bc8 deleteFile
0x0000000000003cb7 deleteDir
0x0000000000003ed3 ls
0x0000000000003f4e cd
0x0000000000003fc6 cdback
*fill* 0x0000000000004021 0x3 90909090
.text 0x0000000000004024 0x119 kernel/clock.o
0x0000000000004024 clock_handler
0x000000000000409e milli_delay
0x00000000000040d9 init_clock
*fill* 0x000000000000413d 0x3 90909090
.text 0x0000000000004140 0x6cc kernel/keyboard.o
0x0000000000004140 keyboard_handler
0x00000000000041a6 init_keyboard
0x0000000000004255 keyboard_read
.text 0x000000000000480c 0xaac kernel/tty.o
0x000000000000480c task_tty
0x0000000000004a22 in_process
0x0000000000004fbc sys_printx
0x000000000000515d dump_tty_buf
.text 0x00000000000052b8 0x7fb kernel/console.o
0x00000000000052b8 init_screen
0x000000000000542d out_char
0x0000000000005728 is_current_console
0x000000000000581e select_console
0x000000000000585b scroll_screen
*fill* 0x0000000000005ab3 0x1 90909090
.text 0x0000000000005ab4 0x13c kernel/i8259.o
0x0000000000005ab4 init_8259A
0x0000000000005ba5 spurious_irq
0x0000000000005bd0 put_irq_handler
.text 0x0000000000005bf0 0x0 kernel/global.o
.text 0x0000000000005bf0 0x844 kernel/protect.o
0x0000000000005bf0 init_prot
0x000000000000624a seg2linear
0x0000000000006299 init_desc
0x0000000000006305 exception_handler
.text 0x0000000000006434 0x18c5 kernel/proc.o
0x0000000000006434 schedule
0x00000000000064bf sys_sendrec
0x000000000000661e ldt_seg_linear
0x0000000000006661 va2la
0x00000000000066ce reset_msg
0x00000000000076a9 inform_int
0x000000000000783d dump_proc
0x0000000000007ba0 dump_msg
*fill* 0x0000000000007cf9 0x3 90909090
.text 0x0000000000007cfc 0x2f3 kernel/systask.o
0x0000000000007cfc task_sys
*fill* 0x0000000000007fef 0x1 90909090
.text 0x0000000000007ff0 0xedd kernel/hd.o
0x0000000000007ff0 task_hd
0x0000000000008ea8 hd_handler
*fill* 0x0000000000008ecd 0x3 90909090
.text 0x0000000000008ed0 0x19a kernel/kliba.o
0x0000000000008ed0 disp_str
0x0000000000008f0e disp_color_str
0x0000000000008f4d out_byte
0x0000000000008f59 in_byte
0x0000000000008f63 port_read
0x0000000000008f76 port_write
0x0000000000008f89 disable_irq
0x0000000000008fbe enable_irq
0x0000000000008fdd disable_int
0x0000000000008fdf enable_int
0x0000000000008fe1 glitter
*fill* 0x000000000000906a 0x2 90909090
.text 0x000000000000906c 0x436 kernel/klib.o
0x000000000000906c get_boot_params
0x000000000000910c get_kernel_map
0x000000000000922a itoa
0x00000000000092d4 disp_int
0x00000000000092f9 delay
0x000000000000933f str2Int
0x00000000000093d1 getMag
0x0000000000009407 getSize
0x0000000000009437 showFormatString
*fill* 0x00000000000094a2 0x2 90909090
.text 0x00000000000094a4 0x75 lib/syslog.o
0x00000000000094a4 syslog
*fill* 0x0000000000009519 0x3 90909090
.text 0x000000000000951c 0x1db mm/main.o
0x000000000000951c task_mm
0x0000000000009664 alloc_mem
0x00000000000096ed free_mem
*fill* 0x00000000000096f7 0x1 90909090
.text 0x00000000000096f8 0x642 mm/forkexit.o
0x00000000000096f8 do_fork
0x0000000000009a99 do_exit
0x0000000000009c78 do_wait
*fill* 0x0000000000009d3a 0x2 90909090
.text 0x0000000000009d3c 0x392 mm/exec.o
0x0000000000009d3c do_exec
*fill* 0x000000000000a0ce 0x2 90909090
.text 0x000000000000a0d0 0x12ab fs/main.o
0x000000000000a0d0 task_fs
0x000000000000acd9 rw_sector
0x000000000000af3e get_super_block
0x000000000000af84 get_inode
0x000000000000b0fd put_inode
0x000000000000b142 sync_inode
*fill* 0x000000000000b37b 0x1 90909090
.text 0x000000000000b37c 0xb7b fs/open.o
0x000000000000b37c do_open
0x000000000000b814 do_close
0x000000000000b88b do_lseek
*fill* 0x000000000000bef7 0x1 90909090
.text 0x000000000000bef8 0x3fa fs/misc.o
0x000000000000bef8 do_stat
0x000000000000c0e7 search_file
0x000000000000c266 strip_path
*fill* 0x000000000000c2f2 0x2 90909090
.text 0x000000000000c2f4 0x52e fs/read_write.o
0x000000000000c2f4 do_rdwt
*fill* 0x000000000000c822 0x2 90909090
.text 0x000000000000c824 0x944 fs/link.o
0x000000000000c824 do_unlink
.text 0x000000000000d168 0x218e fs/disklog.o
0x000000000000d168 disklog
0x000000000000d7e6 dump_fd_graph
*fill* 0x000000000000f2f6 0x2 90909090
.text 0x000000000000f2f8 0xc0 lib/orangescrt.a(printf.o)
0x000000000000f2f8 printf
0x000000000000f377 printl
.text 0x000000000000f3b8 0x31e lib/orangescrt.a(vsprintf.o)
0x000000000000f423 vsprintf
0x000000000000f6ac sprintf
*fill* 0x000000000000f6d6 0xa 90909090
.text 0x000000000000f6e0 0x78 lib/orangescrt.a(string.o)
0x000000000000f6e0 memcpy
0x000000000000f709 memset
0x000000000000f72a strcpy
0x000000000000f742 strlen
.text 0x000000000000f758 0x304 lib/orangescrt.a(misc.o)
0x000000000000f758 send_recv
0x000000000000f839 memcmp
0x000000000000f8b3 strcmp
0x000000000000f92a strcat
0x000000000000f989 strjin
0x000000000000f9fb spin
0x000000000000fa16 assertion_failure
.text 0x000000000000fa5c 0x7f lib/orangescrt.a(open.o)
0x000000000000fa5c open
*fill* 0x000000000000fadb 0x1 90909090
.text 0x000000000000fadc 0x48 lib/orangescrt.a(read.o)
0x000000000000fadc read
.text 0x000000000000fb24 0x48 lib/orangescrt.a(write.o)
0x000000000000fb24 write
.text 0x000000000000fb6c 0x3c lib/orangescrt.a(close.o)
0x000000000000fb6c close
.text 0x000000000000fba8 0x4a lib/orangescrt.a(unlink.o)
0x000000000000fba8 unlink
*fill* 0x000000000000fbf2 0x2 90909090
.text 0x000000000000fbf4 0x65 lib/orangescrt.a(getpid.o)
0x000000000000fbf4 getpid
*fill* 0x000000000000fc59 0x3 90909090
.text 0x000000000000fc5c 0x7f lib/orangescrt.a(stat.o)
0x000000000000fc5c stat
*fill* 0x000000000000fcdb 0x1 90909090
.text 0x000000000000fcdc 0x90 lib/orangescrt.a(fork.o)
0x000000000000fcdc fork
.text 0x000000000000fd6c 0x4d lib/orangescrt.a(wait.o)
0x000000000000fd6c wait
*fill* 0x000000000000fdb9 0x3 90909090
.text 0x000000000000fdbc 0x26c lib/orangescrt.a(exec.o)
0x000000000000fdbc exec
0x000000000000fe43 execl
0x000000000000fe69 execv
*fill* 0x0000000000010028 0x8 90909090
.text 0x0000000000010030 0x28 lib/orangescrt.a(syscall.o)
0x0000000000010030 sendrec
0x000000000001004a printx
*(.gnu.warning)
.fini
*(.fini)
0x0000000000010058 PROVIDE (__etext, .)
0x0000000000010058 PROVIDE (_etext, .)
0x0000000000010058 PROVIDE (etext, .)
.rodata 0x0000000000010060 0x52df
*(.rodata .rodata.* .gnu.linkonce.r.*)
.rodata 0x0000000000010060 0x47 kernel/start.o
*fill* 0x00000000000100a7 0x1 00
.rodata 0x00000000000100a8 0x2f14 kernel/main.o
.rodata 0x0000000000012fbc 0x64 kernel/keyboard.o
.rodata 0x0000000000013020 0x168 kernel/tty.o
.rodata 0x0000000000013188 0x5b kernel/console.o
.rodata 0x00000000000131e3 0x11 kernel/i8259.o
.rodata 0x00000000000131f4 0x10 kernel/global.o
0x00000000000131f4 FSBUF_SIZE
0x00000000000131f8 MMBUF_SIZE
0x00000000000131fc LOGBUF_SIZE
0x0000000000013200 LOGDISKBUF_SIZE
*fill* 0x0000000000013204 0x1c 00
.rodata 0x0000000000013220 0x580 kernel/protect.o
.rodata 0x00000000000137a0 0x5da kernel/proc.o
.rodata 0x0000000000013d7a 0x11 kernel/systask.o
*fill* 0x0000000000013d8b 0x1 00
.rodata 0x0000000000013d8c 0x1df kernel/hd.o
*fill* 0x0000000000013f6b 0x1 00
.rodata 0x0000000000013f6c 0x6d kernel/klib.o
.rodata 0x0000000000013fd9 0x1e lib/syslog.o
*fill* 0x0000000000013ff7 0x1 00
.rodata 0x0000000000013ff8 0xb1 mm/main.o
*fill* 0x00000000000140a9 0x3 00
.rodata 0x00000000000140ac 0xe7 mm/forkexit.o
*fill* 0x0000000000014193 0x1 00
.rodata 0x0000000000014194 0xa4 mm/exec.o
.rodata 0x0000000000014238 0x266 fs/main.o
*fill* 0x000000000001449e 0x2 00
.rodata 0x00000000000144a0 0x13c fs/open.o
.rodata 0x00000000000145dc 0x60 fs/misc.o
.rodata 0x000000000001463c 0x164 fs/read_write.o
.rodata 0x00000000000147a0 0x1ad fs/link.o
*fill* 0x000000000001494d 0x3 00
.rodata 0x0000000000014950 0x806 fs/disklog.o
.rodata 0x0000000000015156 0x14 lib/orangescrt.a(printf.o)
*fill* 0x000000000001516a 0x2 00
.rodata 0x000000000001516c 0xad lib/orangescrt.a(misc.o)
.rodata 0x0000000000015219 0x23 lib/orangescrt.a(open.o)
.rodata 0x000000000001523c 0x25 lib/orangescrt.a(getpid.o)
.rodata 0x0000000000015261 0x23 lib/orangescrt.a(stat.o)
.rodata 0x0000000000015284 0x33 lib/orangescrt.a(fork.o)
*fill* 0x00000000000152b7 0x1 00
.rodata 0x00000000000152b8 0x87 lib/orangescrt.a(exec.o)
.rodata1
*(.rodata1)
.eh_frame_hdr
*(.eh_frame_hdr)
.eh_frame 0x0000000000015340 0x1750
*(.eh_frame)
.eh_frame 0x0000000000015340 0x38 kernel/start.o
.eh_frame 0x0000000000015378 0x4d4 kernel/main.o
0x4ec (size before relaxing)
.eh_frame 0x000000000001584c 0x60 kernel/clock.o
0x78 (size before relaxing)
.eh_frame 0x00000000000158ac 0xe0 kernel/keyboard.o
0xf8 (size before relaxing)
.eh_frame 0x000000000001598c 0x13c kernel/tty.o
0x154 (size before relaxing)
.eh_frame 0x0000000000015ac8 0x148 kernel/console.o
0x160 (size before relaxing)
.eh_frame 0x0000000000015c10 0x60 kernel/i8259.o
0x78 (size before relaxing)
.eh_frame 0x0000000000015c70 0xb0 kernel/protect.o
0xc8 (size before relaxing)
.eh_frame 0x0000000000015d20 0x1c0 kernel/proc.o
0x1d8 (size before relaxing)
.eh_frame 0x0000000000015ee0 0x5c kernel/systask.o
0x74 (size before relaxing)
.eh_frame 0x0000000000015f3c 0x1f8 kernel/hd.o
0x210 (size before relaxing)
.eh_frame 0x0000000000016134 0x128 kernel/klib.o
0x140 (size before relaxing)
.eh_frame 0x000000000001625c 0x20 lib/syslog.o
0x38 (size before relaxing)
.eh_frame 0x000000000001627c 0x7c mm/main.o
0x94 (size before relaxing)
.eh_frame 0x00000000000162f8 0x90 mm/forkexit.o
0xa8 (size before relaxing)
.eh_frame 0x0000000000016388 0x2c mm/exec.o
0x44 (size before relaxing)
.eh_frame 0x00000000000163b4 0x17c fs/main.o
0x194 (size before relaxing)
.eh_frame 0x0000000000016530 0x130 fs/open.o
0x148 (size before relaxing)
.eh_frame 0x0000000000016660 0x70 fs/misc.o
0x88 (size before relaxing)
.eh_frame 0x00000000000166d0 0x2c fs/read_write.o
0x44 (size before relaxing)
.eh_frame 0x00000000000166fc 0x30 fs/link.o
0x48 (size before relaxing)
.eh_frame 0x000000000001672c 0x60 fs/disklog.o
0x78 (size before relaxing)
.eh_frame 0x000000000001678c 0x40 lib/orangescrt.a(printf.o)
0x58 (size before relaxing)
.eh_frame 0x00000000000167cc 0x68 lib/orangescrt.a(vsprintf.o)
0x80 (size before relaxing)
.eh_frame 0x0000000000016834 0xdc lib/orangescrt.a(misc.o)
0xf4 (size before relaxing)
.eh_frame 0x0000000000016910 0x20 lib/orangescrt.a(open.o)
0x38 (size before relaxing)
.eh_frame 0x0000000000016930 0x20 lib/orangescrt.a(read.o)
0x38 (size before relaxing)
.eh_frame 0x0000000000016950 0x20 lib/orangescrt.a(write.o)
0x38 (size before relaxing)
.eh_frame 0x0000000000016970 0x20 lib/orangescrt.a(close.o)
0x38 (size before relaxing)
.eh_frame 0x0000000000016990 0x20 lib/orangescrt.a(unlink.o)
0x38 (size before relaxing)
.eh_frame 0x00000000000169b0 0x20 lib/orangescrt.a(getpid.o)
0x38 (size before relaxing)
.eh_frame 0x00000000000169d0 0x20 lib/orangescrt.a(stat.o)
0x38 (size before relaxing)
.eh_frame 0x00000000000169f0 0x20 lib/orangescrt.a(fork.o)
0x38 (size before relaxing)
.eh_frame 0x0000000000016a10 0x20 lib/orangescrt.a(wait.o)
0x38 (size before relaxing)
.eh_frame 0x0000000000016a30 0x60 lib/orangescrt.a(exec.o)
0x78 (size before relaxing)
.gcc_except_table
*(.gcc_except_table .gcc_except_table.*)
.exception_ranges
*(.exception_ranges .exception_ranges*)
0x0000000000016a90 . = (ALIGN (0x1000) - ((0x1000 - .) & 0xfff))
0x0000000000017000 . = DATA_SEGMENT_ALIGN (0x1000, 0x1000)
.eh_frame
*(.eh_frame)
.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 0x0000000000017000 0x0
0x0000000000017000 PROVIDE (__preinit_array_start, .)
*(.preinit_array)
0x0000000000017000 PROVIDE (__preinit_array_end, .)
.init_array 0x0000000000017000 0x0
0x0000000000017000 PROVIDE (__init_array_start, .)
*(SORT(.init_array.*) SORT(.ctors.*))
*(.init_array)
*(EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors)
0x0000000000017000 PROVIDE (__init_array_end, .)
.fini_array 0x0000000000017000 0x0
0x0000000000017000 PROVIDE (__fini_array_start, .)
*(SORT(.fini_array.*) SORT(.dtors.*))
*(.fini_array)
*(EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors)
0x0000000000017000 PROVIDE (__fini_array_end, .)
.ctors
*crtbegin.o(.ctors)
*crtbegin?.o(.ctors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
*(SORT(.ctors.*))
*(.ctors)
.dtors
*crtbegin.o(.dtors)
*crtbegin?.o(.dtors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
*(SORT(.dtors.*))
*(.dtors)
.jcr
*(.jcr)
.data.rel.ro
*(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*)
*(.data.rel.ro* .gnu.linkonce.d.rel.ro.*)
.dynamic
*(.dynamic)
.got
*(.got)
*(.igot)
0x0000000000017000 . = DATA_SEGMENT_RELRO_END (., 0xc)
.got.plt 0x0000000000017000 0x0
*(.got.plt)
*(.igot.plt)
.igot.plt 0x0000000000000000 0x0 kernel/kernel.o
.data 0x0000000000017000 0x814
*(.data .data.* .gnu.linkonce.d.*)
.data 0x0000000000017000 0x2 kernel/kernel.o
*fill* 0x0000000000017002 0x2 00
.data 0x0000000000017004 0x0 kernel/start.o
.data 0x0000000000017004 0xc kernel/main.o
0x0000000000017004 location
.data 0x0000000000017010 0x0 kernel/clock.o
*fill* 0x0000000000017010 0x10 00
.data 0x0000000000017020 0x600 kernel/keyboard.o
0x0000000000017020 keymap
.data 0x0000000000017620 0x22 kernel/tty.o
*fill* 0x0000000000017642 0x2 00
.data 0x0000000000017644 0x0 kernel/console.o
.data 0x0000000000017644 0x0 kernel/i8259.o
*fill* 0x0000000000017644 0x1c 00
.data 0x0000000000017660 0x1b4 kernel/global.o
0x0000000000017660 task_table
0x0000000000017740 user_proc_table
0x00000000000177e0 sys_call_table
0x00000000000177ec dd_map
0x0000000000017804 fsbuf
0x0000000000017808 mmbuf
0x000000000001780c logbuf
0x0000000000017810 logdiskbuf
.data 0x0000000000017814 0x0 kernel/protect.o
.data 0x0000000000017814 0x0 kernel/proc.o
.data 0x0000000000017814 0x0 kernel/systask.o
.data 0x0000000000017814 0x0 kernel/hd.o
.data 0x0000000000017814 0x0 kernel/klib.o
.data 0x0000000000017814 0x0 lib/syslog.o
.data 0x0000000000017814 0x0 mm/main.o
.data 0x0000000000017814 0x0 mm/forkexit.o
.data 0x0000000000017814 0x0 mm/exec.o
.data 0x0000000000017814 0x0 fs/main.o
.data 0x0000000000017814 0x0 fs/open.o
.data 0x0000000000017814 0x0 fs/misc.o
.data 0x0000000000017814 0x0 fs/read_write.o
.data 0x0000000000017814 0x0 fs/link.o
.data 0x0000000000017814 0x0 fs/disklog.o
.data 0x0000000000017814 0x0 lib/orangescrt.a(printf.o)
.data 0x0000000000017814 0x0 lib/orangescrt.a(vsprintf.o)
.data 0x0000000000017814 0x0 lib/orangescrt.a(misc.o)
.data 0x0000000000017814 0x0 lib/orangescrt.a(open.o)
.data 0x0000000000017814 0x0 lib/orangescrt.a(read.o)
.data 0x0000000000017814 0x0 lib/orangescrt.a(write.o)
.data 0x0000000000017814 0x0 lib/orangescrt.a(close.o)
.data 0x0000000000017814 0x0 lib/orangescrt.a(unlink.o)
.data 0x0000000000017814 0x0 lib/orangescrt.a(getpid.o)
.data 0x0000000000017814 0x0 lib/orangescrt.a(stat.o)
.data 0x0000000000017814 0x0 lib/orangescrt.a(fork.o)
.data 0x0000000000017814 0x0 lib/orangescrt.a(wait.o)
.data 0x0000000000017814 0x0 lib/orangescrt.a(exec.o)
.data1
*(.data1)
0x0000000000017814 _edata = .
0x0000000000017814 PROVIDE (edata, .)
0x0000000000017814 __bss_start = .
.bss 0x0000000000017820 0x29e38
*(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*)
.bss 0x0000000000017820 0x800 kernel/kernel.o
.bss 0x0000000000018020 0x0 kernel/start.o
.bss 0x0000000000018020 0x8 kernel/main.o
0x0000000000018020 filecount
0x0000000000018024 dircount
.bss 0x0000000000018028 0x0 kernel/clock.o
*fill* 0x0000000000018028 0x18 00
.bss 0x0000000000018040 0x58 kernel/keyboard.o
.bss 0x0000000000018098 0x0 kernel/tty.o
.bss 0x0000000000018098 0x0 kernel/console.o
.bss 0x0000000000018098 0x0 kernel/i8259.o
.bss 0x0000000000018098 0x0 kernel/global.o
.bss 0x0000000000018098 0x0 kernel/protect.o
.bss 0x0000000000018098 0x0 kernel/proc.o
.bss 0x0000000000018098 0x0 kernel/systask.o
*fill* 0x0000000000018098 0x8 00
.bss 0x00000000000180a0 0x64c kernel/hd.o
.bss 0x00000000000186ec 0x0 kernel/klib.o
.bss 0x00000000000186ec 0x0 lib/syslog.o
.bss 0x00000000000186ec 0x0 mm/main.o
.bss 0x00000000000186ec 0x0 mm/forkexit.o
.bss 0x00000000000186ec 0x0 mm/exec.o
.bss 0x00000000000186ec 0x0 fs/main.o
.bss 0x00000000000186ec 0x0 fs/open.o
.bss 0x00000000000186ec 0x0 fs/misc.o
.bss 0x00000000000186ec 0x0 fs/read_write.o
.bss 0x00000000000186ec 0x0 fs/link.o
*fill* 0x00000000000186ec 0x14 00
.bss 0x0000000000018700 0x208 fs/disklog.o
.bss 0x0000000000018908 0x0 lib/orangescrt.a(printf.o)
.bss 0x0000000000018908 0x0 lib/orangescrt.a(vsprintf.o)
.bss 0x0000000000018908 0x0 lib/orangescrt.a(misc.o)
.bss 0x0000000000018908 0x0 lib/orangescrt.a(open.o)
.bss 0x0000000000018908 0x0 lib/orangescrt.a(read.o)
.bss 0x0000000000018908 0x0 lib/orangescrt.a(write.o)
.bss 0x0000000000018908 0x0 lib/orangescrt.a(close.o)
.bss 0x0000000000018908 0x0 lib/orangescrt.a(unlink.o)
.bss 0x0000000000018908 0x0 lib/orangescrt.a(getpid.o)
.bss 0x0000000000018908 0x0 lib/orangescrt.a(stat.o)
.bss 0x0000000000018908 0x0 lib/orangescrt.a(fork.o)
.bss 0x0000000000018908 0x0 lib/orangescrt.a(wait.o)
.bss 0x0000000000018908 0x0 lib/orangescrt.a(exec.o)
*(COMMON)
*fill* 0x0000000000018908 0x18 00
COMMON 0x0000000000018920 0x8a0 kernel/main.o
0x0000000000018920 filequeue
0x0000000000018a60 dirs
0x0000000000018cc0 dirqueue
0x0000000000018e00 files
COMMON 0x00000000000191c0 0x28488 kernel/global.o
0x00000000000191c0 idt_ptr
0x00000000000191e0 inode_table
0x0000000000019ce0 task_stack
0x000000000003dce0 k_reenter
0x000000000003dd00 gdt
0x000000000003e100 current_console
0x000000000003e104 pcaller
0x000000000003e120 tty_table
0x000000000003eda0 tss
0x000000000003ee20 fs_msg
0x000000000003eed0 memory_size
0x000000000003eee0 f_desc_table
0x000000000003f2e0 root_inode
0x000000000003f2e4 disp_pos
0x000000000003f300 mm_msg
0x000000000003f3b0 key_pressed
0x000000000003f3b4 gdt_ptr
0x000000000003f3c0 idt
0x000000000003fbc0 super_block
0x000000000003fda0 ticks
0x000000000003fdc0 console_table
0x000000000003fe00 irq_table
0x000000000003fe40 p_proc_ready
0x000000000003fe60 proc_table
COMMON 0x0000000000041648 0x10 kernel/hd.o
0x0000000000041648 PARTITION_ENTRY
0x0000000000041658 . = ALIGN ((. != 0x0)?0x4:0x1)
0x0000000000041658 . = ALIGN (0x4)
0x0000000000041658 . = ALIGN (0x4)
0x0000000000041658 _end = .
0x0000000000041658 PROVIDE (end, .)
0x0000000000041658 . = 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 0x2a
*(.comment)
.comment 0x0000000000000000 0x2a kernel/start.o
0x2b (size before relaxing)
.comment 0x0000000000000000 0x2b kernel/main.o
.comment 0x0000000000000000 0x2b kernel/clock.o
.comment 0x0000000000000000 0x2b kernel/keyboard.o
.comment 0x0000000000000000 0x2b kernel/tty.o
.comment 0x0000000000000000 0x2b kernel/console.o
.comment 0x0000000000000000 0x2b kernel/i8259.o
.comment 0x0000000000000000 0x2b kernel/global.o
.comment 0x0000000000000000 0x2b kernel/protect.o
.comment 0x0000000000000000 0x2b kernel/proc.o
.comment 0x0000000000000000 0x2b kernel/systask.o
.comment 0x0000000000000000 0x2b kernel/hd.o
.comment 0x0000000000000000 0x2b kernel/klib.o
.comment 0x0000000000000000 0x2b lib/syslog.o
.comment 0x0000000000000000 0x2b mm/main.o
.comment 0x0000000000000000 0x2b mm/forkexit.o
.comment 0x0000000000000000 0x2b mm/exec.o
.comment 0x0000000000000000 0x2b fs/main.o
.comment 0x0000000000000000 0x2b fs/open.o
.comment 0x0000000000000000 0x2b fs/misc.o
.comment 0x0000000000000000 0x2b fs/read_write.o
.comment 0x0000000000000000 0x2b fs/link.o
.comment 0x0000000000000000 0x2b fs/disklog.o
.comment 0x0000000000000000 0x2b lib/orangescrt.a(printf.o)
.comment 0x0000000000000000 0x2b lib/orangescrt.a(vsprintf.o)
.comment 0x0000000000000000 0x2b lib/orangescrt.a(misc.o)
.comment 0x0000000000000000 0x2b lib/orangescrt.a(open.o)
.comment 0x0000000000000000 0x2b lib/orangescrt.a(read.o)
.comment 0x0000000000000000 0x2b lib/orangescrt.a(write.o)
.comment 0x0000000000000000 0x2b lib/orangescrt.a(close.o)
.comment 0x0000000000000000 0x2b lib/orangescrt.a(unlink.o)
.comment 0x0000000000000000 0x2b lib/orangescrt.a(getpid.o)
.comment 0x0000000000000000 0x2b lib/orangescrt.a(stat.o)
.comment 0x0000000000000000 0x2b lib/orangescrt.a(fork.o)
.comment 0x0000000000000000 0x2b lib/orangescrt.a(wait.o)
.comment 0x0000000000000000 0x2b lib/orangescrt.a(exec.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_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)
.gnu.attributes
*(.gnu.attributes)
/DISCARD/
*(.note.GNU-stack)
*(.gnu_debuglink)
*(.gnu.lto_*)
OUTPUT(kernel.bin elf32-i386)