second and build all code frame

master
unknown 3 years ago
parent 754200246a
commit 8d2fb264ee

Binary file not shown.

@ -297,280 +297,291 @@
00012348 t free_dind 00012348 t free_dind
000123e7 T truncate 000123e7 T truncate
0001251c T sys_select 0001251c T sys_select
00012522 t lock_buffer 00012522 t put_fs_byte
0001254f t unlock_buffer 0001253a T sys_getdents
00012741 t make_request 00012700 T sys_execve2
000128e5 T ll_rw_block 00012706 T sys_getcwd
0001293e T blk_dev_init 0001270c T sys_sleep
0001298c t unlock_buffer 00012761 T sys_something
000129c1 t end_request 00012767 t lock_buffer
00012a72 T floppy_deselect 00012794 t unlock_buffer
00012aa9 T floppy_change 00012986 t make_request
00012b2f t setup_DMA 00012b2a T ll_rw_block
00012be5 t output_byte 00012b83 T blk_dev_init
00012c5b t result 00012bd1 t unlock_buffer
00012d18 t bad_flp_intr 00012c06 t end_request
00012d77 t rw_interrupt 00012cb7 T floppy_deselect
00012e66 T setup_rw_floppy 00012cee T floppy_change
00012f27 t seek_interrupt 00012d74 t setup_DMA
00012f80 t transfer 00012e2a t output_byte
000130b5 t recal_interrupt 00012ea0 t result
000130ff T unexpected_floppy_interrupt 00012f5d t bad_flp_intr
00013144 t recalibrate_floppy 00012fbc t rw_interrupt
000131a6 t reset_interrupt 000130ab T setup_rw_floppy
000131eb t reset_floppy 0001316c t seek_interrupt
00013268 t floppy_on_interrupt 000131c5 t transfer
000132d3 t do_fd_request 000132fa t recal_interrupt
000134d7 T floppy_init 00013344 T unexpected_floppy_interrupt
00013529 t unlock_buffer 00013389 t recalibrate_floppy
0001355e t end_request 000133eb t reset_interrupt
000135fd T sys_setup 00013430 t reset_floppy
000139b0 t controller_ready 000134ad t floppy_on_interrupt
00013a44 t hd_out 00013518 t do_fd_request
00013b31 t drive_busy 0001371c T floppy_init
00013b97 t reset_controller 0001376e t unlock_buffer
00013c14 t reset_hd 000137a3 t end_request
00013cac T unexpected_hd_interrupt 00013842 T sys_setup
00013cbf t bad_rw_intr 00013bf5 t controller_ready
00013cfd t read_intr 00013c89 t hd_out
00013e23 t recal_intr 00013d76 t drive_busy
00013e3d t do_hd_request 00013ddc t reset_controller
0001413e T hd_init 00013e59 t reset_hd
000141b8 t unlock_buffer 00013ef1 T unexpected_hd_interrupt
000141ed t end_request 00013f04 t bad_rw_intr
0001428c t do_rd_request 00013f42 t read_intr
000143c2 T rd_init 00014068 t recal_intr
00014418 T rd_load 00014082 t do_hd_request
000146c4 t get_fs_byte 00014383 T hd_init
000146d2 t put_fs_byte 000143fd t unlock_buffer
000146ea T tty_init 00014432 t end_request
000146fb T tty_intr 000144d1 t do_rd_request
0001476f t sleep_if_empty 00014607 T rd_init
000147a7 t sleep_if_full 0001465d T rd_load
0001481b T copy_to_cooked 00014909 t get_fs_byte
00014dd6 T tty_read 00014917 t put_fs_byte
00015144 T tty_write 0001492f T tty_init
00015356 T do_tty_interrupt 00014940 T tty_intr
0001537e T chr_dev_init 000149b4 t sleep_if_empty
0001537f t gotoxy 000149ec t sleep_if_full
000153cd t set_origin 00014a60 T copy_to_cooked
00015433 t scrup 0001501b T tty_read
00015623 t scrdown 00015389 T tty_write
0001571a t lf 0001559b T do_tty_interrupt
00015750 t ri 000155c3 T chr_dev_init
00015786 t cr 000155c4 t gotoxy
000157a7 t del 00015612 t set_origin
000157d9 t csi_J 00015678 t scrup
0001586a t csi_K 00015868 t scrdown
0001591c T csi_m 0001595f t lf
00015983 t set_cursor 00015995 t ri
000159e9 t respond 000159cb t cr
00015a41 t insert_char 000159ec t del
00015aa4 t insert_line 00015a1e t csi_J
00015ae8 t delete_char 00015aaf t csi_K
00015b46 t delete_line 00015b61 T csi_m
00015b8a t csi_at 00015bc8 t set_cursor
00015bc8 t csi_L 00015c2e t respond
00015c06 t csi_P 00015c86 t insert_char
00015c44 t csi_M 00015ce9 t insert_line
00015c82 t save_cur 00015d2d t delete_char
00015c97 t restore_cur 00015d8b t delete_line
00015cb6 T con_write 00015dcf t csi_at
00016344 T con_init 00015e0d t csi_L
0001657b T sysbeepstop 00015e4b t csi_P
000165a4 t sysbeep 00015e89 t csi_M
00016602 t mode 00015ec7 t save_cur
00016603 t leds 00015edc t restore_cur
00016604 t e0 00015efb T con_write
00016605 T keyboard_interrupt 00016589 T con_init
0001662e t e0_e1 000167c0 T sysbeepstop
00016659 t set_e0 000167e9 t sysbeep
00016662 t set_e1 00016847 t mode
0001666b t put_queue 00016848 t leds
000166a4 t ctrl 00016849 t e0
000166bc t unctrl 0001684a T keyboard_interrupt
000166c0 t unalt 00016873 t e0_e1
000166d6 t lshift 0001689e t set_e0
000166de t unlshift 000168a7 t set_e1
000166e6 t rshift 000168b0 t put_queue
000166ee t unrshift 000168e9 t ctrl
000166f6 t caps 00016901 t unctrl
00016718 t set_leds 00016905 t unalt
0001672e t uncaps 0001691b t lshift
00016736 t scroll 00016923 t unlshift
0001673f t num 0001692b t rshift
00016748 t cursor 00016933 t unrshift
00016768 t cur2 0001693b t caps
00016791 t cur 0001695d t set_leds
0001679d t ok_cur 00016973 t uncaps
000167ab t num_table 0001697b t scroll
000167b8 t cur_table 00016984 t num
000167c5 t func 0001698d t cursor
000167e2 t ok_func 000169ad t cur2
000167f5 t end_func 000169d6 t cur
000167f6 t func_table 000169e2 t ok_cur
00016826 t key_map 000169f0 t num_table
00016887 t shift_map 000169fd t cur_table
00016949 t do_self 00016a0a t func
000169b1 t none 00016a27 t ok_func
000169b2 t minus 00016a3a t end_func
000169c7 t key_table 00016a3b t func_table
00016dc7 t kb_wait 00016a6b t key_map
00016dd0 t reboot 00016acc t shift_map
00016de2 t die 00016b8e t do_self
00016de4 t init 00016bf6 t none
00016e59 T rs_init 00016bf7 t minus
00016edc T rs_write 00016c0c t key_table
00016f2c T rs1_interrupt 0001700c t kb_wait
00016f34 T rs2_interrupt 00017015 t reboot
00016f39 t rs_int 00017027 t die
00016f50 t rep_int 00017029 t init
00016f6d t end 0001709e T rs_init
00016f7b t jmp_table 00017121 T rs_write
00016f8c t modem_status 00017170 T rs1_interrupt
00016f94 t line_status 00017178 T rs2_interrupt
00016f9c t read_char 0001717d t rs_int
00017023 t get_fs_byte 00017194 t rep_int
00017031 t get_fs_long 000171b1 t end
00017047 t put_fs_byte 000171bf t jmp_table
0001705f t put_fs_long 000171d0 t modem_status
0001706b t change_speed 000171d8 t line_status
000170e9 t flush 000171e0 t read_char
000170fb t send_break 00017267 t get_fs_byte
000170fc t get_termios 00017275 t get_fs_long
00017158 t set_termios 0001728b t put_fs_byte
000171a8 t get_termio 000172a3 t put_fs_long
00017270 t set_termio 000172af t change_speed
00017334 T tty_ioctl 0001732d t flush
00017632 t get_fs_byte 0001733f t send_break
00017640 T math_emulate 00017340 t get_termios
00017723 T math_error 0001739c t set_termios
00017743 T _exit 000173ec t get_termio
00017753 T open 000174b4 t set_termio
0001779c T close 00017578 T tty_ioctl
00017810 T dup 00017876 t get_fs_byte
00017847 T setsid 00017884 T math_emulate
00017876 T execve 00017967 T math_error
00017913 T strcpy 00017987 T _exit
0001792f T strncpy 00017997 T open
00017954 T strcat 000179e0 T close
0001797f T strncat 00017a54 T dup
000179b4 T strcmp 00017a8b T setsid
000179db T strncmp 00017aba T execve
00017a09 T strchr 00017b57 T strcpy
00017a36 T strrchr 00017b73 T strncpy
00017a65 T strspn 00017b98 T strcat
00017aa2 T strcspn 00017bc3 T strncat
00017adf T strpbrk 00017bf8 T strcmp
00017b16 T strstr 00017c1f T strncmp
00017b4f T strlen 00017c4d T strchr
00017b72 T strtok 00017c7a T strrchr
00017bf5 T memcpy 00017ca9 T strspn
00017c15 T memmove 00017ce6 T strcspn
00017c69 T memcmp 00017d23 T strpbrk
00017c93 T memchr 00017d5a T strstr
00017ccb T memset 00017d93 T strlen
0001bb48 d envp_rc 00017db6 T strtok
0001bb5c d envp 00017e39 T memcpy
0001bb80 D sys_call_table 00017e59 T memmove
0001bcdc D NR_syscalls 00017ead T memcmp
0001bce0 d init_task 00017ed7 T memchr
0001cce0 D current 00017f0f T memset
0001cd00 D task 00017f33 t init_bucket_desc
0001ce00 D stack_start 00017f9c T malloc
0001ce08 D current_DOR 00018128 T free_s
0001ce20 d thisname.1955 0001c2a8 d envp_rc
0001ce60 d month 0001c2bc d envp
0001cea0 d last_inode.1935 0001c2e0 D sys_call_table
0001cea4 D start_buffer 0001c450 D NR_syscalls
0001cec0 d crw_table 0001c460 d init_task
0001cee0 d ioctl_table 0001d460 D current
0001cf00 d floppy_type 0001d480 D task
0001cfc0 d cur_spec1 0001d580 D stack_start
0001cfc4 d cur_rate 0001d588 D current_DOR
0001cfc8 d floppy 0001d5a0 d thisname.1955
0001cfcc d current_track 0001d5e0 d month
0001cfd0 d callable.1844 0001d620 d last_inode.1935
0001cfe0 D tty_table 0001d624 D start_buffer
0001f500 D table_list 0001d640 d crw_table
0001f520 d quotient 0001d660 d ioctl_table
0001f540 D _ctype 0001d680 d floppy_type
0001f641 B __bss_start 0001d740 d cur_spec1
0001f641 D _edata 0001d744 d cur_rate
0001f660 b printbuf 0001d748 d floppy
0001fa60 b memory_end 0001d74c d current_track
0001fa64 b buffer_memory_end 0001d750 d callable.1844
0001fa68 b main_memory_start 0001d760 D tty_table
0001fa80 B jiffies 0001fc80 D table_list
0001fa84 B startup_time 0001fca0 d quotient
0001fa88 B last_task_used_math 0001fcc0 D _ctype
0001fa9c b mon_timer 0001fde0 D bucket_dir
0001faac b moff_timer 0001fe30 B __bss_start
0001fac0 b timer_list 0001fe30 D _edata
0001fdc0 b next_timer 0001fe40 b printbuf
0001fdc4 B last_pid 00020240 b memory_end
0001fde0 b buf 00020244 b buffer_memory_end
000201e0 b HIGH_MEMORY 00020248 b main_memory_start
00020200 b mem_map 00020260 B jiffies
00021100 B inode_table 00020264 B startup_time
00021800 B nr_buffers 00020268 B last_task_used_math
00021804 b free_list 0002027c b mon_timer
00021808 b buffer_wait 0002028c b moff_timer
0002180c B ROOT_DEV 000202a0 b timer_list
00021840 B blk_dev 000205a0 b next_timer
00021878 B do_floppy 000205a4 B last_pid
0002187c B selected 000205c0 b buf
00021884 b recalibrate 000209c0 b HIGH_MEMORY
00021888 b reset 000209e0 b mem_map
0002188c b seek 000218e0 B inode_table
00021890 b reply_buffer 00021fe0 B nr_buffers
00021897 b current_drive 00021fe4 b free_list
00021898 b sector 00021fe8 b buffer_wait
00021899 b head 00021fec B ROOT_DEV
0002189a b track 00022020 B blk_dev
0002189b b seek_track 00022058 B do_floppy
0002189c b command 0002205c B selected
000218a0 B do_hd 00022064 b recalibrate
000218c0 B hd_info 00022068 b reset
000218f0 b recalibrate 0002206c b seek
000218f4 b reset 00022070 b reply_buffer
000218f8 b NR_HD 00022077 b current_drive
00021900 b hd 00022078 b sector
00021950 B rd_length 00022079 b head
00021954 b cr_flag.1923 0002207a b track
00021960 B beepcount 0002207b b seek_track
00021964 b video_type 0002207c b command
00021968 b video_num_columns 00022080 B do_hd
0002196c b video_size_row 000220a0 B hd_info
00021970 b video_num_lines 000220d0 b recalibrate
00021974 b video_page 000220d4 b reset
00021978 b video_mem_start 000220d8 b NR_HD
0002197c b video_mem_end 000220e0 b hd
00021980 b video_port_reg 00022130 B rd_length
00021982 b video_port_val 00022134 b cr_flag.1923
00021984 b video_erase_char 00022140 B beepcount
00021988 b origin 00022144 b video_type
0002198c b scr_end 00022148 b video_num_columns
00021990 b pos 0002214c b video_size_row
00021994 b x 00022150 b video_num_lines
00021998 b y 00022154 b video_page
0002199c b top 00022158 b video_mem_start
000219a0 b bottom 0002215c b video_mem_end
000219a4 b state 00022160 b video_port_reg
000219a8 b npar 00022162 b video_port_val
000219c0 b par 00022164 b video_erase_char
00021a00 b ques 00022168 b origin
00021a04 b saved_x 0002216c b scr_end
00021a08 b saved_y 00022170 b pos
00021a20 B drive_info 00022174 b x
00021a40 B user_stack 00022178 b y
00022a40 B hash_table 0002217c b top
00022f20 B super_block 00022180 b bottom
00023280 B file_table 00022184 b state
00023680 B request 00022188 b npar
00023b00 B rd_start 000221a0 b par
00023b04 B _ctmp 000221e0 b ques
00023b08 B errno 000221e4 b saved_x
00023b0c B ___strtok 000221e8 b saved_y
00023b10 B end 000221ec B free_bucket_desc
00023b10 B _end 00022200 B drive_info
00022220 B user_stack
00023220 B hash_table
00023700 B super_block
00023a60 B file_table
00023e60 B request
000242e0 B rd_start
000242e4 B _ctmp
000242e8 B errno
000242ec B ___strtok
000242f0 B end
000242f0 B _end

@ -32,7 +32,8 @@ lib/lib.a(dup.o) init/main.o (dup)
lib/lib.a(setsid.o) init/main.o (setsid) lib/lib.a(setsid.o) init/main.o (setsid)
lib/lib.a(execve.o) init/main.o (execve) lib/lib.a(execve.o) init/main.o (execve)
lib/lib.a(wait.o) init/main.o (wait) lib/lib.a(wait.o) init/main.o (wait)
lib/lib.a(string.o) fs/fs.o (strncpy) lib/lib.a(string.o) fs/fs.o (strcpy)
lib/lib.a(malloc.o) fs/fs.o (malloc)
分配公共符号 分配公共符号
公共符号 大小 文件 公共符号 大小 文件
@ -98,6 +99,8 @@ Discarded input sections
0x0000000000000000 0x0 lib/lib.a(wait.o) 0x0000000000000000 0x0 lib/lib.a(wait.o)
.note.GNU-stack .note.GNU-stack
0x0000000000000000 0x0 lib/lib.a(string.o) 0x0000000000000000 0x0 lib/lib.a(string.o)
.note.GNU-stack
0x0000000000000000 0x0 lib/lib.a(malloc.o)
内存配置 内存配置
@ -202,7 +205,7 @@ LOAD lib/lib.a
*(.iplt) *(.iplt)
.iplt 0x0000000000000000 0x0 boot/head.o .iplt 0x0000000000000000 0x0 boot/head.o
.text 0x0000000000000000 0x17cef .text 0x0000000000000000 0x1829f
*(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*) *(.text.exit .text.exit.*)
*(.text.startup .text.startup.*) *(.text.startup .text.startup.*)
@ -354,7 +357,7 @@ LOAD lib/lib.a
0x000000000000ae49 mem_init 0x000000000000ae49 mem_init
0x000000000000aebd calc_mem 0x000000000000aebd calc_mem
0x000000000000afb2 page_fault 0x000000000000afb2 page_fault
.text 0x000000000000afe9 0x7539 fs/fs.o .text 0x000000000000afe9 0x777e fs/fs.o
0x000000000000afff sys_ustat 0x000000000000afff sys_ustat
0x000000000000b005 sys_utime 0x000000000000b005 sys_utime
0x000000000000b0b2 sys_access 0x000000000000b0b2 sys_access
@ -424,116 +427,127 @@ LOAD lib/lib.a
0x00000000000121d8 sys_ioctl 0x00000000000121d8 sys_ioctl
0x00000000000123e7 truncate 0x00000000000123e7 truncate
0x000000000001251c sys_select 0x000000000001251c sys_select
.text 0x0000000000012522 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) 0x000000000001253a sys_getdents
0x00000000000128e5 ll_rw_block 0x0000000000012700 sys_execve2
0x000000000001293e blk_dev_init 0x0000000000012706 sys_getcwd
.text 0x000000000001298c 0xb9d kernel/blk_drv/blk_drv.a(floppy.o) 0x000000000001270c sys_sleep
0x0000000000012a72 floppy_deselect 0x0000000000012761 sys_something
0x0000000000012aa9 floppy_change .text 0x0000000000012767 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
0x0000000000012e66 setup_rw_floppy 0x0000000000012b2a ll_rw_block
0x00000000000130ff unexpected_floppy_interrupt 0x0000000000012b83 blk_dev_init
0x00000000000134d7 floppy_init .text 0x0000000000012bd1 0xb9d kernel/blk_drv/blk_drv.a(floppy.o)
.text 0x0000000000013529 0xc8f kernel/blk_drv/blk_drv.a(hd.o) 0x0000000000012cb7 floppy_deselect
0x00000000000135fd sys_setup 0x0000000000012cee floppy_change
0x0000000000013cac unexpected_hd_interrupt 0x00000000000130ab setup_rw_floppy
0x000000000001413e hd_init 0x0000000000013344 unexpected_floppy_interrupt
.text 0x00000000000141b8 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o) 0x000000000001371c floppy_init
0x00000000000143c2 rd_init .text 0x000000000001376e 0xc8f kernel/blk_drv/blk_drv.a(hd.o)
0x0000000000014418 rd_load 0x0000000000013842 sys_setup
.text 0x00000000000146c4 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o) 0x0000000000013ef1 unexpected_hd_interrupt
0x00000000000146ea tty_init 0x0000000000014383 hd_init
0x00000000000146fb tty_intr .text 0x00000000000143fd 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o)
0x0000000000014808 wait_for_keypress 0x0000000000014607 rd_init
0x000000000001481b copy_to_cooked 0x000000000001465d rd_load
0x0000000000014dd6 tty_read .text 0x0000000000014909 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o)
0x0000000000015144 tty_write 0x000000000001492f tty_init
0x0000000000015356 do_tty_interrupt 0x0000000000014940 tty_intr
0x000000000001537e chr_dev_init 0x0000000000014a4d wait_for_keypress
.text 0x000000000001537f 0x1283 kernel/chr_drv/chr_drv.a(console.o) 0x0000000000014a60 copy_to_cooked
0x000000000001591c csi_m 0x000000000001501b tty_read
0x0000000000015cb6 con_write 0x0000000000015389 tty_write
0x0000000000016344 con_init 0x000000000001559b do_tty_interrupt
0x000000000001657b sysbeepstop 0x00000000000155c3 chr_dev_init
.text 0x0000000000016602 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o) .text 0x00000000000155c4 0x1283 kernel/chr_drv/chr_drv.a(console.o)
0x0000000000016605 keyboard_interrupt 0x0000000000015b61 csi_m
.text 0x0000000000016de4 0x145 kernel/chr_drv/chr_drv.a(serial.o) 0x0000000000015efb con_write
0x0000000000016e59 rs_init 0x0000000000016589 con_init
0x0000000000016edc rs_write 0x00000000000167c0 sysbeepstop
*fill* 0x0000000000016f29 0x3 .text 0x0000000000016847 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o)
.text 0x0000000000016f2c 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o) 0x000000000001684a keyboard_interrupt
0x0000000000016f2c rs1_interrupt .text 0x0000000000017029 0x145 kernel/chr_drv/chr_drv.a(serial.o)
0x0000000000016f34 rs2_interrupt 0x000000000001709e rs_init
.text 0x0000000000017023 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o) 0x0000000000017121 rs_write
0x0000000000017334 tty_ioctl *fill* 0x000000000001716e 0x2
.text 0x0000000000017632 0x111 kernel/math/math.a(math_emulate.o) .text 0x0000000000017170 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o)
0x0000000000017640 math_emulate 0x0000000000017170 rs1_interrupt
0x0000000000017723 math_error 0x0000000000017178 rs2_interrupt
.text 0x0000000000017743 0x0 lib/lib.a(ctype.o) .text 0x0000000000017267 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o)
.text 0x0000000000017743 0x10 lib/lib.a(_exit.o) 0x0000000000017578 tty_ioctl
0x0000000000017743 _exit .text 0x0000000000017876 0x111 kernel/math/math.a(math_emulate.o)
.text 0x0000000000017753 0x49 lib/lib.a(open.o) 0x0000000000017884 math_emulate
0x0000000000017753 open 0x0000000000017967 math_error
.text 0x000000000001779c 0x37 lib/lib.a(close.o) .text 0x0000000000017987 0x0 lib/lib.a(ctype.o)
0x000000000001779c close .text 0x0000000000017987 0x10 lib/lib.a(_exit.o)
.text 0x00000000000177d3 0x0 lib/lib.a(errno.o) 0x0000000000017987 _exit
.text 0x00000000000177d3 0x3d lib/lib.a(write.o) .text 0x0000000000017997 0x49 lib/lib.a(open.o)
0x00000000000177d3 write 0x0000000000017997 open
.text 0x0000000000017810 0x37 lib/lib.a(dup.o) .text 0x00000000000179e0 0x37 lib/lib.a(close.o)
0x0000000000017810 dup 0x00000000000179e0 close
.text 0x0000000000017847 0x2f lib/lib.a(setsid.o) .text 0x0000000000017a17 0x0 lib/lib.a(errno.o)
0x0000000000017847 setsid .text 0x0000000000017a17 0x3d lib/lib.a(write.o)
.text 0x0000000000017876 0x3d lib/lib.a(execve.o) 0x0000000000017a17 write
0x0000000000017876 execve .text 0x0000000000017a54 0x37 lib/lib.a(dup.o)
.text 0x00000000000178b3 0x60 lib/lib.a(wait.o) 0x0000000000017a54 dup
0x00000000000178b3 waitpid .text 0x0000000000017a8b 0x2f lib/lib.a(setsid.o)
0x00000000000178f0 wait 0x0000000000017a8b setsid
.text 0x0000000000017913 0x3dc lib/lib.a(string.o) .text 0x0000000000017aba 0x3d lib/lib.a(execve.o)
0x0000000000017913 strcpy 0x0000000000017aba execve
0x000000000001792f strncpy .text 0x0000000000017af7 0x60 lib/lib.a(wait.o)
0x0000000000017954 strcat 0x0000000000017af7 waitpid
0x000000000001797f strncat 0x0000000000017b34 wait
0x00000000000179b4 strcmp .text 0x0000000000017b57 0x3dc lib/lib.a(string.o)
0x00000000000179db strncmp 0x0000000000017b57 strcpy
0x0000000000017a09 strchr 0x0000000000017b73 strncpy
0x0000000000017a36 strrchr 0x0000000000017b98 strcat
0x0000000000017a65 strspn 0x0000000000017bc3 strncat
0x0000000000017aa2 strcspn 0x0000000000017bf8 strcmp
0x0000000000017adf strpbrk 0x0000000000017c1f strncmp
0x0000000000017b16 strstr 0x0000000000017c4d strchr
0x0000000000017b4f strlen 0x0000000000017c7a strrchr
0x0000000000017b72 strtok 0x0000000000017ca9 strspn
0x0000000000017bf5 memcpy 0x0000000000017ce6 strcspn
0x0000000000017c15 memmove 0x0000000000017d23 strpbrk
0x0000000000017c69 memcmp 0x0000000000017d5a strstr
0x0000000000017c93 memchr 0x0000000000017d93 strlen
0x0000000000017ccb memset 0x0000000000017db6 strtok
0x0000000000017e39 memcpy
0x0000000000017e59 memmove
0x0000000000017ead memcmp
0x0000000000017ed7 memchr
0x0000000000017f0f memset
.text 0x0000000000017f33 0x36c lib/lib.a(malloc.o)
0x0000000000017f9c malloc
0x0000000000018128 free_s
*(.gnu.warning) *(.gnu.warning)
.fini .fini
*(SORT(.fini)) *(SORT(.fini))
0x0000000000017cef PROVIDE (__etext, .) 0x000000000001829f PROVIDE (__etext, .)
0x0000000000017cef PROVIDE (_etext, .) 0x000000000001829f PROVIDE (_etext, .)
0x0000000000017cef PROVIDE (etext, .) 0x000000000001829f PROVIDE (etext, .)
.rodata 0x0000000000017cf0 0x13ca .rodata 0x00000000000182a0 0x14b7
*(.rodata .rodata.* .gnu.linkonce.r.*) *(.rodata .rodata.* .gnu.linkonce.r.*)
.rodata 0x0000000000017cf0 0xad init/main.o .rodata 0x00000000000182a0 0xad init/main.o
*fill* 0x0000000000017d9d 0x3 *fill* 0x000000000001834d 0x3
.rodata 0x0000000000017da0 0x438 kernel/kernel.o .rodata 0x0000000000018350 0x438 kernel/kernel.o
.rodata 0x00000000000181d8 0x18f mm/mm.o .rodata 0x0000000000018788 0x18f mm/mm.o
*fill* 0x0000000000018367 0x1 *fill* 0x0000000000018917 0x1
.rodata 0x0000000000018368 0x62c fs/fs.o .rodata 0x0000000000018918 0x641 fs/fs.o
.rodata 0x0000000000018994 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) *fill* 0x0000000000018f59 0x3
*fill* 0x0000000000018a0e 0x2 .rodata 0x0000000000018f5c 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
.rodata 0x0000000000018a10 0x133 kernel/blk_drv/blk_drv.a(floppy.o) *fill* 0x0000000000018fd6 0x2
*fill* 0x0000000000018b43 0x1 .rodata 0x0000000000018fd8 0x133 kernel/blk_drv/blk_drv.a(floppy.o)
.rodata 0x0000000000018b44 0x19b kernel/blk_drv/blk_drv.a(hd.o) *fill* 0x000000000001910b 0x1
*fill* 0x0000000000018cdf 0x1 .rodata 0x000000000001910c 0x19b kernel/blk_drv/blk_drv.a(hd.o)
.rodata 0x0000000000018ce0 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) *fill* 0x00000000000192a7 0x1
.rodata 0x0000000000018e68 0x17d kernel/chr_drv/chr_drv.a(console.o) .rodata 0x00000000000192a8 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o)
*fill* 0x0000000000018fe5 0x3 .rodata 0x0000000000019430 0x17d kernel/chr_drv/chr_drv.a(console.o)
.rodata 0x0000000000018fe8 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) *fill* 0x00000000000195ad 0x3
.rodata 0x0000000000019068 0x52 kernel/math/math.a(math_emulate.o) .rodata 0x00000000000195b0 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o)
.rodata 0x0000000000019630 0x52 kernel/math/math.a(math_emulate.o)
*fill* 0x0000000000019682 0x2
.rodata 0x0000000000019684 0xd3 lib/lib.a(malloc.o)
.rodata1 .rodata1
*(.rodata1) *(.rodata1)
@ -541,58 +555,60 @@ LOAD lib/lib.a
.eh_frame_hdr .eh_frame_hdr
*(.eh_frame_hdr) *(.eh_frame_hdr)
.eh_frame 0x00000000000190bc 0x2a6c .eh_frame 0x0000000000019758 0x2b44
*(.eh_frame) *(.eh_frame)
.eh_frame 0x00000000000190bc 0xf0 init/main.o .eh_frame 0x0000000000019758 0xf0 init/main.o
.eh_frame 0x00000000000191ac 0xb04 kernel/kernel.o .eh_frame 0x0000000000019848 0xb04 kernel/kernel.o
0xbf4 (size before relaxing) 0xbf4 (size before relaxing)
.eh_frame 0x0000000000019cb0 0x194 mm/mm.o .eh_frame 0x000000000001a34c 0x194 mm/mm.o
0x1ac (size before relaxing) 0x1ac (size before relaxing)
.eh_frame 0x0000000000019e44 0xdd8 fs/fs.o .eh_frame 0x000000000001a4e0 0xe60 fs/fs.o
0xf70 (size before relaxing) 0x1010 (size before relaxing)
.eh_frame 0x000000000001ac1c 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .eh_frame 0x000000000001b340 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
0xb0 (size before relaxing) 0xb0 (size before relaxing)
.eh_frame 0x000000000001acb4 0x23c kernel/blk_drv/blk_drv.a(floppy.o) .eh_frame 0x000000000001b3d8 0x23c kernel/blk_drv/blk_drv.a(floppy.o)
0x254 (size before relaxing) 0x254 (size before relaxing)
.eh_frame 0x000000000001aef0 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) .eh_frame 0x000000000001b614 0x1e8 kernel/blk_drv/blk_drv.a(hd.o)
0x200 (size before relaxing) 0x200 (size before relaxing)
.eh_frame 0x000000000001b0d8 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) .eh_frame 0x000000000001b7fc 0xac kernel/blk_drv/blk_drv.a(ramdisk.o)
0xc4 (size before relaxing) 0xc4 (size before relaxing)
.eh_frame 0x000000000001b184 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) .eh_frame 0x000000000001b8a8 0x12c kernel/chr_drv/chr_drv.a(tty_io.o)
0x144 (size before relaxing) 0x144 (size before relaxing)
.eh_frame 0x000000000001b2b0 0x2c0 kernel/chr_drv/chr_drv.a(console.o) .eh_frame 0x000000000001b9d4 0x2c0 kernel/chr_drv/chr_drv.a(console.o)
0x2d8 (size before relaxing) 0x2d8 (size before relaxing)
.eh_frame 0x000000000001b570 0x54 kernel/chr_drv/chr_drv.a(serial.o) .eh_frame 0x000000000001bc94 0x54 kernel/chr_drv/chr_drv.a(serial.o)
0x6c (size before relaxing) 0x6c (size before relaxing)
.eh_frame 0x000000000001b5c4 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) .eh_frame 0x000000000001bce8 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o)
0x160 (size before relaxing) 0x160 (size before relaxing)
.eh_frame 0x000000000001b70c 0x5c kernel/math/math.a(math_emulate.o) .eh_frame 0x000000000001be30 0x5c kernel/math/math.a(math_emulate.o)
0x74 (size before relaxing) 0x74 (size before relaxing)
.eh_frame 0x000000000001b768 0x1c lib/lib.a(_exit.o) .eh_frame 0x000000000001be8c 0x1c lib/lib.a(_exit.o)
0x34 (size before relaxing) 0x34 (size before relaxing)
.eh_frame 0x000000000001b784 0x24 lib/lib.a(open.o) .eh_frame 0x000000000001bea8 0x24 lib/lib.a(open.o)
0x3c (size before relaxing) 0x3c (size before relaxing)
.eh_frame 0x000000000001b7a8 0x20 lib/lib.a(close.o) .eh_frame 0x000000000001becc 0x20 lib/lib.a(close.o)
0x38 (size before relaxing) 0x38 (size before relaxing)
.eh_frame 0x000000000001b7c8 0x20 lib/lib.a(write.o) .eh_frame 0x000000000001beec 0x20 lib/lib.a(write.o)
0x38 (size before relaxing) 0x38 (size before relaxing)
.eh_frame 0x000000000001b7e8 0x20 lib/lib.a(dup.o) .eh_frame 0x000000000001bf0c 0x20 lib/lib.a(dup.o)
0x38 (size before relaxing) 0x38 (size before relaxing)
.eh_frame 0x000000000001b808 0x18 lib/lib.a(setsid.o) .eh_frame 0x000000000001bf2c 0x18 lib/lib.a(setsid.o)
0x30 (size before relaxing) 0x30 (size before relaxing)
.eh_frame 0x000000000001b820 0x20 lib/lib.a(execve.o) .eh_frame 0x000000000001bf44 0x20 lib/lib.a(execve.o)
0x38 (size before relaxing) 0x38 (size before relaxing)
.eh_frame 0x000000000001b840 0x38 lib/lib.a(wait.o) .eh_frame 0x000000000001bf64 0x38 lib/lib.a(wait.o)
0x50 (size before relaxing) 0x50 (size before relaxing)
.eh_frame 0x000000000001b878 0x2b0 lib/lib.a(string.o) .eh_frame 0x000000000001bf9c 0x2b0 lib/lib.a(string.o)
0x2c8 (size before relaxing) 0x2c8 (size before relaxing)
.eh_frame 0x000000000001c24c 0x50 lib/lib.a(malloc.o)
0x68 (size before relaxing)
.gcc_except_table .gcc_except_table
*(.gcc_except_table .gcc_except_table.*) *(.gcc_except_table .gcc_except_table.*)
.exception_ranges .exception_ranges
*(.exception_ranges .exception_ranges*) *(.exception_ranges .exception_ranges*)
0x000000000001bb28 . = . 0x000000000001c29c . = .
.eh_frame .eh_frame
*(.eh_frame) *(.eh_frame)
@ -610,22 +626,22 @@ LOAD lib/lib.a
*(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tbss .tbss.* .gnu.linkonce.tb.*)
*(.tcommon) *(.tcommon)
.preinit_array 0x000000000001bb28 0x0 .preinit_array 0x000000000001c29c 0x0
0x000000000001bb28 PROVIDE (__preinit_array_start, .) 0x000000000001c29c PROVIDE (__preinit_array_start, .)
*(.preinit_array) *(.preinit_array)
0x000000000001bb28 PROVIDE (__preinit_array_end, .) 0x000000000001c29c PROVIDE (__preinit_array_end, .)
.init_array 0x000000000001bb28 0x0 .init_array 0x000000000001c29c 0x0
0x000000000001bb28 PROVIDE (__init_array_start, .) 0x000000000001c29c PROVIDE (__init_array_start, .)
*(SORT(.init_array.*) SORT(.ctors.*)) *(SORT(.init_array.*) SORT(.ctors.*))
*(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors) *(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors)
0x000000000001bb28 PROVIDE (__init_array_end, .) 0x000000000001c29c PROVIDE (__init_array_end, .)
.fini_array 0x000000000001bb28 0x0 .fini_array 0x000000000001c29c 0x0
0x000000000001bb28 PROVIDE (__fini_array_start, .) 0x000000000001c29c PROVIDE (__fini_array_start, .)
*(SORT(.fini_array.*) SORT(.dtors.*)) *(SORT(.fini_array.*) SORT(.dtors.*))
*(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors) *(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors)
0x000000000001bb28 PROVIDE (__fini_array_end, .) 0x000000000001c29c PROVIDE (__fini_array_end, .)
.ctors .ctors
*crtbegin.o(.ctors) *crtbegin.o(.ctors)
@ -655,140 +671,145 @@ LOAD lib/lib.a
*(.got) *(.got)
*(.igot) *(.igot)
.got.plt 0x000000000001bb28 0x0 .got.plt 0x000000000001c29c 0x0
*(.got.plt) *(.got.plt)
*(.igot.plt) *(.igot.plt)
.igot.plt 0x0000000000000000 0x0 boot/head.o .igot.plt 0x0000000000000000 0x0 boot/head.o
.data 0x000000000001bb40 0x3b01 .data 0x000000000001c2a0 0x3b90
*(.data .data.* .gnu.linkonce.d.*) *(.data .data.* .gnu.linkonce.d.*)
.data 0x000000000001bb40 0x0 boot/head.o .data 0x000000000001c2a0 0x0 boot/head.o
.data 0x000000000001bb40 0x28 init/main.o .data 0x000000000001c2a0 0x28 init/main.o
*fill* 0x000000000001bb68 0x18 *fill* 0x000000000001c2c8 0x18
.data 0x000000000001bb80 0x1310 kernel/kernel.o .data 0x000000000001c2e0 0x1330 kernel/kernel.o
0x000000000001bb80 sys_call_table 0x000000000001c2e0 sys_call_table
0x000000000001bcdc NR_syscalls 0x000000000001c450 NR_syscalls
0x000000000001cce0 current 0x000000000001d460 current
0x000000000001cd00 task 0x000000000001d480 task
0x000000000001ce00 stack_start 0x000000000001d580 stack_start
0x000000000001ce08 current_DOR 0x000000000001d588 current_DOR
.data 0x000000000001ce90 0x0 mm/mm.o .data 0x000000000001d610 0x0 mm/mm.o
*fill* 0x000000000001ce90 0x10 *fill* 0x000000000001d610 0x10
.data 0x000000000001cea0 0x60 fs/fs.o .data 0x000000000001d620 0x60 fs/fs.o
0x000000000001cea4 start_buffer 0x000000000001d624 start_buffer
.data 0x000000000001cf00 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .data 0x000000000001d680 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
.data 0x000000000001cf00 0xcd kernel/blk_drv/blk_drv.a(floppy.o) .data 0x000000000001d680 0xcd kernel/blk_drv/blk_drv.a(floppy.o)
*fill* 0x000000000001cfcd 0x3 *fill* 0x000000000001d74d 0x3
.data 0x000000000001cfd0 0x4 kernel/blk_drv/blk_drv.a(hd.o) .data 0x000000000001d750 0x4 kernel/blk_drv/blk_drv.a(hd.o)
.data 0x000000000001cfd4 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) .data 0x000000000001d754 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o)
*fill* 0x000000000001cfd4 0xc *fill* 0x000000000001d754 0xc
.data 0x000000000001cfe0 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) .data 0x000000000001d760 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o)
0x000000000001cfe0 tty_table 0x000000000001d760 tty_table
0x000000000001f500 table_list 0x000000000001fc80 table_list
.data 0x000000000001f518 0x1 kernel/chr_drv/chr_drv.a(console.o) .data 0x000000000001fc98 0x1 kernel/chr_drv/chr_drv.a(console.o)
.data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) .data 0x000000000001fc99 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o)
.data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(serial.o) .data 0x000000000001fc99 0x0 kernel/chr_drv/chr_drv.a(serial.o)
.data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) .data 0x000000000001fc99 0x0 kernel/chr_drv/chr_drv.a(rs_io.o)
*fill* 0x000000000001f519 0x7 *fill* 0x000000000001fc99 0x7
.data 0x000000000001f520 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) .data 0x000000000001fca0 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o)
.data 0x000000000001f540 0x0 kernel/math/math.a(math_emulate.o) .data 0x000000000001fcc0 0x0 kernel/math/math.a(math_emulate.o)
.data 0x000000000001f540 0x101 lib/lib.a(ctype.o) .data 0x000000000001fcc0 0x101 lib/lib.a(ctype.o)
0x000000000001f540 _ctype 0x000000000001fcc0 _ctype
.data 0x000000000001f641 0x0 lib/lib.a(_exit.o) .data 0x000000000001fdc1 0x0 lib/lib.a(_exit.o)
.data 0x000000000001f641 0x0 lib/lib.a(open.o) .data 0x000000000001fdc1 0x0 lib/lib.a(open.o)
.data 0x000000000001f641 0x0 lib/lib.a(close.o) .data 0x000000000001fdc1 0x0 lib/lib.a(close.o)
.data 0x000000000001f641 0x0 lib/lib.a(errno.o) .data 0x000000000001fdc1 0x0 lib/lib.a(errno.o)
.data 0x000000000001f641 0x0 lib/lib.a(write.o) .data 0x000000000001fdc1 0x0 lib/lib.a(write.o)
.data 0x000000000001f641 0x0 lib/lib.a(dup.o) .data 0x000000000001fdc1 0x0 lib/lib.a(dup.o)
.data 0x000000000001f641 0x0 lib/lib.a(setsid.o) .data 0x000000000001fdc1 0x0 lib/lib.a(setsid.o)
.data 0x000000000001f641 0x0 lib/lib.a(execve.o) .data 0x000000000001fdc1 0x0 lib/lib.a(execve.o)
.data 0x000000000001f641 0x0 lib/lib.a(wait.o) .data 0x000000000001fdc1 0x0 lib/lib.a(wait.o)
.data 0x000000000001f641 0x0 lib/lib.a(string.o) .data 0x000000000001fdc1 0x0 lib/lib.a(string.o)
*fill* 0x000000000001fdc1 0x1f
.data 0x000000000001fde0 0x50 lib/lib.a(malloc.o)
0x000000000001fde0 bucket_dir
.data1 .data1
*(.data1) *(.data1)
0x000000000001f641 _edata = . 0x000000000001fe30 _edata = .
0x000000000001f641 PROVIDE (edata, .) 0x000000000001fe30 PROVIDE (edata, .)
0x000000000001f641 . = . 0x000000000001fe30 . = .
0x000000000001f641 __bss_start = . 0x000000000001fe30 __bss_start = .
.bss 0x000000000001f660 0x44b0 .bss 0x000000000001fe40 0x44b0
*(.dynbss) *(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*) *(.bss .bss.* .gnu.linkonce.b.*)
.bss 0x000000000001f660 0x0 boot/head.o .bss 0x000000000001fe40 0x0 boot/head.o
.bss 0x000000000001f660 0x40c init/main.o .bss 0x000000000001fe40 0x40c init/main.o
*fill* 0x000000000001fa6c 0x14 *fill* 0x000000000002024c 0x14
.bss 0x000000000001fa80 0x760 kernel/kernel.o .bss 0x0000000000020260 0x760 kernel/kernel.o
0x000000000001fa80 jiffies 0x0000000000020260 jiffies
0x000000000001fa84 startup_time 0x0000000000020264 startup_time
0x000000000001fa88 last_task_used_math 0x0000000000020268 last_task_used_math
0x000000000001fdc4 last_pid 0x00000000000205a4 last_pid
.bss 0x00000000000201e0 0xf20 mm/mm.o .bss 0x00000000000209c0 0xf20 mm/mm.o
.bss 0x0000000000021100 0x710 fs/fs.o .bss 0x00000000000218e0 0x710 fs/fs.o
0x0000000000021100 inode_table 0x00000000000218e0 inode_table
0x0000000000021800 nr_buffers 0x0000000000021fe0 nr_buffers
0x000000000002180c ROOT_DEV 0x0000000000021fec ROOT_DEV
*fill* 0x0000000000021810 0x10 *fill* 0x0000000000021ff0 0x10
.bss 0x0000000000021820 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .bss 0x0000000000022000 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
0x0000000000021820 wait_for_request 0x0000000000022000 wait_for_request
0x0000000000021840 blk_dev 0x0000000000022020 blk_dev
.bss 0x0000000000021878 0x25 kernel/blk_drv/blk_drv.a(floppy.o) .bss 0x0000000000022058 0x25 kernel/blk_drv/blk_drv.a(floppy.o)
0x0000000000021878 do_floppy 0x0000000000022058 do_floppy
0x000000000002187c selected 0x000000000002205c selected
0x0000000000021880 wait_on_floppy_select 0x0000000000022060 wait_on_floppy_select
*fill* 0x000000000002189d 0x3 *fill* 0x000000000002207d 0x3
.bss 0x00000000000218a0 0xb0 kernel/blk_drv/blk_drv.a(hd.o) .bss 0x0000000000022080 0xb0 kernel/blk_drv/blk_drv.a(hd.o)
0x00000000000218a0 do_hd 0x0000000000022080 do_hd
0x00000000000218c0 hd_info 0x00000000000220a0 hd_info
.bss 0x0000000000021950 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) .bss 0x0000000000022130 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o)
0x0000000000021950 rd_length 0x0000000000022130 rd_length
.bss 0x0000000000021954 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) .bss 0x0000000000022134 0x4 kernel/chr_drv/chr_drv.a(tty_io.o)
*fill* 0x0000000000021958 0x8 *fill* 0x0000000000022138 0x8
.bss 0x0000000000021960 0xac kernel/chr_drv/chr_drv.a(console.o) .bss 0x0000000000022140 0xac kernel/chr_drv/chr_drv.a(console.o)
0x0000000000021960 beepcount 0x0000000000022140 beepcount
.bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) .bss 0x00000000000221ec 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o)
.bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(serial.o) .bss 0x00000000000221ec 0x0 kernel/chr_drv/chr_drv.a(serial.o)
.bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) .bss 0x00000000000221ec 0x0 kernel/chr_drv/chr_drv.a(rs_io.o)
.bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) .bss 0x00000000000221ec 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o)
.bss 0x0000000000021a0c 0x0 kernel/math/math.a(math_emulate.o) .bss 0x00000000000221ec 0x0 kernel/math/math.a(math_emulate.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(ctype.o) .bss 0x00000000000221ec 0x0 lib/lib.a(ctype.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(_exit.o) .bss 0x00000000000221ec 0x0 lib/lib.a(_exit.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(open.o) .bss 0x00000000000221ec 0x0 lib/lib.a(open.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(close.o) .bss 0x00000000000221ec 0x0 lib/lib.a(close.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(errno.o) .bss 0x00000000000221ec 0x0 lib/lib.a(errno.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(write.o) .bss 0x00000000000221ec 0x0 lib/lib.a(write.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(dup.o) .bss 0x00000000000221ec 0x0 lib/lib.a(dup.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(setsid.o) .bss 0x00000000000221ec 0x0 lib/lib.a(setsid.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(execve.o) .bss 0x00000000000221ec 0x0 lib/lib.a(execve.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(wait.o) .bss 0x00000000000221ec 0x0 lib/lib.a(wait.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(string.o) .bss 0x00000000000221ec 0x0 lib/lib.a(string.o)
.bss 0x00000000000221ec 0x4 lib/lib.a(malloc.o)
0x00000000000221ec free_bucket_desc
*(COMMON) *(COMMON)
*fill* 0x0000000000021a0c 0x14 *fill* 0x00000000000221f0 0x10
COMMON 0x0000000000021a20 0x20 init/main.o COMMON 0x0000000000022200 0x20 init/main.o
0x0000000000021a20 drive_info 0x0000000000022200 drive_info
COMMON 0x0000000000021a40 0x1000 kernel/kernel.o COMMON 0x0000000000022220 0x1000 kernel/kernel.o
0x0000000000021a40 user_stack 0x0000000000022220 user_stack
COMMON 0x0000000000022a40 0xc40 fs/fs.o COMMON 0x0000000000023220 0xc40 fs/fs.o
0x0000000000022a40 hash_table 0x0000000000023220 hash_table
0x0000000000022f20 super_block 0x0000000000023700 super_block
0x0000000000023280 file_table 0x0000000000023a60 file_table
COMMON 0x0000000000023680 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) COMMON 0x0000000000023e60 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
0x0000000000023680 request 0x0000000000023e60 request
COMMON 0x0000000000023b00 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) COMMON 0x00000000000242e0 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o)
0x0000000000023b00 rd_start 0x00000000000242e0 rd_start
COMMON 0x0000000000023b04 0x1 lib/lib.a(ctype.o) COMMON 0x00000000000242e4 0x1 lib/lib.a(ctype.o)
0x0000000000023b04 _ctmp 0x00000000000242e4 _ctmp
*fill* 0x0000000000023b05 0x3 *fill* 0x00000000000242e5 0x3
COMMON 0x0000000000023b08 0x4 lib/lib.a(errno.o) COMMON 0x00000000000242e8 0x4 lib/lib.a(errno.o)
0x0000000000023b08 errno 0x00000000000242e8 errno
COMMON 0x0000000000023b0c 0x4 lib/lib.a(string.o) COMMON 0x00000000000242ec 0x4 lib/lib.a(string.o)
0x0000000000023b0c ___strtok 0x00000000000242ec ___strtok
0x0000000000023b10 . = ALIGN ((. != 0x0)?0x4:0x1) 0x00000000000242f0 . = ALIGN ((. != 0x0)?0x4:0x1)
0x0000000000023b10 . = ALIGN (0x4) 0x00000000000242f0 . = ALIGN (0x4)
0x0000000000023b10 . = SEGMENT_START ("ldata-segment", .) 0x00000000000242f0 . = SEGMENT_START ("ldata-segment", .)
0x0000000000023b10 . = ALIGN (0x4) 0x00000000000242f0 . = ALIGN (0x4)
0x0000000000023b10 _end = . 0x00000000000242f0 _end = .
0x0000000000023b10 PROVIDE (end, .) 0x00000000000242f0 PROVIDE (end, .)
.stab .stab
*(.stab) *(.stab)
@ -814,7 +835,7 @@ LOAD lib/lib.a
0x2a (size before relaxing) 0x2a (size before relaxing)
.comment 0x0000000000000000 0x1a4 kernel/kernel.o .comment 0x0000000000000000 0x1a4 kernel/kernel.o
.comment 0x0000000000000000 0x2a mm/mm.o .comment 0x0000000000000000 0x2a mm/mm.o
.comment 0x0000000000000000 0x2f4 fs/fs.o .comment 0x0000000000000000 0x31e fs/fs.o
.comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
.comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(floppy.o) .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(floppy.o)
.comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(hd.o) .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(hd.o)
@ -835,6 +856,7 @@ LOAD lib/lib.a
.comment 0x0000000000000000 0x2a lib/lib.a(execve.o) .comment 0x0000000000000000 0x2a lib/lib.a(execve.o)
.comment 0x0000000000000000 0x2a lib/lib.a(wait.o) .comment 0x0000000000000000 0x2a lib/lib.a(wait.o)
.comment 0x0000000000000000 0x2a lib/lib.a(string.o) .comment 0x0000000000000000 0x2a lib/lib.a(string.o)
.comment 0x0000000000000000 0x2a lib/lib.a(malloc.o)
.debug .debug
*(.debug) *(.debug)
@ -848,7 +870,7 @@ LOAD lib/lib.a
.debug_sfnames .debug_sfnames
*(.debug_sfnames) *(.debug_sfnames)
.debug_aranges 0x0000000000000000 0x628 .debug_aranges 0x0000000000000000 0x668
*(.debug_aranges) *(.debug_aranges)
.debug_aranges .debug_aranges
0x0000000000000000 0x20 init/main.o 0x0000000000000000 0x20 init/main.o
@ -857,185 +879,192 @@ LOAD lib/lib.a
.debug_aranges .debug_aranges
0x0000000000000160 0x20 mm/mm.o 0x0000000000000160 0x20 mm/mm.o
.debug_aranges .debug_aranges
0x0000000000000180 0x238 fs/fs.o 0x0000000000000180 0x258 fs/fs.o
.debug_aranges
0x00000000000003d8 0x20 kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
.debug_aranges .debug_aranges
0x00000000000003b8 0x20 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) 0x00000000000003f8 0x20 kernel/blk_drv/blk_drv.a(floppy.o)
.debug_aranges .debug_aranges
0x00000000000003d8 0x20 kernel/blk_drv/blk_drv.a(floppy.o) 0x0000000000000418 0x20 kernel/blk_drv/blk_drv.a(hd.o)
.debug_aranges .debug_aranges
0x00000000000003f8 0x20 kernel/blk_drv/blk_drv.a(hd.o) 0x0000000000000438 0x20 kernel/blk_drv/blk_drv.a(ramdisk.o)
.debug_aranges .debug_aranges
0x0000000000000418 0x20 kernel/blk_drv/blk_drv.a(ramdisk.o) 0x0000000000000458 0x20 kernel/chr_drv/chr_drv.a(tty_io.o)
.debug_aranges .debug_aranges
0x0000000000000438 0x20 kernel/chr_drv/chr_drv.a(tty_io.o) 0x0000000000000478 0x20 kernel/chr_drv/chr_drv.a(console.o)
.debug_aranges .debug_aranges
0x0000000000000458 0x20 kernel/chr_drv/chr_drv.a(console.o) 0x0000000000000498 0x20 kernel/chr_drv/chr_drv.a(serial.o)
.debug_aranges .debug_aranges
0x0000000000000478 0x20 kernel/chr_drv/chr_drv.a(serial.o) 0x00000000000004b8 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o)
.debug_aranges .debug_aranges
0x0000000000000498 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) 0x00000000000004d8 0x20 kernel/math/math.a(math_emulate.o)
.debug_aranges .debug_aranges
0x00000000000004b8 0x20 kernel/math/math.a(math_emulate.o) 0x00000000000004f8 0x18 lib/lib.a(ctype.o)
.debug_aranges .debug_aranges
0x00000000000004d8 0x18 lib/lib.a(ctype.o) 0x0000000000000510 0x20 lib/lib.a(_exit.o)
.debug_aranges .debug_aranges
0x00000000000004f0 0x20 lib/lib.a(_exit.o) 0x0000000000000530 0x20 lib/lib.a(open.o)
.debug_aranges .debug_aranges
0x0000000000000510 0x20 lib/lib.a(open.o) 0x0000000000000550 0x20 lib/lib.a(close.o)
.debug_aranges .debug_aranges
0x0000000000000530 0x20 lib/lib.a(close.o) 0x0000000000000570 0x18 lib/lib.a(errno.o)
.debug_aranges .debug_aranges
0x0000000000000550 0x18 lib/lib.a(errno.o) 0x0000000000000588 0x20 lib/lib.a(write.o)
.debug_aranges .debug_aranges
0x0000000000000568 0x20 lib/lib.a(write.o) 0x00000000000005a8 0x20 lib/lib.a(dup.o)
.debug_aranges .debug_aranges
0x0000000000000588 0x20 lib/lib.a(dup.o) 0x00000000000005c8 0x20 lib/lib.a(setsid.o)
.debug_aranges .debug_aranges
0x00000000000005a8 0x20 lib/lib.a(setsid.o) 0x00000000000005e8 0x20 lib/lib.a(execve.o)
.debug_aranges .debug_aranges
0x00000000000005c8 0x20 lib/lib.a(execve.o) 0x0000000000000608 0x20 lib/lib.a(wait.o)
.debug_aranges .debug_aranges
0x00000000000005e8 0x20 lib/lib.a(wait.o) 0x0000000000000628 0x20 lib/lib.a(string.o)
.debug_aranges .debug_aranges
0x0000000000000608 0x20 lib/lib.a(string.o) 0x0000000000000648 0x20 lib/lib.a(malloc.o)
.debug_pubnames .debug_pubnames
*(.debug_pubnames) *(.debug_pubnames)
.debug_info 0x0000000000000000 0x16d23 .debug_info 0x0000000000000000 0x178f7
*(.debug_info .gnu.linkonce.wi.*) *(.debug_info .gnu.linkonce.wi.*)
.debug_info 0x0000000000000000 0x553 init/main.o .debug_info 0x0000000000000000 0x553 init/main.o
.debug_info 0x0000000000000553 0x4cb6 kernel/kernel.o .debug_info 0x0000000000000553 0x4cb6 kernel/kernel.o
.debug_info 0x0000000000005209 0xb2b mm/mm.o .debug_info 0x0000000000005209 0xb2b mm/mm.o
.debug_info 0x0000000000005d34 0xa290 fs/fs.o .debug_info 0x0000000000005d34 0xac3f fs/fs.o
.debug_info 0x000000000000ffc4 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .debug_info 0x0000000000010973 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
.debug_info 0x00000000000108f6 0xc9f kernel/blk_drv/blk_drv.a(floppy.o) .debug_info 0x00000000000112a5 0xc9f kernel/blk_drv/blk_drv.a(floppy.o)
.debug_info 0x0000000000011595 0xd5f kernel/blk_drv/blk_drv.a(hd.o) .debug_info 0x0000000000011f44 0xd5f kernel/blk_drv/blk_drv.a(hd.o)
.debug_info 0x00000000000122f4 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o) .debug_info 0x0000000000012ca3 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o)
.debug_info 0x0000000000012dc9 0xacd kernel/chr_drv/chr_drv.a(tty_io.o) .debug_info 0x0000000000013778 0xacd kernel/chr_drv/chr_drv.a(tty_io.o)
.debug_info 0x0000000000013896 0xdb0 kernel/chr_drv/chr_drv.a(console.o) .debug_info 0x0000000000014245 0xdb0 kernel/chr_drv/chr_drv.a(console.o)
.debug_info 0x0000000000014646 0x85c kernel/chr_drv/chr_drv.a(serial.o) .debug_info 0x0000000000014ff5 0x85c kernel/chr_drv/chr_drv.a(serial.o)
.debug_info 0x0000000000014ea2 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o) .debug_info 0x0000000000015851 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o)
.debug_info 0x00000000000159e9 0x7b5 kernel/math/math.a(math_emulate.o) .debug_info 0x0000000000016398 0x7b5 kernel/math/math.a(math_emulate.o)
.debug_info 0x000000000001619e 0x66 lib/lib.a(ctype.o) .debug_info 0x0000000000016b4d 0x66 lib/lib.a(ctype.o)
.debug_info 0x0000000000016204 0x77 lib/lib.a(_exit.o) .debug_info 0x0000000000016bb3 0x77 lib/lib.a(_exit.o)
.debug_info 0x000000000001627b 0xd0 lib/lib.a(open.o) .debug_info 0x0000000000016c2a 0xd0 lib/lib.a(open.o)
.debug_info 0x000000000001634b 0x97 lib/lib.a(close.o) .debug_info 0x0000000000016cfa 0x97 lib/lib.a(close.o)
.debug_info 0x00000000000163e2 0x36 lib/lib.a(errno.o) .debug_info 0x0000000000016d91 0x36 lib/lib.a(errno.o)
.debug_info 0x0000000000016418 0xc9 lib/lib.a(write.o) .debug_info 0x0000000000016dc7 0xc9 lib/lib.a(write.o)
.debug_info 0x00000000000164e1 0x97 lib/lib.a(dup.o) .debug_info 0x0000000000016e90 0x97 lib/lib.a(dup.o)
.debug_info 0x0000000000016578 0x95 lib/lib.a(setsid.o) .debug_info 0x0000000000016f27 0x95 lib/lib.a(setsid.o)
.debug_info 0x000000000001660d 0xcb lib/lib.a(execve.o) .debug_info 0x0000000000016fbc 0xcb lib/lib.a(execve.o)
.debug_info 0x00000000000166d8 0xed lib/lib.a(wait.o) .debug_info 0x0000000000017087 0xed lib/lib.a(wait.o)
.debug_info 0x00000000000167c5 0x55e lib/lib.a(string.o) .debug_info 0x0000000000017174 0x55e lib/lib.a(string.o)
.debug_info 0x00000000000176d2 0x225 lib/lib.a(malloc.o)
.debug_abbrev 0x0000000000000000 0x43b9
.debug_abbrev 0x0000000000000000 0x4694
*(.debug_abbrev) *(.debug_abbrev)
.debug_abbrev 0x0000000000000000 0x1d3 init/main.o .debug_abbrev 0x0000000000000000 0x1d3 init/main.o
.debug_abbrev 0x00000000000001d3 0xf63 kernel/kernel.o .debug_abbrev 0x00000000000001d3 0xf63 kernel/kernel.o
.debug_abbrev 0x0000000000001136 0x20b mm/mm.o .debug_abbrev 0x0000000000001136 0x20b mm/mm.o
.debug_abbrev 0x0000000000001341 0x19f1 fs/fs.o .debug_abbrev 0x0000000000001341 0x1bb3 fs/fs.o
.debug_abbrev 0x0000000000002d32 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .debug_abbrev 0x0000000000002ef4 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
.debug_abbrev 0x0000000000002e9b 0x27d kernel/blk_drv/blk_drv.a(floppy.o) .debug_abbrev 0x000000000000305d 0x27d kernel/blk_drv/blk_drv.a(floppy.o)
.debug_abbrev 0x0000000000003118 0x23c kernel/blk_drv/blk_drv.a(hd.o) .debug_abbrev 0x00000000000032da 0x23c kernel/blk_drv/blk_drv.a(hd.o)
.debug_abbrev 0x0000000000003354 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o) .debug_abbrev 0x0000000000003516 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o)
.debug_abbrev 0x00000000000034fc 0x279 kernel/chr_drv/chr_drv.a(tty_io.o) .debug_abbrev 0x00000000000036be 0x279 kernel/chr_drv/chr_drv.a(tty_io.o)
.debug_abbrev 0x0000000000003775 0x26b kernel/chr_drv/chr_drv.a(console.o) .debug_abbrev 0x0000000000003937 0x26b kernel/chr_drv/chr_drv.a(console.o)
.debug_abbrev 0x00000000000039e0 0x175 kernel/chr_drv/chr_drv.a(serial.o) .debug_abbrev 0x0000000000003ba2 0x175 kernel/chr_drv/chr_drv.a(serial.o)
.debug_abbrev 0x0000000000003b55 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o) .debug_abbrev 0x0000000000003d17 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o)
.debug_abbrev 0x0000000000003ce2 0x163 kernel/math/math.a(math_emulate.o) .debug_abbrev 0x0000000000003ea4 0x163 kernel/math/math.a(math_emulate.o)
.debug_abbrev 0x0000000000003e45 0x3e lib/lib.a(ctype.o) .debug_abbrev 0x0000000000004007 0x3e lib/lib.a(ctype.o)
.debug_abbrev 0x0000000000003e83 0x51 lib/lib.a(_exit.o) .debug_abbrev 0x0000000000004045 0x51 lib/lib.a(_exit.o)
.debug_abbrev 0x0000000000003ed4 0x97 lib/lib.a(open.o) .debug_abbrev 0x0000000000004096 0x97 lib/lib.a(open.o)
.debug_abbrev 0x0000000000003f6b 0x75 lib/lib.a(close.o) .debug_abbrev 0x000000000000412d 0x75 lib/lib.a(close.o)
.debug_abbrev 0x0000000000003fe0 0x2c lib/lib.a(errno.o) .debug_abbrev 0x00000000000041a2 0x2c lib/lib.a(errno.o)
.debug_abbrev 0x000000000000400c 0xa1 lib/lib.a(write.o) .debug_abbrev 0x00000000000041ce 0xa1 lib/lib.a(write.o)
.debug_abbrev 0x00000000000040ad 0x75 lib/lib.a(dup.o) .debug_abbrev 0x000000000000426f 0x75 lib/lib.a(dup.o)
.debug_abbrev 0x0000000000004122 0x73 lib/lib.a(setsid.o) .debug_abbrev 0x00000000000042e4 0x73 lib/lib.a(setsid.o)
.debug_abbrev 0x0000000000004195 0x85 lib/lib.a(execve.o) .debug_abbrev 0x0000000000004357 0x85 lib/lib.a(execve.o)
.debug_abbrev 0x000000000000421a 0xb6 lib/lib.a(wait.o) .debug_abbrev 0x00000000000043dc 0xb6 lib/lib.a(wait.o)
.debug_abbrev 0x00000000000042d0 0xe9 lib/lib.a(string.o) .debug_abbrev 0x0000000000004492 0xe9 lib/lib.a(string.o)
.debug_abbrev 0x000000000000457b 0x119 lib/lib.a(malloc.o)
.debug_line 0x0000000000000000 0x4599
.debug_line 0x0000000000000000 0x47b9
*(.debug_line .debug_line.* .debug_line_end) *(.debug_line .debug_line.* .debug_line_end)
.debug_line 0x0000000000000000 0x1a7 init/main.o .debug_line 0x0000000000000000 0x1a7 init/main.o
.debug_line 0x00000000000001a7 0xe86 kernel/kernel.o .debug_line 0x00000000000001a7 0xe86 kernel/kernel.o
.debug_line 0x000000000000102d 0x274 mm/mm.o .debug_line 0x000000000000102d 0x274 mm/mm.o
.debug_line 0x00000000000012a1 0x1c50 fs/fs.o .debug_line 0x00000000000012a1 0x1d86 fs/fs.o
.debug_line 0x0000000000002ef1 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .debug_line 0x0000000000003027 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
.debug_line 0x0000000000003088 0x24c kernel/blk_drv/blk_drv.a(floppy.o) .debug_line 0x00000000000031be 0x24c kernel/blk_drv/blk_drv.a(floppy.o)
.debug_line 0x00000000000032d4 0x2bf kernel/blk_drv/blk_drv.a(hd.o) .debug_line 0x000000000000340a 0x2bf kernel/blk_drv/blk_drv.a(hd.o)
.debug_line 0x0000000000003593 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o) .debug_line 0x00000000000036c9 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o)
.debug_line 0x00000000000036f3 0x33b kernel/chr_drv/chr_drv.a(tty_io.o) .debug_line 0x0000000000003829 0x33b kernel/chr_drv/chr_drv.a(tty_io.o)
.debug_line 0x0000000000003a2e 0x3ab kernel/chr_drv/chr_drv.a(console.o) .debug_line 0x0000000000003b64 0x3ab kernel/chr_drv/chr_drv.a(console.o)
.debug_line 0x0000000000003dd9 0xd9 kernel/chr_drv/chr_drv.a(serial.o) .debug_line 0x0000000000003f0f 0xd9 kernel/chr_drv/chr_drv.a(serial.o)
.debug_line 0x0000000000003eb2 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o) .debug_line 0x0000000000003fe8 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o)
.debug_line 0x000000000000408d 0xe1 kernel/math/math.a(math_emulate.o) .debug_line 0x00000000000041c3 0xe1 kernel/math/math.a(math_emulate.o)
.debug_line 0x000000000000416e 0x28 lib/lib.a(ctype.o) .debug_line 0x00000000000042a4 0x28 lib/lib.a(ctype.o)
.debug_line 0x0000000000004196 0x39 lib/lib.a(_exit.o) .debug_line 0x00000000000042cc 0x39 lib/lib.a(_exit.o)
.debug_line 0x00000000000041cf 0x62 lib/lib.a(open.o) .debug_line 0x0000000000004305 0x62 lib/lib.a(open.o)
.debug_line 0x0000000000004231 0x5c lib/lib.a(close.o) .debug_line 0x0000000000004367 0x5c lib/lib.a(close.o)
.debug_line 0x000000000000428d 0x28 lib/lib.a(errno.o) .debug_line 0x00000000000043c3 0x28 lib/lib.a(errno.o)
.debug_line 0x00000000000042b5 0x76 lib/lib.a(write.o) .debug_line 0x00000000000043eb 0x76 lib/lib.a(write.o)
.debug_line 0x000000000000432b 0x5a lib/lib.a(dup.o) .debug_line 0x0000000000004461 0x5a lib/lib.a(dup.o)
.debug_line 0x0000000000004385 0x77 lib/lib.a(setsid.o) .debug_line 0x00000000000044bb 0x77 lib/lib.a(setsid.o)
.debug_line 0x00000000000043fc 0x5d lib/lib.a(execve.o) .debug_line 0x0000000000004532 0x5d lib/lib.a(execve.o)
.debug_line 0x0000000000004459 0x7a lib/lib.a(wait.o) .debug_line 0x000000000000458f 0x7a lib/lib.a(wait.o)
.debug_line 0x00000000000044d3 0xc6 lib/lib.a(string.o) .debug_line 0x0000000000004609 0xc6 lib/lib.a(string.o)
.debug_line 0x00000000000046cf 0xea lib/lib.a(malloc.o)
.debug_frame .debug_frame
*(.debug_frame) *(.debug_frame)
.debug_str 0x0000000000000000 0x2093 .debug_str 0x0000000000000000 0x217e
*(.debug_str) *(.debug_str)
.debug_str 0x0000000000000000 0x1c0 init/main.o .debug_str 0x0000000000000000 0x1bc init/main.o
0x1ff (size before relaxing) 0x1fb (size before relaxing)
.debug_str 0x00000000000001c0 0xac0 kernel/kernel.o .debug_str 0x00000000000001bc 0xabc kernel/kernel.o
0x2332 (size before relaxing) 0x230a (size before relaxing)
.debug_str 0x0000000000000c80 0x185 mm/mm.o .debug_str 0x0000000000000c78 0x181 mm/mm.o
0x4e0 (size before relaxing) 0x4dc (size before relaxing)
.debug_str 0x0000000000000e05 0x904 fs/fs.o .debug_str 0x0000000000000df9 0x994 fs/fs.o
0x49ab (size before relaxing) 0x4e20 (size before relaxing)
.debug_str 0x0000000000001709 0xf0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .debug_str 0x000000000000178d 0xec kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
0x491 (size before relaxing) 0x48d (size before relaxing)
.debug_str 0x00000000000017f9 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) .debug_str 0x0000000000001879 0x1cf kernel/blk_drv/blk_drv.a(floppy.o)
0x673 (size before relaxing) 0x66f (size before relaxing)
.debug_str 0x00000000000019c8 0x15e kernel/blk_drv/blk_drv.a(hd.o) .debug_str 0x0000000000001a48 0x15e kernel/blk_drv/blk_drv.a(hd.o)
0x5e8 (size before relaxing) 0x5e4 (size before relaxing)
.debug_str 0x0000000000001b26 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) .debug_str 0x0000000000001ba6 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o)
0x58a (size before relaxing) 0x586 (size before relaxing)
.debug_str 0x0000000000001b69 0xfb kernel/chr_drv/chr_drv.a(tty_io.o) .debug_str 0x0000000000001be9 0xf7 kernel/chr_drv/chr_drv.a(tty_io.o)
0x4e3 (size before relaxing) 0x4df (size before relaxing)
.debug_str 0x0000000000001c64 0x1b9 kernel/chr_drv/chr_drv.a(console.o) .debug_str 0x0000000000001ce0 0x1b9 kernel/chr_drv/chr_drv.a(console.o)
0x5b7 (size before relaxing) 0x5b3 (size before relaxing)
.debug_str 0x0000000000001e1d 0x1a kernel/chr_drv/chr_drv.a(serial.o) .debug_str 0x0000000000001e99 0x1a kernel/chr_drv/chr_drv.a(serial.o)
0x3fc (size before relaxing) 0x3f8 (size before relaxing)
.debug_str 0x0000000000001e37 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) .debug_str 0x0000000000001eb3 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o)
0x4a7 (size before relaxing) 0x4a3 (size before relaxing)
.debug_str 0x0000000000001ec2 0x70 kernel/math/math.a(math_emulate.o) .debug_str 0x0000000000001f3e 0x6c kernel/math/math.a(math_emulate.o)
0x392 (size before relaxing) 0x38e (size before relaxing)
.debug_str 0x0000000000001f32 0x8d lib/lib.a(ctype.o) .debug_str 0x0000000000001faa 0x89 lib/lib.a(ctype.o)
0xb6 (size before relaxing) 0xb2 (size before relaxing)
.debug_str 0x0000000000001fbf 0x8 lib/lib.a(_exit.o) .debug_str 0x0000000000002033 0x8 lib/lib.a(_exit.o)
0xe2 (size before relaxing) 0xde (size before relaxing)
.debug_str 0x0000000000000000 0x8 lib/lib.a(open.o) .debug_str 0x0000000000000000 0x8 lib/lib.a(open.o)
0xf2 (size before relaxing) 0xee (size before relaxing)
.debug_str 0x0000000000001fc7 0x8 lib/lib.a(close.o) .debug_str 0x000000000000203b 0x8 lib/lib.a(close.o)
0xe4 (size before relaxing) 0xe0 (size before relaxing)
.debug_str 0x0000000000001fcf 0x8 lib/lib.a(errno.o) .debug_str 0x0000000000002043 0x8 lib/lib.a(errno.o)
0x93 (size before relaxing) 0x8f (size before relaxing)
.debug_str 0x0000000000000000 0x8 lib/lib.a(write.o) .debug_str 0x0000000000000000 0x8 lib/lib.a(write.o)
0xf0 (size before relaxing)
.debug_str 0x0000000000001fd7 0x6 lib/lib.a(dup.o)
0xdc (size before relaxing)
.debug_str 0x0000000000001fdd 0x9 lib/lib.a(setsid.o)
0xec (size before relaxing) 0xec (size before relaxing)
.debug_str 0x0000000000001fe6 0x9 lib/lib.a(execve.o) .debug_str 0x000000000000204b 0x6 lib/lib.a(dup.o)
0xf5 (size before relaxing) 0xd8 (size before relaxing)
.debug_str 0x0000000000001fef 0x11 lib/lib.a(wait.o) .debug_str 0x0000000000002051 0x9 lib/lib.a(setsid.o)
0x102 (size before relaxing) 0xe8 (size before relaxing)
.debug_str 0x0000000000002000 0x93 lib/lib.a(string.o) .debug_str 0x000000000000205a 0x9 lib/lib.a(execve.o)
0x147 (size before relaxing) 0xf1 (size before relaxing)
.debug_str 0x0000000000002063 0x11 lib/lib.a(wait.o)
0xfe (size before relaxing)
.debug_str 0x0000000000002074 0x93 lib/lib.a(string.o)
0x143 (size before relaxing)
.debug_str 0x0000000000002107 0x77 lib/lib.a(malloc.o)
0x15e (size before relaxing)
.debug_loc .debug_loc
*(.debug_loc) *(.debug_loc)

@ -18,7 +18,7 @@ CPP =gcc -E -nostdinc -I../include
OBJS= open.o read_write.o inode.o file_table.o buffer.o super.o \ OBJS= open.o read_write.o inode.o file_table.o buffer.o super.o \
block_dev.o char_dev.o file_dev.o stat.o exec.o pipe.o namei.o \ block_dev.o char_dev.o file_dev.o stat.o exec.o pipe.o namei.o \
bitmap.o fcntl.o ioctl.o truncate.o select.o bitmap.o fcntl.o ioctl.o truncate.o select.o mysystem_call.o
fs.o: $(OBJS) fs.o: $(OBJS)
$(LD) -r -o fs.o $(OBJS) $(LD) -r -o fs.o $(OBJS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,290 @@
#define __LIBRARY__
#include <unistd.h>
#include <stdarg.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <asm/segment.h>
#include <sys/stat.h>
#include <fcntl.h>
#define BUF_MAX 4096
#define DIRBUF 8192
#define NAME_MAX 14
struct dirent {
long d_ino;
off_t d_off;
unsigned short d_reclen;
char d_name[NAME_MAX+1];
};
/*参数count指定该缓冲区的大小*/
int sys_getdents(unsigned int fd,struct linux_dirent *dirp,unsigned int count)
{
if(!count)return -1;/*count is zero*/
if(fd>=NR_OPEN)return -EINVAL;/*fd is over range*/
struct file *file;
struct m_inode * inode;
int ret;
struct buffer_head *hd;
struct dir_entry *de;
struct dirent * temp;
char * buf;
int desize,ldsize,i,ldi;
file=current->filp[fd];
if(!file)return ENOTDIR;/*the file is not exist or not file*/
ldsize = sizeof(struct dirent);
desize = sizeof(struct dir_entry);
inode = file ->f_inode;
temp = (struct dirent *)malloc(ldsize);/* //the inter veriable */
buf = (char*)malloc(ldsize);
/*get the inode's bread*/
hd = bread(inode->i_dev , inode->i_zone[0]);
ldi=0;
ret=0;
for (;ret<inode->i_size;ret += desize){
if (ldi >= count-ldsize)
break; /* full */
de = (struct dir_entry *)(hd->b_data + ret);/* de is set to the current dir_entry */
if (!de -> inode )/* to skip if there is no data in de */
continue;
/*To write, copying current dirent, */
temp->d_ino = de->inode;
temp->d_off = 0;
temp->d_reclen = ldsize;
strcpy(temp->d_name,de->name);
/* by put_fs_byte to write back data to the usr */
memcpy(buf, temp, ldsize);
for (i=0;i < ldsize;i++){
put_fs_byte(*(buf+i), ((char*)dirp)+i+ldi);
}
/* memcpy(temp, buf, ldsize); */
ldi += ldsize;
}
return ldi;
}
int do_execve2(unsigned long * eip,long tmp,char * filename,
char ** argv, char ** envp)
{
struct m_inode * inode;
struct buffer_head * bh;
struct exec ex;
unsigned long page[MAX_ARG_PAGES];
int i,argc,envc;
int e_uid, e_gid;
int retval;
int sh_bang = 0;
unsigned long p=PAGE_SIZE*MAX_ARG_PAGES-4;
if ((0xffff & eip[1]) != 0x000f)
panic("execve called from supervisor mode");
for (i=0 ; i<MAX_ARG_PAGES ; i++) /* clear page-table */
page[i]=0;
if (!(inode=namei(filename))) /* get executables inode */
return -ENOENT;
argc = count(argv);
envc = count(envp);
restart_interp:
if (!S_ISREG(inode->i_mode)) { /* must be regular file */
retval = -EACCES;
goto exec_error2;
}
i = inode->i_mode;
e_uid = (i & S_ISUID) ? inode->i_uid : current->euid;
e_gid = (i & S_ISGID) ? inode->i_gid : current->egid;
if (current->euid == inode->i_uid)
i >>= 6;
else if (current->egid == inode->i_gid)
i >>= 3;
if (!(i & 1) &&
!((inode->i_mode & 0111) && suser())) {
retval = -ENOEXEC;
goto exec_error2;
}
if (!(bh = bread(inode->i_dev,inode->i_zone[0]))) {
retval = -EACCES;
goto exec_error2;
}
ex = *((struct exec *) bh->b_data); /* read exec-header */
if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) {
/*
* This section does the #! interpretation.
* Sorta complicated, but hopefully it will work. -TYT
*/
char buf[1023], *cp, *interp, *i_name, *i_arg;
unsigned long old_fs;
strncpy(buf, bh->b_data+2, 1022);
brelse(bh);
iput(inode);
buf[1022] = '\0';
if (cp = strchr(buf, '\n')) {
*cp = '\0';
for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++);
}
if (!cp || *cp == '\0') {
retval = -ENOEXEC; /* No interpreter name found */
goto exec_error1;
}
interp = i_name = cp;
i_arg = 0;
for ( ; *cp && (*cp != ' ') && (*cp != '\t'); cp++) {
if (*cp == '/')
i_name = cp+1;
}
if (*cp) {
*cp++ = '\0';
i_arg = cp;
}
/*
* OK, we've parsed out the interpreter name and
* (optional) argument.
*/
if (sh_bang++ == 0) {
p = copy_strings(envc, envp, page, p, 0);
p = copy_strings(--argc, argv+1, page, p, 0);
}
/*
* Splice in (1) the interpreter's name for argv[0]
* (2) (optional) argument to interpreter
* (3) filename of shell script
*
* This is done in reverse order, because of how the
* user environment and arguments are stored.
*/
p = copy_strings(1, &filename, page, p, 1);
argc++;
if (i_arg) {
p = copy_strings(1, &i_arg, page, p, 2);
argc++;
}
p = copy_strings(1, &i_name, page, p, 2);
argc++;
if (!p) {
retval = -ENOMEM;
goto exec_error1;
}
/*
* OK, now restart the process with the interpreter's inode.
*/
old_fs = get_fs();
set_fs(get_ds());
if (!(inode=namei(interp))) { /* get executables inode */
set_fs(old_fs);
retval = -ENOENT;
goto exec_error1;
}
set_fs(old_fs);
goto restart_interp;
}
brelse(bh);
if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize ||
ex.a_text+ex.a_data+ex.a_bss>0x3000000 ||
inode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) {
retval = -ENOEXEC;
goto exec_error2;
}
if (N_TXTOFF(ex) != BLOCK_SIZE) {
printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename);
retval = -ENOEXEC;
goto exec_error2;
}
if (!sh_bang) {
p = copy_strings(envc,envp,page,p,0);
p = copy_strings(argc,argv,page,p,0);
if (!p) {
retval = -ENOMEM;
goto exec_error2;
}
}
/* OK, This is the point of no return */
if (current->executable)
iput(current->executable);
current->executable = inode;
for (i=0 ; i<32 ; i++)
current->sigaction[i].sa_handler = NULL;
for (i=0 ; i<NR_OPEN ; i++)
if ((current->close_on_exec>>i)&1)
sys_close(i);
current->close_on_exec = 0;
free_page_tables(get_base(current->ldt[1]),get_limit(0x0f));
free_page_tables(get_base(current->ldt[2]),get_limit(0x17));
/*we should rewrite here*/
/**/
if (last_task_used_math == current)
last_task_used_math = NULL;
current->used_math = 0;
p += change_ldt(ex.a_text,page)-MAX_ARG_PAGES*PAGE_SIZE;
p = (unsigned long) create_tables((char *)p,argc,envc);
current->brk = ex.a_bss +
(current->end_data = ex.a_data +
(current->end_code = ex.a_text));
current->start_stack = p & 0xfffff000;
current->euid = e_uid;
current->egid = e_gid;
i = ex.a_text+ex.a_data;
while (i&0xfff)
put_fs_byte(0,(char *) (i++));
eip[0] = ex.a_entry; /* eip, magic happens :-) */
eip[3] = p; /* stack pointer */
return 0;
exec_error2:
iput(inode);
exec_error1:
for (i=0 ; i<MAX_ARG_PAGES ; i++)
free_page(page[i]);
return(retval);
}
int sys_sleep(unsigned int seconds)
{
sys_signal(SIGALRM,SIG_IGN);
sys_alarm(seconds);
if(sys_pause()!=-1)
{
/* printk("sleep\n");*/
return 0;
}
/*printk("do not sleep\n");*/
return -1;
}
/*just full the sys_call_table[89]*/
int sys_something()
{
return 0;
}
/*find the father inode constantly*/
long sys_getcwd(char *buf,size_t size)
{
return 0;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -89,8 +89,11 @@ extern int sys_symlink();
extern int sys_lstat(); extern int sys_lstat();
extern int sys_readlink(); extern int sys_readlink();
extern int sys_uselib(); extern int sys_uselib();
extern int sys_execve2(); extern int sys_execve2();
extern int sys_getdents(); extern int sys_getdents();
extern int sys_something();
extern int sys_sleep(); extern int sys_sleep();
extern int sys_getcwd(); extern int sys_getcwd();
@ -109,7 +112,7 @@ sys_getpgrp, sys_setsid, sys_sigaction, sys_sgetmask, sys_ssetmask,
sys_setreuid,sys_setregid, sys_sigsuspend, sys_sigpending, sys_sethostname, sys_setreuid,sys_setregid, sys_sigsuspend, sys_sigpending, sys_sethostname,
sys_setrlimit, sys_getrlimit, sys_getrusage, sys_gettimeofday, sys_setrlimit, sys_getrlimit, sys_getrusage, sys_gettimeofday,
sys_settimeofday, sys_getgroups, sys_setgroups, sys_select, sys_symlink, sys_settimeofday, sys_getgroups, sys_setgroups, sys_select, sys_symlink,
sys_lstat, sys_readlink, sys_uselib, sys_execve2, sys_getdents, sys_sleep, sys_getcwd}; sys_lstat, sys_readlink, sys_uselib, sys_execve2, sys_getdents, sys_something ,sys_sleep, sys_getcwd};
/* So we don't have to do any more manual updating.... */ /* So we don't have to do any more manual updating.... */
int NR_syscalls = sizeof(sys_call_table)/sizeof(fn_ptr); int NR_syscalls = sizeof(sys_call_table)/sizeof(fn_ptr);

@ -58,8 +58,8 @@
#ifdef __LIBRARY__ #ifdef __LIBRARY__
#define __NR_setup 0 /* used only by init, to get system going */ #define __NR_setup 0 /* used only by init, to get system going */
#define _exit 1 #define __NR_exit 1
#define _fork 2 #define __NR_fork 2
#define __NR_read 3 #define __NR_read 3
#define __NR_write 4 #define __NR_write 4
#define __NR_open 5 #define __NR_open 5
@ -144,8 +144,12 @@
#define __NR_lstat 84 #define __NR_lstat 84
#define __NR_readlink 85 #define __NR_readlink 85
#define __NR_uselib 86 #define __NR_uselib 86
#define __NR_execve2 87 #define __NR_execve2 87
#define __NR_getdents 88 #define __NR_getdents 88
#define __NR_something 89
#define __NR_sleep 90 #define __NR_sleep 90
#define __NR_getcwd 91 #define __NR_getcwd 91
#define _syscall0(type,name) \ #define _syscall0(type,name) \
@ -268,6 +272,13 @@ int getppid(void);
pid_t getpgrp(void); pid_t getpgrp(void);
pid_t setsid(void); pid_t setsid(void);
long getcwd(char *buf,size_t size);
int something(void);
int sleep(unsigned int seconds);
int execve2(const char *path,char *argv[],char *envp[]);
#define __always_inline inline __attribute__((always_inline)) #define __always_inline inline __attribute__((always_inline))
#endif #endif

@ -204,6 +204,14 @@ sys_execve:
addl $4,%esp addl $4,%esp
ret ret
.align 4
sys_execve2:
lea EIP(%esp),%eax
pushl %eax
call do_execve2
addl $4,%esp
ret
.align 4 .align 4
sys_fork: sys_fork:
call find_empty_process call find_empty_process

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -31,7 +31,7 @@
00000000000i[ ] Sound support: no 00000000000i[ ] Sound support: no
00000000000i[ ] USB support: no 00000000000i[ ] USB support: no
00000000000i[ ] VGA extension support: vbe 00000000000i[ ] VGA extension support: vbe
00000000000i[MEM0 ] allocated memory at 0xb593b008. after alignment, vector=0xb593c000 00000000000i[MEM0 ] allocated memory at 0xb589f008. after alignment, vector=0xb58a0000
00000000000i[MEM0 ] 16.00MB 00000000000i[MEM0 ] 16.00MB
00000000000i[MEM0 ] mem block size = 0x00020000, blocks=128 00000000000i[MEM0 ] mem block size = 0x00020000, blocks=128
00000000000i[MEM0 ] rom at 0xfffe0000/131072 ('/usr/local/share/bochs/BIOS-bochs-latest') 00000000000i[MEM0 ] rom at 0xfffe0000/131072 ('/usr/local/share/bochs/BIOS-bochs-latest')
@ -42,7 +42,7 @@
00000000000i[DEV ] PIIX3 PCI-to-ISA bridge present at device 1, function 0 00000000000i[DEV ] PIIX3 PCI-to-ISA bridge present at device 1, function 0
00000000000i[PLUGIN] init_dev of 'cmos' plugin device by virtual method 00000000000i[PLUGIN] init_dev of 'cmos' plugin device by virtual method
00000000000i[CMOS ] Using local time for initial clock 00000000000i[CMOS ] Using local time for initial clock
00000000000i[CMOS ] Setting initial clock to: Mon Jun 20 04:41:50 2022 (time0=1655696510) 00000000000i[CMOS ] Setting initial clock to: Thu Jun 23 04:28:30 2022 (time0=1655954910)
00000000000i[PLUGIN] init_dev of 'dma' plugin device by virtual method 00000000000i[PLUGIN] init_dev of 'dma' plugin device by virtual method
00000000000i[DMA ] channel 4 used by cascade 00000000000i[DMA ] channel 4 used by cascade
00000000000i[PLUGIN] init_dev of 'pic' plugin device by virtual method 00000000000i[PLUGIN] init_dev of 'pic' plugin device by virtual method
@ -60,7 +60,7 @@
00000000000i[FLOPPY] fd0: 'cur/linux/Image' ro=0, h=2,t=80,spt=18 00000000000i[FLOPPY] fd0: 'cur/linux/Image' ro=0, h=2,t=80,spt=18
00000000000i[IMG ] redolog : Standard Header : magic='Bochs Virtual HD Image', type='Redolog', subtype='Volatile', version = 2.0 00000000000i[IMG ] redolog : Standard Header : magic='Bochs Virtual HD Image', type='Redolog', subtype='Volatile', version = 2.0
00000000000i[IMG ] redolog : Specific Header : #entries=512, bitmap size=1, exent size = 4096 disk size = 1474560 00000000000i[IMG ] redolog : Specific Header : #entries=512, bitmap size=1, exent size = 4096 disk size = 1474560
00000000000i[IMG ] 'vvfat' disk opened: directory is 'b/', redolog is 'b//vvfat.dir.v1sKuG' 00000000000i[IMG ] 'vvfat' disk opened: directory is 'b/', redolog is 'b//vvfat.dir.VbyubY'
00000000000i[FLOPPY] fd1: 'vvfat:b/' ro=0, h=2,t=80,spt=18 00000000000i[FLOPPY] fd1: 'vvfat:b/' ro=0, h=2,t=80,spt=18
00000000000i[FLOPPY] Using boot sequence floppy, none, none 00000000000i[FLOPPY] Using boot sequence floppy, none, none
00000000000i[FLOPPY] Floppy boot signature check is enabled 00000000000i[FLOPPY] Floppy boot signature check is enabled
@ -186,14 +186,10 @@
00001647843i[BXVGA ] VBE known Display Interface b0c5 00001647843i[BXVGA ] VBE known Display Interface b0c5
00001650768i[VBIOS ] VBE Bios $Id: vbe.c,v 1.64 2011/07/19 18:25:05 vruppert Exp $ 00001650768i[VBIOS ] VBE Bios $Id: vbe.c,v 1.64 2011/07/19 18:25:05 vruppert Exp $
00001995333i[BIOS ] ata0-0: PCHS=512/2/20 translation=none LCHS=512/2/20 00001995333i[BIOS ] ata0-0: PCHS=512/2/20 translation=none LCHS=512/2/20
00003430065i[XGUI ] charmap update. Font is 9 x 16 00002352465i[XGUI ] charmap update. Font is 9 x 16
00005872240i[BIOS ] IDE time out 00005872240i[BIOS ] IDE time out
00051753879i[BIOS ] Booting from 0000:7c00 00051753879i[BIOS ] Booting from 0000:7c00
00094288168i[FLOPPY] partial read() on floppy image returns 484/512 00094954828i[FLOPPY] partial read() on floppy image returns 464/512
00094454833i[FLOPPY] read() on floppy image returns 0
00094621498i[FLOPPY] read() on floppy image returns 0
00094788163i[FLOPPY] read() on floppy image returns 0
00094954828i[FLOPPY] read() on floppy image returns 0
00095122539i[FLOPPY] read() on floppy image returns 0 00095122539i[FLOPPY] read() on floppy image returns 0
00095289204i[FLOPPY] read() on floppy image returns 0 00095289204i[FLOPPY] read() on floppy image returns 0
00095455869i[FLOPPY] read() on floppy image returns 0 00095455869i[FLOPPY] read() on floppy image returns 0
@ -323,28 +319,3 @@
00116129680i[FLOPPY] read() on floppy image returns 0 00116129680i[FLOPPY] read() on floppy image returns 0
00116296345i[FLOPPY] read() on floppy image returns 0 00116296345i[FLOPPY] read() on floppy image returns 0
00116467319i[BIOS ] int13_harddisk: function 15, unmapped device for ELDL=81 00116467319i[BIOS ] int13_harddisk: function 15, unmapped device for ELDL=81
00466820786i[FLOPPY] controller reset in software
00474779271i[FLOPPY] io_write: config control register: 0x00
143594175000p[XGUI ] >>PANIC<< POWER button turned off.
143594175000i[CPU0 ] CPU is in protected mode (active)
143594175000i[CPU0 ] CS.mode = 32 bit
143594175000i[CPU0 ] SS.mode = 32 bit
143594175000i[CPU0 ] EFER = 0x00000000
143594175000i[CPU0 ] | EAX=00000000 EBX=00090080 ECX=000055f0 EDX=00000017
143594175000i[CPU0 ] | ESP=0001cc8c EBP=00022a2c ESI=000900a0 EDI=00021a40
143594175000i[CPU0 ] | IOPL=0 id vip vif ac vm rf nt of df IF tf sf zf af pf cf
143594175000i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D
143594175000i[CPU0 ] | CS:0008( 0001| 0| 0) 00000000 00ffffff 1 1
143594175000i[CPU0 ] | DS:0010( 0002| 0| 0) 00000000 00ffffff 1 1
143594175000i[CPU0 ] | SS:0010( 0002| 0| 0) 00000000 00ffffff 1 1
143594175000i[CPU0 ] | ES:0010( 0002| 0| 0) 00000000 00ffffff 1 1
143594175000i[CPU0 ] | FS:0017( 0002| 1| 3) 00000000 0009ffff 1 1
143594175000i[CPU0 ] | GS:0017( 0002| 1| 3) 00000000 0009ffff 1 1
143594175000i[CPU0 ] | EIP=00006dad (00006dad)
143594175000i[CPU0 ] | CR0=0x8000001b CR2=0x08038000
143594175000i[CPU0 ] | CR3=0x00000000 CR4=0x00000000
143594175000i[CPU0 ] 0x00006dad>> jnbe .-166 (0x00006d0d) : 0F875AFFFFFF
143594175000i[CMOS ] Last time is 1655706082 (Mon Jun 20 07:21:22 2022)
143594175000i[XGUI ] Exit
143594175000i[ ] restoring default signal behavior
143594175000i[SIM ] quit_sim called with exit code 1

Binary file not shown.

@ -297,280 +297,291 @@
00012348 t free_dind 00012348 t free_dind
000123e7 T truncate 000123e7 T truncate
0001251c T sys_select 0001251c T sys_select
00012522 t lock_buffer 00012522 t put_fs_byte
0001254f t unlock_buffer 0001253a T sys_getdents
00012741 t make_request 00012700 T sys_execve2
000128e5 T ll_rw_block 00012706 T sys_getcwd
0001293e T blk_dev_init 0001270c T sys_sleep
0001298c t unlock_buffer 00012761 T sys_something
000129c1 t end_request 00012767 t lock_buffer
00012a72 T floppy_deselect 00012794 t unlock_buffer
00012aa9 T floppy_change 00012986 t make_request
00012b2f t setup_DMA 00012b2a T ll_rw_block
00012be5 t output_byte 00012b83 T blk_dev_init
00012c5b t result 00012bd1 t unlock_buffer
00012d18 t bad_flp_intr 00012c06 t end_request
00012d77 t rw_interrupt 00012cb7 T floppy_deselect
00012e66 T setup_rw_floppy 00012cee T floppy_change
00012f27 t seek_interrupt 00012d74 t setup_DMA
00012f80 t transfer 00012e2a t output_byte
000130b5 t recal_interrupt 00012ea0 t result
000130ff T unexpected_floppy_interrupt 00012f5d t bad_flp_intr
00013144 t recalibrate_floppy 00012fbc t rw_interrupt
000131a6 t reset_interrupt 000130ab T setup_rw_floppy
000131eb t reset_floppy 0001316c t seek_interrupt
00013268 t floppy_on_interrupt 000131c5 t transfer
000132d3 t do_fd_request 000132fa t recal_interrupt
000134d7 T floppy_init 00013344 T unexpected_floppy_interrupt
00013529 t unlock_buffer 00013389 t recalibrate_floppy
0001355e t end_request 000133eb t reset_interrupt
000135fd T sys_setup 00013430 t reset_floppy
000139b0 t controller_ready 000134ad t floppy_on_interrupt
00013a44 t hd_out 00013518 t do_fd_request
00013b31 t drive_busy 0001371c T floppy_init
00013b97 t reset_controller 0001376e t unlock_buffer
00013c14 t reset_hd 000137a3 t end_request
00013cac T unexpected_hd_interrupt 00013842 T sys_setup
00013cbf t bad_rw_intr 00013bf5 t controller_ready
00013cfd t read_intr 00013c89 t hd_out
00013e23 t recal_intr 00013d76 t drive_busy
00013e3d t do_hd_request 00013ddc t reset_controller
0001413e T hd_init 00013e59 t reset_hd
000141b8 t unlock_buffer 00013ef1 T unexpected_hd_interrupt
000141ed t end_request 00013f04 t bad_rw_intr
0001428c t do_rd_request 00013f42 t read_intr
000143c2 T rd_init 00014068 t recal_intr
00014418 T rd_load 00014082 t do_hd_request
000146c4 t get_fs_byte 00014383 T hd_init
000146d2 t put_fs_byte 000143fd t unlock_buffer
000146ea T tty_init 00014432 t end_request
000146fb T tty_intr 000144d1 t do_rd_request
0001476f t sleep_if_empty 00014607 T rd_init
000147a7 t sleep_if_full 0001465d T rd_load
0001481b T copy_to_cooked 00014909 t get_fs_byte
00014dd6 T tty_read 00014917 t put_fs_byte
00015144 T tty_write 0001492f T tty_init
00015356 T do_tty_interrupt 00014940 T tty_intr
0001537e T chr_dev_init 000149b4 t sleep_if_empty
0001537f t gotoxy 000149ec t sleep_if_full
000153cd t set_origin 00014a60 T copy_to_cooked
00015433 t scrup 0001501b T tty_read
00015623 t scrdown 00015389 T tty_write
0001571a t lf 0001559b T do_tty_interrupt
00015750 t ri 000155c3 T chr_dev_init
00015786 t cr 000155c4 t gotoxy
000157a7 t del 00015612 t set_origin
000157d9 t csi_J 00015678 t scrup
0001586a t csi_K 00015868 t scrdown
0001591c T csi_m 0001595f t lf
00015983 t set_cursor 00015995 t ri
000159e9 t respond 000159cb t cr
00015a41 t insert_char 000159ec t del
00015aa4 t insert_line 00015a1e t csi_J
00015ae8 t delete_char 00015aaf t csi_K
00015b46 t delete_line 00015b61 T csi_m
00015b8a t csi_at 00015bc8 t set_cursor
00015bc8 t csi_L 00015c2e t respond
00015c06 t csi_P 00015c86 t insert_char
00015c44 t csi_M 00015ce9 t insert_line
00015c82 t save_cur 00015d2d t delete_char
00015c97 t restore_cur 00015d8b t delete_line
00015cb6 T con_write 00015dcf t csi_at
00016344 T con_init 00015e0d t csi_L
0001657b T sysbeepstop 00015e4b t csi_P
000165a4 t sysbeep 00015e89 t csi_M
00016602 t mode 00015ec7 t save_cur
00016603 t leds 00015edc t restore_cur
00016604 t e0 00015efb T con_write
00016605 T keyboard_interrupt 00016589 T con_init
0001662e t e0_e1 000167c0 T sysbeepstop
00016659 t set_e0 000167e9 t sysbeep
00016662 t set_e1 00016847 t mode
0001666b t put_queue 00016848 t leds
000166a4 t ctrl 00016849 t e0
000166bc t unctrl 0001684a T keyboard_interrupt
000166c0 t unalt 00016873 t e0_e1
000166d6 t lshift 0001689e t set_e0
000166de t unlshift 000168a7 t set_e1
000166e6 t rshift 000168b0 t put_queue
000166ee t unrshift 000168e9 t ctrl
000166f6 t caps 00016901 t unctrl
00016718 t set_leds 00016905 t unalt
0001672e t uncaps 0001691b t lshift
00016736 t scroll 00016923 t unlshift
0001673f t num 0001692b t rshift
00016748 t cursor 00016933 t unrshift
00016768 t cur2 0001693b t caps
00016791 t cur 0001695d t set_leds
0001679d t ok_cur 00016973 t uncaps
000167ab t num_table 0001697b t scroll
000167b8 t cur_table 00016984 t num
000167c5 t func 0001698d t cursor
000167e2 t ok_func 000169ad t cur2
000167f5 t end_func 000169d6 t cur
000167f6 t func_table 000169e2 t ok_cur
00016826 t key_map 000169f0 t num_table
00016887 t shift_map 000169fd t cur_table
00016949 t do_self 00016a0a t func
000169b1 t none 00016a27 t ok_func
000169b2 t minus 00016a3a t end_func
000169c7 t key_table 00016a3b t func_table
00016dc7 t kb_wait 00016a6b t key_map
00016dd0 t reboot 00016acc t shift_map
00016de2 t die 00016b8e t do_self
00016de4 t init 00016bf6 t none
00016e59 T rs_init 00016bf7 t minus
00016edc T rs_write 00016c0c t key_table
00016f2c T rs1_interrupt 0001700c t kb_wait
00016f34 T rs2_interrupt 00017015 t reboot
00016f39 t rs_int 00017027 t die
00016f50 t rep_int 00017029 t init
00016f6d t end 0001709e T rs_init
00016f7b t jmp_table 00017121 T rs_write
00016f8c t modem_status 00017170 T rs1_interrupt
00016f94 t line_status 00017178 T rs2_interrupt
00016f9c t read_char 0001717d t rs_int
00017023 t get_fs_byte 00017194 t rep_int
00017031 t get_fs_long 000171b1 t end
00017047 t put_fs_byte 000171bf t jmp_table
0001705f t put_fs_long 000171d0 t modem_status
0001706b t change_speed 000171d8 t line_status
000170e9 t flush 000171e0 t read_char
000170fb t send_break 00017267 t get_fs_byte
000170fc t get_termios 00017275 t get_fs_long
00017158 t set_termios 0001728b t put_fs_byte
000171a8 t get_termio 000172a3 t put_fs_long
00017270 t set_termio 000172af t change_speed
00017334 T tty_ioctl 0001732d t flush
00017632 t get_fs_byte 0001733f t send_break
00017640 T math_emulate 00017340 t get_termios
00017723 T math_error 0001739c t set_termios
00017743 T _exit 000173ec t get_termio
00017753 T open 000174b4 t set_termio
0001779c T close 00017578 T tty_ioctl
00017810 T dup 00017876 t get_fs_byte
00017847 T setsid 00017884 T math_emulate
00017876 T execve 00017967 T math_error
00017913 T strcpy 00017987 T _exit
0001792f T strncpy 00017997 T open
00017954 T strcat 000179e0 T close
0001797f T strncat 00017a54 T dup
000179b4 T strcmp 00017a8b T setsid
000179db T strncmp 00017aba T execve
00017a09 T strchr 00017b57 T strcpy
00017a36 T strrchr 00017b73 T strncpy
00017a65 T strspn 00017b98 T strcat
00017aa2 T strcspn 00017bc3 T strncat
00017adf T strpbrk 00017bf8 T strcmp
00017b16 T strstr 00017c1f T strncmp
00017b4f T strlen 00017c4d T strchr
00017b72 T strtok 00017c7a T strrchr
00017bf5 T memcpy 00017ca9 T strspn
00017c15 T memmove 00017ce6 T strcspn
00017c69 T memcmp 00017d23 T strpbrk
00017c93 T memchr 00017d5a T strstr
00017ccb T memset 00017d93 T strlen
0001bb48 d envp_rc 00017db6 T strtok
0001bb5c d envp 00017e39 T memcpy
0001bb80 D sys_call_table 00017e59 T memmove
0001bcdc D NR_syscalls 00017ead T memcmp
0001bce0 d init_task 00017ed7 T memchr
0001cce0 D current 00017f0f T memset
0001cd00 D task 00017f33 t init_bucket_desc
0001ce00 D stack_start 00017f9c T malloc
0001ce08 D current_DOR 00018128 T free_s
0001ce20 d thisname.1955 0001c2a8 d envp_rc
0001ce60 d month 0001c2bc d envp
0001cea0 d last_inode.1935 0001c2e0 D sys_call_table
0001cea4 D start_buffer 0001c450 D NR_syscalls
0001cec0 d crw_table 0001c460 d init_task
0001cee0 d ioctl_table 0001d460 D current
0001cf00 d floppy_type 0001d480 D task
0001cfc0 d cur_spec1 0001d580 D stack_start
0001cfc4 d cur_rate 0001d588 D current_DOR
0001cfc8 d floppy 0001d5a0 d thisname.1955
0001cfcc d current_track 0001d5e0 d month
0001cfd0 d callable.1844 0001d620 d last_inode.1935
0001cfe0 D tty_table 0001d624 D start_buffer
0001f500 D table_list 0001d640 d crw_table
0001f520 d quotient 0001d660 d ioctl_table
0001f540 D _ctype 0001d680 d floppy_type
0001f641 B __bss_start 0001d740 d cur_spec1
0001f641 D _edata 0001d744 d cur_rate
0001f660 b printbuf 0001d748 d floppy
0001fa60 b memory_end 0001d74c d current_track
0001fa64 b buffer_memory_end 0001d750 d callable.1844
0001fa68 b main_memory_start 0001d760 D tty_table
0001fa80 B jiffies 0001fc80 D table_list
0001fa84 B startup_time 0001fca0 d quotient
0001fa88 B last_task_used_math 0001fcc0 D _ctype
0001fa9c b mon_timer 0001fde0 D bucket_dir
0001faac b moff_timer 0001fe30 B __bss_start
0001fac0 b timer_list 0001fe30 D _edata
0001fdc0 b next_timer 0001fe40 b printbuf
0001fdc4 B last_pid 00020240 b memory_end
0001fde0 b buf 00020244 b buffer_memory_end
000201e0 b HIGH_MEMORY 00020248 b main_memory_start
00020200 b mem_map 00020260 B jiffies
00021100 B inode_table 00020264 B startup_time
00021800 B nr_buffers 00020268 B last_task_used_math
00021804 b free_list 0002027c b mon_timer
00021808 b buffer_wait 0002028c b moff_timer
0002180c B ROOT_DEV 000202a0 b timer_list
00021840 B blk_dev 000205a0 b next_timer
00021878 B do_floppy 000205a4 B last_pid
0002187c B selected 000205c0 b buf
00021884 b recalibrate 000209c0 b HIGH_MEMORY
00021888 b reset 000209e0 b mem_map
0002188c b seek 000218e0 B inode_table
00021890 b reply_buffer 00021fe0 B nr_buffers
00021897 b current_drive 00021fe4 b free_list
00021898 b sector 00021fe8 b buffer_wait
00021899 b head 00021fec B ROOT_DEV
0002189a b track 00022020 B blk_dev
0002189b b seek_track 00022058 B do_floppy
0002189c b command 0002205c B selected
000218a0 B do_hd 00022064 b recalibrate
000218c0 B hd_info 00022068 b reset
000218f0 b recalibrate 0002206c b seek
000218f4 b reset 00022070 b reply_buffer
000218f8 b NR_HD 00022077 b current_drive
00021900 b hd 00022078 b sector
00021950 B rd_length 00022079 b head
00021954 b cr_flag.1923 0002207a b track
00021960 B beepcount 0002207b b seek_track
00021964 b video_type 0002207c b command
00021968 b video_num_columns 00022080 B do_hd
0002196c b video_size_row 000220a0 B hd_info
00021970 b video_num_lines 000220d0 b recalibrate
00021974 b video_page 000220d4 b reset
00021978 b video_mem_start 000220d8 b NR_HD
0002197c b video_mem_end 000220e0 b hd
00021980 b video_port_reg 00022130 B rd_length
00021982 b video_port_val 00022134 b cr_flag.1923
00021984 b video_erase_char 00022140 B beepcount
00021988 b origin 00022144 b video_type
0002198c b scr_end 00022148 b video_num_columns
00021990 b pos 0002214c b video_size_row
00021994 b x 00022150 b video_num_lines
00021998 b y 00022154 b video_page
0002199c b top 00022158 b video_mem_start
000219a0 b bottom 0002215c b video_mem_end
000219a4 b state 00022160 b video_port_reg
000219a8 b npar 00022162 b video_port_val
000219c0 b par 00022164 b video_erase_char
00021a00 b ques 00022168 b origin
00021a04 b saved_x 0002216c b scr_end
00021a08 b saved_y 00022170 b pos
00021a20 B drive_info 00022174 b x
00021a40 B user_stack 00022178 b y
00022a40 B hash_table 0002217c b top
00022f20 B super_block 00022180 b bottom
00023280 B file_table 00022184 b state
00023680 B request 00022188 b npar
00023b00 B rd_start 000221a0 b par
00023b04 B _ctmp 000221e0 b ques
00023b08 B errno 000221e4 b saved_x
00023b0c B ___strtok 000221e8 b saved_y
00023b10 B end 000221ec B free_bucket_desc
00023b10 B _end 00022200 B drive_info
00022220 B user_stack
00023220 B hash_table
00023700 B super_block
00023a60 B file_table
00023e60 B request
000242e0 B rd_start
000242e4 B _ctmp
000242e8 B errno
000242ec B ___strtok
000242f0 B end
000242f0 B _end

@ -32,7 +32,8 @@ lib/lib.a(dup.o) init/main.o (dup)
lib/lib.a(setsid.o) init/main.o (setsid) lib/lib.a(setsid.o) init/main.o (setsid)
lib/lib.a(execve.o) init/main.o (execve) lib/lib.a(execve.o) init/main.o (execve)
lib/lib.a(wait.o) init/main.o (wait) lib/lib.a(wait.o) init/main.o (wait)
lib/lib.a(string.o) fs/fs.o (strncpy) lib/lib.a(string.o) fs/fs.o (strcpy)
lib/lib.a(malloc.o) fs/fs.o (malloc)
分配公共符号 分配公共符号
公共符号 大小 文件 公共符号 大小 文件
@ -98,6 +99,8 @@ Discarded input sections
0x0000000000000000 0x0 lib/lib.a(wait.o) 0x0000000000000000 0x0 lib/lib.a(wait.o)
.note.GNU-stack .note.GNU-stack
0x0000000000000000 0x0 lib/lib.a(string.o) 0x0000000000000000 0x0 lib/lib.a(string.o)
.note.GNU-stack
0x0000000000000000 0x0 lib/lib.a(malloc.o)
内存配置 内存配置
@ -202,7 +205,7 @@ LOAD lib/lib.a
*(.iplt) *(.iplt)
.iplt 0x0000000000000000 0x0 boot/head.o .iplt 0x0000000000000000 0x0 boot/head.o
.text 0x0000000000000000 0x17cef .text 0x0000000000000000 0x1829f
*(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*) *(.text.exit .text.exit.*)
*(.text.startup .text.startup.*) *(.text.startup .text.startup.*)
@ -354,7 +357,7 @@ LOAD lib/lib.a
0x000000000000ae49 mem_init 0x000000000000ae49 mem_init
0x000000000000aebd calc_mem 0x000000000000aebd calc_mem
0x000000000000afb2 page_fault 0x000000000000afb2 page_fault
.text 0x000000000000afe9 0x7539 fs/fs.o .text 0x000000000000afe9 0x777e fs/fs.o
0x000000000000afff sys_ustat 0x000000000000afff sys_ustat
0x000000000000b005 sys_utime 0x000000000000b005 sys_utime
0x000000000000b0b2 sys_access 0x000000000000b0b2 sys_access
@ -424,116 +427,127 @@ LOAD lib/lib.a
0x00000000000121d8 sys_ioctl 0x00000000000121d8 sys_ioctl
0x00000000000123e7 truncate 0x00000000000123e7 truncate
0x000000000001251c sys_select 0x000000000001251c sys_select
.text 0x0000000000012522 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) 0x000000000001253a sys_getdents
0x00000000000128e5 ll_rw_block 0x0000000000012700 sys_execve2
0x000000000001293e blk_dev_init 0x0000000000012706 sys_getcwd
.text 0x000000000001298c 0xb9d kernel/blk_drv/blk_drv.a(floppy.o) 0x000000000001270c sys_sleep
0x0000000000012a72 floppy_deselect 0x0000000000012761 sys_something
0x0000000000012aa9 floppy_change .text 0x0000000000012767 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
0x0000000000012e66 setup_rw_floppy 0x0000000000012b2a ll_rw_block
0x00000000000130ff unexpected_floppy_interrupt 0x0000000000012b83 blk_dev_init
0x00000000000134d7 floppy_init .text 0x0000000000012bd1 0xb9d kernel/blk_drv/blk_drv.a(floppy.o)
.text 0x0000000000013529 0xc8f kernel/blk_drv/blk_drv.a(hd.o) 0x0000000000012cb7 floppy_deselect
0x00000000000135fd sys_setup 0x0000000000012cee floppy_change
0x0000000000013cac unexpected_hd_interrupt 0x00000000000130ab setup_rw_floppy
0x000000000001413e hd_init 0x0000000000013344 unexpected_floppy_interrupt
.text 0x00000000000141b8 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o) 0x000000000001371c floppy_init
0x00000000000143c2 rd_init .text 0x000000000001376e 0xc8f kernel/blk_drv/blk_drv.a(hd.o)
0x0000000000014418 rd_load 0x0000000000013842 sys_setup
.text 0x00000000000146c4 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o) 0x0000000000013ef1 unexpected_hd_interrupt
0x00000000000146ea tty_init 0x0000000000014383 hd_init
0x00000000000146fb tty_intr .text 0x00000000000143fd 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o)
0x0000000000014808 wait_for_keypress 0x0000000000014607 rd_init
0x000000000001481b copy_to_cooked 0x000000000001465d rd_load
0x0000000000014dd6 tty_read .text 0x0000000000014909 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o)
0x0000000000015144 tty_write 0x000000000001492f tty_init
0x0000000000015356 do_tty_interrupt 0x0000000000014940 tty_intr
0x000000000001537e chr_dev_init 0x0000000000014a4d wait_for_keypress
.text 0x000000000001537f 0x1283 kernel/chr_drv/chr_drv.a(console.o) 0x0000000000014a60 copy_to_cooked
0x000000000001591c csi_m 0x000000000001501b tty_read
0x0000000000015cb6 con_write 0x0000000000015389 tty_write
0x0000000000016344 con_init 0x000000000001559b do_tty_interrupt
0x000000000001657b sysbeepstop 0x00000000000155c3 chr_dev_init
.text 0x0000000000016602 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o) .text 0x00000000000155c4 0x1283 kernel/chr_drv/chr_drv.a(console.o)
0x0000000000016605 keyboard_interrupt 0x0000000000015b61 csi_m
.text 0x0000000000016de4 0x145 kernel/chr_drv/chr_drv.a(serial.o) 0x0000000000015efb con_write
0x0000000000016e59 rs_init 0x0000000000016589 con_init
0x0000000000016edc rs_write 0x00000000000167c0 sysbeepstop
*fill* 0x0000000000016f29 0x3 .text 0x0000000000016847 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o)
.text 0x0000000000016f2c 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o) 0x000000000001684a keyboard_interrupt
0x0000000000016f2c rs1_interrupt .text 0x0000000000017029 0x145 kernel/chr_drv/chr_drv.a(serial.o)
0x0000000000016f34 rs2_interrupt 0x000000000001709e rs_init
.text 0x0000000000017023 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o) 0x0000000000017121 rs_write
0x0000000000017334 tty_ioctl *fill* 0x000000000001716e 0x2
.text 0x0000000000017632 0x111 kernel/math/math.a(math_emulate.o) .text 0x0000000000017170 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o)
0x0000000000017640 math_emulate 0x0000000000017170 rs1_interrupt
0x0000000000017723 math_error 0x0000000000017178 rs2_interrupt
.text 0x0000000000017743 0x0 lib/lib.a(ctype.o) .text 0x0000000000017267 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o)
.text 0x0000000000017743 0x10 lib/lib.a(_exit.o) 0x0000000000017578 tty_ioctl
0x0000000000017743 _exit .text 0x0000000000017876 0x111 kernel/math/math.a(math_emulate.o)
.text 0x0000000000017753 0x49 lib/lib.a(open.o) 0x0000000000017884 math_emulate
0x0000000000017753 open 0x0000000000017967 math_error
.text 0x000000000001779c 0x37 lib/lib.a(close.o) .text 0x0000000000017987 0x0 lib/lib.a(ctype.o)
0x000000000001779c close .text 0x0000000000017987 0x10 lib/lib.a(_exit.o)
.text 0x00000000000177d3 0x0 lib/lib.a(errno.o) 0x0000000000017987 _exit
.text 0x00000000000177d3 0x3d lib/lib.a(write.o) .text 0x0000000000017997 0x49 lib/lib.a(open.o)
0x00000000000177d3 write 0x0000000000017997 open
.text 0x0000000000017810 0x37 lib/lib.a(dup.o) .text 0x00000000000179e0 0x37 lib/lib.a(close.o)
0x0000000000017810 dup 0x00000000000179e0 close
.text 0x0000000000017847 0x2f lib/lib.a(setsid.o) .text 0x0000000000017a17 0x0 lib/lib.a(errno.o)
0x0000000000017847 setsid .text 0x0000000000017a17 0x3d lib/lib.a(write.o)
.text 0x0000000000017876 0x3d lib/lib.a(execve.o) 0x0000000000017a17 write
0x0000000000017876 execve .text 0x0000000000017a54 0x37 lib/lib.a(dup.o)
.text 0x00000000000178b3 0x60 lib/lib.a(wait.o) 0x0000000000017a54 dup
0x00000000000178b3 waitpid .text 0x0000000000017a8b 0x2f lib/lib.a(setsid.o)
0x00000000000178f0 wait 0x0000000000017a8b setsid
.text 0x0000000000017913 0x3dc lib/lib.a(string.o) .text 0x0000000000017aba 0x3d lib/lib.a(execve.o)
0x0000000000017913 strcpy 0x0000000000017aba execve
0x000000000001792f strncpy .text 0x0000000000017af7 0x60 lib/lib.a(wait.o)
0x0000000000017954 strcat 0x0000000000017af7 waitpid
0x000000000001797f strncat 0x0000000000017b34 wait
0x00000000000179b4 strcmp .text 0x0000000000017b57 0x3dc lib/lib.a(string.o)
0x00000000000179db strncmp 0x0000000000017b57 strcpy
0x0000000000017a09 strchr 0x0000000000017b73 strncpy
0x0000000000017a36 strrchr 0x0000000000017b98 strcat
0x0000000000017a65 strspn 0x0000000000017bc3 strncat
0x0000000000017aa2 strcspn 0x0000000000017bf8 strcmp
0x0000000000017adf strpbrk 0x0000000000017c1f strncmp
0x0000000000017b16 strstr 0x0000000000017c4d strchr
0x0000000000017b4f strlen 0x0000000000017c7a strrchr
0x0000000000017b72 strtok 0x0000000000017ca9 strspn
0x0000000000017bf5 memcpy 0x0000000000017ce6 strcspn
0x0000000000017c15 memmove 0x0000000000017d23 strpbrk
0x0000000000017c69 memcmp 0x0000000000017d5a strstr
0x0000000000017c93 memchr 0x0000000000017d93 strlen
0x0000000000017ccb memset 0x0000000000017db6 strtok
0x0000000000017e39 memcpy
0x0000000000017e59 memmove
0x0000000000017ead memcmp
0x0000000000017ed7 memchr
0x0000000000017f0f memset
.text 0x0000000000017f33 0x36c lib/lib.a(malloc.o)
0x0000000000017f9c malloc
0x0000000000018128 free_s
*(.gnu.warning) *(.gnu.warning)
.fini .fini
*(SORT(.fini)) *(SORT(.fini))
0x0000000000017cef PROVIDE (__etext, .) 0x000000000001829f PROVIDE (__etext, .)
0x0000000000017cef PROVIDE (_etext, .) 0x000000000001829f PROVIDE (_etext, .)
0x0000000000017cef PROVIDE (etext, .) 0x000000000001829f PROVIDE (etext, .)
.rodata 0x0000000000017cf0 0x13ca .rodata 0x00000000000182a0 0x14b7
*(.rodata .rodata.* .gnu.linkonce.r.*) *(.rodata .rodata.* .gnu.linkonce.r.*)
.rodata 0x0000000000017cf0 0xad init/main.o .rodata 0x00000000000182a0 0xad init/main.o
*fill* 0x0000000000017d9d 0x3 *fill* 0x000000000001834d 0x3
.rodata 0x0000000000017da0 0x438 kernel/kernel.o .rodata 0x0000000000018350 0x438 kernel/kernel.o
.rodata 0x00000000000181d8 0x18f mm/mm.o .rodata 0x0000000000018788 0x18f mm/mm.o
*fill* 0x0000000000018367 0x1 *fill* 0x0000000000018917 0x1
.rodata 0x0000000000018368 0x62c fs/fs.o .rodata 0x0000000000018918 0x641 fs/fs.o
.rodata 0x0000000000018994 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) *fill* 0x0000000000018f59 0x3
*fill* 0x0000000000018a0e 0x2 .rodata 0x0000000000018f5c 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
.rodata 0x0000000000018a10 0x133 kernel/blk_drv/blk_drv.a(floppy.o) *fill* 0x0000000000018fd6 0x2
*fill* 0x0000000000018b43 0x1 .rodata 0x0000000000018fd8 0x133 kernel/blk_drv/blk_drv.a(floppy.o)
.rodata 0x0000000000018b44 0x19b kernel/blk_drv/blk_drv.a(hd.o) *fill* 0x000000000001910b 0x1
*fill* 0x0000000000018cdf 0x1 .rodata 0x000000000001910c 0x19b kernel/blk_drv/blk_drv.a(hd.o)
.rodata 0x0000000000018ce0 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) *fill* 0x00000000000192a7 0x1
.rodata 0x0000000000018e68 0x17d kernel/chr_drv/chr_drv.a(console.o) .rodata 0x00000000000192a8 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o)
*fill* 0x0000000000018fe5 0x3 .rodata 0x0000000000019430 0x17d kernel/chr_drv/chr_drv.a(console.o)
.rodata 0x0000000000018fe8 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) *fill* 0x00000000000195ad 0x3
.rodata 0x0000000000019068 0x52 kernel/math/math.a(math_emulate.o) .rodata 0x00000000000195b0 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o)
.rodata 0x0000000000019630 0x52 kernel/math/math.a(math_emulate.o)
*fill* 0x0000000000019682 0x2
.rodata 0x0000000000019684 0xd3 lib/lib.a(malloc.o)
.rodata1 .rodata1
*(.rodata1) *(.rodata1)
@ -541,58 +555,60 @@ LOAD lib/lib.a
.eh_frame_hdr .eh_frame_hdr
*(.eh_frame_hdr) *(.eh_frame_hdr)
.eh_frame 0x00000000000190bc 0x2a6c .eh_frame 0x0000000000019758 0x2b44
*(.eh_frame) *(.eh_frame)
.eh_frame 0x00000000000190bc 0xf0 init/main.o .eh_frame 0x0000000000019758 0xf0 init/main.o
.eh_frame 0x00000000000191ac 0xb04 kernel/kernel.o .eh_frame 0x0000000000019848 0xb04 kernel/kernel.o
0xbf4 (size before relaxing) 0xbf4 (size before relaxing)
.eh_frame 0x0000000000019cb0 0x194 mm/mm.o .eh_frame 0x000000000001a34c 0x194 mm/mm.o
0x1ac (size before relaxing) 0x1ac (size before relaxing)
.eh_frame 0x0000000000019e44 0xdd8 fs/fs.o .eh_frame 0x000000000001a4e0 0xe60 fs/fs.o
0xf70 (size before relaxing) 0x1010 (size before relaxing)
.eh_frame 0x000000000001ac1c 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .eh_frame 0x000000000001b340 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
0xb0 (size before relaxing) 0xb0 (size before relaxing)
.eh_frame 0x000000000001acb4 0x23c kernel/blk_drv/blk_drv.a(floppy.o) .eh_frame 0x000000000001b3d8 0x23c kernel/blk_drv/blk_drv.a(floppy.o)
0x254 (size before relaxing) 0x254 (size before relaxing)
.eh_frame 0x000000000001aef0 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) .eh_frame 0x000000000001b614 0x1e8 kernel/blk_drv/blk_drv.a(hd.o)
0x200 (size before relaxing) 0x200 (size before relaxing)
.eh_frame 0x000000000001b0d8 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) .eh_frame 0x000000000001b7fc 0xac kernel/blk_drv/blk_drv.a(ramdisk.o)
0xc4 (size before relaxing) 0xc4 (size before relaxing)
.eh_frame 0x000000000001b184 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) .eh_frame 0x000000000001b8a8 0x12c kernel/chr_drv/chr_drv.a(tty_io.o)
0x144 (size before relaxing) 0x144 (size before relaxing)
.eh_frame 0x000000000001b2b0 0x2c0 kernel/chr_drv/chr_drv.a(console.o) .eh_frame 0x000000000001b9d4 0x2c0 kernel/chr_drv/chr_drv.a(console.o)
0x2d8 (size before relaxing) 0x2d8 (size before relaxing)
.eh_frame 0x000000000001b570 0x54 kernel/chr_drv/chr_drv.a(serial.o) .eh_frame 0x000000000001bc94 0x54 kernel/chr_drv/chr_drv.a(serial.o)
0x6c (size before relaxing) 0x6c (size before relaxing)
.eh_frame 0x000000000001b5c4 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) .eh_frame 0x000000000001bce8 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o)
0x160 (size before relaxing) 0x160 (size before relaxing)
.eh_frame 0x000000000001b70c 0x5c kernel/math/math.a(math_emulate.o) .eh_frame 0x000000000001be30 0x5c kernel/math/math.a(math_emulate.o)
0x74 (size before relaxing) 0x74 (size before relaxing)
.eh_frame 0x000000000001b768 0x1c lib/lib.a(_exit.o) .eh_frame 0x000000000001be8c 0x1c lib/lib.a(_exit.o)
0x34 (size before relaxing) 0x34 (size before relaxing)
.eh_frame 0x000000000001b784 0x24 lib/lib.a(open.o) .eh_frame 0x000000000001bea8 0x24 lib/lib.a(open.o)
0x3c (size before relaxing) 0x3c (size before relaxing)
.eh_frame 0x000000000001b7a8 0x20 lib/lib.a(close.o) .eh_frame 0x000000000001becc 0x20 lib/lib.a(close.o)
0x38 (size before relaxing) 0x38 (size before relaxing)
.eh_frame 0x000000000001b7c8 0x20 lib/lib.a(write.o) .eh_frame 0x000000000001beec 0x20 lib/lib.a(write.o)
0x38 (size before relaxing) 0x38 (size before relaxing)
.eh_frame 0x000000000001b7e8 0x20 lib/lib.a(dup.o) .eh_frame 0x000000000001bf0c 0x20 lib/lib.a(dup.o)
0x38 (size before relaxing) 0x38 (size before relaxing)
.eh_frame 0x000000000001b808 0x18 lib/lib.a(setsid.o) .eh_frame 0x000000000001bf2c 0x18 lib/lib.a(setsid.o)
0x30 (size before relaxing) 0x30 (size before relaxing)
.eh_frame 0x000000000001b820 0x20 lib/lib.a(execve.o) .eh_frame 0x000000000001bf44 0x20 lib/lib.a(execve.o)
0x38 (size before relaxing) 0x38 (size before relaxing)
.eh_frame 0x000000000001b840 0x38 lib/lib.a(wait.o) .eh_frame 0x000000000001bf64 0x38 lib/lib.a(wait.o)
0x50 (size before relaxing) 0x50 (size before relaxing)
.eh_frame 0x000000000001b878 0x2b0 lib/lib.a(string.o) .eh_frame 0x000000000001bf9c 0x2b0 lib/lib.a(string.o)
0x2c8 (size before relaxing) 0x2c8 (size before relaxing)
.eh_frame 0x000000000001c24c 0x50 lib/lib.a(malloc.o)
0x68 (size before relaxing)
.gcc_except_table .gcc_except_table
*(.gcc_except_table .gcc_except_table.*) *(.gcc_except_table .gcc_except_table.*)
.exception_ranges .exception_ranges
*(.exception_ranges .exception_ranges*) *(.exception_ranges .exception_ranges*)
0x000000000001bb28 . = . 0x000000000001c29c . = .
.eh_frame .eh_frame
*(.eh_frame) *(.eh_frame)
@ -610,22 +626,22 @@ LOAD lib/lib.a
*(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tbss .tbss.* .gnu.linkonce.tb.*)
*(.tcommon) *(.tcommon)
.preinit_array 0x000000000001bb28 0x0 .preinit_array 0x000000000001c29c 0x0
0x000000000001bb28 PROVIDE (__preinit_array_start, .) 0x000000000001c29c PROVIDE (__preinit_array_start, .)
*(.preinit_array) *(.preinit_array)
0x000000000001bb28 PROVIDE (__preinit_array_end, .) 0x000000000001c29c PROVIDE (__preinit_array_end, .)
.init_array 0x000000000001bb28 0x0 .init_array 0x000000000001c29c 0x0
0x000000000001bb28 PROVIDE (__init_array_start, .) 0x000000000001c29c PROVIDE (__init_array_start, .)
*(SORT(.init_array.*) SORT(.ctors.*)) *(SORT(.init_array.*) SORT(.ctors.*))
*(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors) *(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors)
0x000000000001bb28 PROVIDE (__init_array_end, .) 0x000000000001c29c PROVIDE (__init_array_end, .)
.fini_array 0x000000000001bb28 0x0 .fini_array 0x000000000001c29c 0x0
0x000000000001bb28 PROVIDE (__fini_array_start, .) 0x000000000001c29c PROVIDE (__fini_array_start, .)
*(SORT(.fini_array.*) SORT(.dtors.*)) *(SORT(.fini_array.*) SORT(.dtors.*))
*(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors) *(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors)
0x000000000001bb28 PROVIDE (__fini_array_end, .) 0x000000000001c29c PROVIDE (__fini_array_end, .)
.ctors .ctors
*crtbegin.o(.ctors) *crtbegin.o(.ctors)
@ -655,140 +671,145 @@ LOAD lib/lib.a
*(.got) *(.got)
*(.igot) *(.igot)
.got.plt 0x000000000001bb28 0x0 .got.plt 0x000000000001c29c 0x0
*(.got.plt) *(.got.plt)
*(.igot.plt) *(.igot.plt)
.igot.plt 0x0000000000000000 0x0 boot/head.o .igot.plt 0x0000000000000000 0x0 boot/head.o
.data 0x000000000001bb40 0x3b01 .data 0x000000000001c2a0 0x3b90
*(.data .data.* .gnu.linkonce.d.*) *(.data .data.* .gnu.linkonce.d.*)
.data 0x000000000001bb40 0x0 boot/head.o .data 0x000000000001c2a0 0x0 boot/head.o
.data 0x000000000001bb40 0x28 init/main.o .data 0x000000000001c2a0 0x28 init/main.o
*fill* 0x000000000001bb68 0x18 *fill* 0x000000000001c2c8 0x18
.data 0x000000000001bb80 0x1310 kernel/kernel.o .data 0x000000000001c2e0 0x1330 kernel/kernel.o
0x000000000001bb80 sys_call_table 0x000000000001c2e0 sys_call_table
0x000000000001bcdc NR_syscalls 0x000000000001c450 NR_syscalls
0x000000000001cce0 current 0x000000000001d460 current
0x000000000001cd00 task 0x000000000001d480 task
0x000000000001ce00 stack_start 0x000000000001d580 stack_start
0x000000000001ce08 current_DOR 0x000000000001d588 current_DOR
.data 0x000000000001ce90 0x0 mm/mm.o .data 0x000000000001d610 0x0 mm/mm.o
*fill* 0x000000000001ce90 0x10 *fill* 0x000000000001d610 0x10
.data 0x000000000001cea0 0x60 fs/fs.o .data 0x000000000001d620 0x60 fs/fs.o
0x000000000001cea4 start_buffer 0x000000000001d624 start_buffer
.data 0x000000000001cf00 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .data 0x000000000001d680 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
.data 0x000000000001cf00 0xcd kernel/blk_drv/blk_drv.a(floppy.o) .data 0x000000000001d680 0xcd kernel/blk_drv/blk_drv.a(floppy.o)
*fill* 0x000000000001cfcd 0x3 *fill* 0x000000000001d74d 0x3
.data 0x000000000001cfd0 0x4 kernel/blk_drv/blk_drv.a(hd.o) .data 0x000000000001d750 0x4 kernel/blk_drv/blk_drv.a(hd.o)
.data 0x000000000001cfd4 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) .data 0x000000000001d754 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o)
*fill* 0x000000000001cfd4 0xc *fill* 0x000000000001d754 0xc
.data 0x000000000001cfe0 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) .data 0x000000000001d760 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o)
0x000000000001cfe0 tty_table 0x000000000001d760 tty_table
0x000000000001f500 table_list 0x000000000001fc80 table_list
.data 0x000000000001f518 0x1 kernel/chr_drv/chr_drv.a(console.o) .data 0x000000000001fc98 0x1 kernel/chr_drv/chr_drv.a(console.o)
.data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) .data 0x000000000001fc99 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o)
.data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(serial.o) .data 0x000000000001fc99 0x0 kernel/chr_drv/chr_drv.a(serial.o)
.data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) .data 0x000000000001fc99 0x0 kernel/chr_drv/chr_drv.a(rs_io.o)
*fill* 0x000000000001f519 0x7 *fill* 0x000000000001fc99 0x7
.data 0x000000000001f520 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) .data 0x000000000001fca0 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o)
.data 0x000000000001f540 0x0 kernel/math/math.a(math_emulate.o) .data 0x000000000001fcc0 0x0 kernel/math/math.a(math_emulate.o)
.data 0x000000000001f540 0x101 lib/lib.a(ctype.o) .data 0x000000000001fcc0 0x101 lib/lib.a(ctype.o)
0x000000000001f540 _ctype 0x000000000001fcc0 _ctype
.data 0x000000000001f641 0x0 lib/lib.a(_exit.o) .data 0x000000000001fdc1 0x0 lib/lib.a(_exit.o)
.data 0x000000000001f641 0x0 lib/lib.a(open.o) .data 0x000000000001fdc1 0x0 lib/lib.a(open.o)
.data 0x000000000001f641 0x0 lib/lib.a(close.o) .data 0x000000000001fdc1 0x0 lib/lib.a(close.o)
.data 0x000000000001f641 0x0 lib/lib.a(errno.o) .data 0x000000000001fdc1 0x0 lib/lib.a(errno.o)
.data 0x000000000001f641 0x0 lib/lib.a(write.o) .data 0x000000000001fdc1 0x0 lib/lib.a(write.o)
.data 0x000000000001f641 0x0 lib/lib.a(dup.o) .data 0x000000000001fdc1 0x0 lib/lib.a(dup.o)
.data 0x000000000001f641 0x0 lib/lib.a(setsid.o) .data 0x000000000001fdc1 0x0 lib/lib.a(setsid.o)
.data 0x000000000001f641 0x0 lib/lib.a(execve.o) .data 0x000000000001fdc1 0x0 lib/lib.a(execve.o)
.data 0x000000000001f641 0x0 lib/lib.a(wait.o) .data 0x000000000001fdc1 0x0 lib/lib.a(wait.o)
.data 0x000000000001f641 0x0 lib/lib.a(string.o) .data 0x000000000001fdc1 0x0 lib/lib.a(string.o)
*fill* 0x000000000001fdc1 0x1f
.data 0x000000000001fde0 0x50 lib/lib.a(malloc.o)
0x000000000001fde0 bucket_dir
.data1 .data1
*(.data1) *(.data1)
0x000000000001f641 _edata = . 0x000000000001fe30 _edata = .
0x000000000001f641 PROVIDE (edata, .) 0x000000000001fe30 PROVIDE (edata, .)
0x000000000001f641 . = . 0x000000000001fe30 . = .
0x000000000001f641 __bss_start = . 0x000000000001fe30 __bss_start = .
.bss 0x000000000001f660 0x44b0 .bss 0x000000000001fe40 0x44b0
*(.dynbss) *(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*) *(.bss .bss.* .gnu.linkonce.b.*)
.bss 0x000000000001f660 0x0 boot/head.o .bss 0x000000000001fe40 0x0 boot/head.o
.bss 0x000000000001f660 0x40c init/main.o .bss 0x000000000001fe40 0x40c init/main.o
*fill* 0x000000000001fa6c 0x14 *fill* 0x000000000002024c 0x14
.bss 0x000000000001fa80 0x760 kernel/kernel.o .bss 0x0000000000020260 0x760 kernel/kernel.o
0x000000000001fa80 jiffies 0x0000000000020260 jiffies
0x000000000001fa84 startup_time 0x0000000000020264 startup_time
0x000000000001fa88 last_task_used_math 0x0000000000020268 last_task_used_math
0x000000000001fdc4 last_pid 0x00000000000205a4 last_pid
.bss 0x00000000000201e0 0xf20 mm/mm.o .bss 0x00000000000209c0 0xf20 mm/mm.o
.bss 0x0000000000021100 0x710 fs/fs.o .bss 0x00000000000218e0 0x710 fs/fs.o
0x0000000000021100 inode_table 0x00000000000218e0 inode_table
0x0000000000021800 nr_buffers 0x0000000000021fe0 nr_buffers
0x000000000002180c ROOT_DEV 0x0000000000021fec ROOT_DEV
*fill* 0x0000000000021810 0x10 *fill* 0x0000000000021ff0 0x10
.bss 0x0000000000021820 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .bss 0x0000000000022000 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
0x0000000000021820 wait_for_request 0x0000000000022000 wait_for_request
0x0000000000021840 blk_dev 0x0000000000022020 blk_dev
.bss 0x0000000000021878 0x25 kernel/blk_drv/blk_drv.a(floppy.o) .bss 0x0000000000022058 0x25 kernel/blk_drv/blk_drv.a(floppy.o)
0x0000000000021878 do_floppy 0x0000000000022058 do_floppy
0x000000000002187c selected 0x000000000002205c selected
0x0000000000021880 wait_on_floppy_select 0x0000000000022060 wait_on_floppy_select
*fill* 0x000000000002189d 0x3 *fill* 0x000000000002207d 0x3
.bss 0x00000000000218a0 0xb0 kernel/blk_drv/blk_drv.a(hd.o) .bss 0x0000000000022080 0xb0 kernel/blk_drv/blk_drv.a(hd.o)
0x00000000000218a0 do_hd 0x0000000000022080 do_hd
0x00000000000218c0 hd_info 0x00000000000220a0 hd_info
.bss 0x0000000000021950 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) .bss 0x0000000000022130 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o)
0x0000000000021950 rd_length 0x0000000000022130 rd_length
.bss 0x0000000000021954 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) .bss 0x0000000000022134 0x4 kernel/chr_drv/chr_drv.a(tty_io.o)
*fill* 0x0000000000021958 0x8 *fill* 0x0000000000022138 0x8
.bss 0x0000000000021960 0xac kernel/chr_drv/chr_drv.a(console.o) .bss 0x0000000000022140 0xac kernel/chr_drv/chr_drv.a(console.o)
0x0000000000021960 beepcount 0x0000000000022140 beepcount
.bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) .bss 0x00000000000221ec 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o)
.bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(serial.o) .bss 0x00000000000221ec 0x0 kernel/chr_drv/chr_drv.a(serial.o)
.bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) .bss 0x00000000000221ec 0x0 kernel/chr_drv/chr_drv.a(rs_io.o)
.bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) .bss 0x00000000000221ec 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o)
.bss 0x0000000000021a0c 0x0 kernel/math/math.a(math_emulate.o) .bss 0x00000000000221ec 0x0 kernel/math/math.a(math_emulate.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(ctype.o) .bss 0x00000000000221ec 0x0 lib/lib.a(ctype.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(_exit.o) .bss 0x00000000000221ec 0x0 lib/lib.a(_exit.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(open.o) .bss 0x00000000000221ec 0x0 lib/lib.a(open.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(close.o) .bss 0x00000000000221ec 0x0 lib/lib.a(close.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(errno.o) .bss 0x00000000000221ec 0x0 lib/lib.a(errno.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(write.o) .bss 0x00000000000221ec 0x0 lib/lib.a(write.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(dup.o) .bss 0x00000000000221ec 0x0 lib/lib.a(dup.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(setsid.o) .bss 0x00000000000221ec 0x0 lib/lib.a(setsid.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(execve.o) .bss 0x00000000000221ec 0x0 lib/lib.a(execve.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(wait.o) .bss 0x00000000000221ec 0x0 lib/lib.a(wait.o)
.bss 0x0000000000021a0c 0x0 lib/lib.a(string.o) .bss 0x00000000000221ec 0x0 lib/lib.a(string.o)
.bss 0x00000000000221ec 0x4 lib/lib.a(malloc.o)
0x00000000000221ec free_bucket_desc
*(COMMON) *(COMMON)
*fill* 0x0000000000021a0c 0x14 *fill* 0x00000000000221f0 0x10
COMMON 0x0000000000021a20 0x20 init/main.o COMMON 0x0000000000022200 0x20 init/main.o
0x0000000000021a20 drive_info 0x0000000000022200 drive_info
COMMON 0x0000000000021a40 0x1000 kernel/kernel.o COMMON 0x0000000000022220 0x1000 kernel/kernel.o
0x0000000000021a40 user_stack 0x0000000000022220 user_stack
COMMON 0x0000000000022a40 0xc40 fs/fs.o COMMON 0x0000000000023220 0xc40 fs/fs.o
0x0000000000022a40 hash_table 0x0000000000023220 hash_table
0x0000000000022f20 super_block 0x0000000000023700 super_block
0x0000000000023280 file_table 0x0000000000023a60 file_table
COMMON 0x0000000000023680 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) COMMON 0x0000000000023e60 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
0x0000000000023680 request 0x0000000000023e60 request
COMMON 0x0000000000023b00 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) COMMON 0x00000000000242e0 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o)
0x0000000000023b00 rd_start 0x00000000000242e0 rd_start
COMMON 0x0000000000023b04 0x1 lib/lib.a(ctype.o) COMMON 0x00000000000242e4 0x1 lib/lib.a(ctype.o)
0x0000000000023b04 _ctmp 0x00000000000242e4 _ctmp
*fill* 0x0000000000023b05 0x3 *fill* 0x00000000000242e5 0x3
COMMON 0x0000000000023b08 0x4 lib/lib.a(errno.o) COMMON 0x00000000000242e8 0x4 lib/lib.a(errno.o)
0x0000000000023b08 errno 0x00000000000242e8 errno
COMMON 0x0000000000023b0c 0x4 lib/lib.a(string.o) COMMON 0x00000000000242ec 0x4 lib/lib.a(string.o)
0x0000000000023b0c ___strtok 0x00000000000242ec ___strtok
0x0000000000023b10 . = ALIGN ((. != 0x0)?0x4:0x1) 0x00000000000242f0 . = ALIGN ((. != 0x0)?0x4:0x1)
0x0000000000023b10 . = ALIGN (0x4) 0x00000000000242f0 . = ALIGN (0x4)
0x0000000000023b10 . = SEGMENT_START ("ldata-segment", .) 0x00000000000242f0 . = SEGMENT_START ("ldata-segment", .)
0x0000000000023b10 . = ALIGN (0x4) 0x00000000000242f0 . = ALIGN (0x4)
0x0000000000023b10 _end = . 0x00000000000242f0 _end = .
0x0000000000023b10 PROVIDE (end, .) 0x00000000000242f0 PROVIDE (end, .)
.stab .stab
*(.stab) *(.stab)
@ -814,7 +835,7 @@ LOAD lib/lib.a
0x2a (size before relaxing) 0x2a (size before relaxing)
.comment 0x0000000000000000 0x1a4 kernel/kernel.o .comment 0x0000000000000000 0x1a4 kernel/kernel.o
.comment 0x0000000000000000 0x2a mm/mm.o .comment 0x0000000000000000 0x2a mm/mm.o
.comment 0x0000000000000000 0x2f4 fs/fs.o .comment 0x0000000000000000 0x31e fs/fs.o
.comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
.comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(floppy.o) .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(floppy.o)
.comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(hd.o) .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(hd.o)
@ -835,6 +856,7 @@ LOAD lib/lib.a
.comment 0x0000000000000000 0x2a lib/lib.a(execve.o) .comment 0x0000000000000000 0x2a lib/lib.a(execve.o)
.comment 0x0000000000000000 0x2a lib/lib.a(wait.o) .comment 0x0000000000000000 0x2a lib/lib.a(wait.o)
.comment 0x0000000000000000 0x2a lib/lib.a(string.o) .comment 0x0000000000000000 0x2a lib/lib.a(string.o)
.comment 0x0000000000000000 0x2a lib/lib.a(malloc.o)
.debug .debug
*(.debug) *(.debug)
@ -848,7 +870,7 @@ LOAD lib/lib.a
.debug_sfnames .debug_sfnames
*(.debug_sfnames) *(.debug_sfnames)
.debug_aranges 0x0000000000000000 0x628 .debug_aranges 0x0000000000000000 0x668
*(.debug_aranges) *(.debug_aranges)
.debug_aranges .debug_aranges
0x0000000000000000 0x20 init/main.o 0x0000000000000000 0x20 init/main.o
@ -857,185 +879,192 @@ LOAD lib/lib.a
.debug_aranges .debug_aranges
0x0000000000000160 0x20 mm/mm.o 0x0000000000000160 0x20 mm/mm.o
.debug_aranges .debug_aranges
0x0000000000000180 0x238 fs/fs.o 0x0000000000000180 0x258 fs/fs.o
.debug_aranges
0x00000000000003d8 0x20 kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
.debug_aranges .debug_aranges
0x00000000000003b8 0x20 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) 0x00000000000003f8 0x20 kernel/blk_drv/blk_drv.a(floppy.o)
.debug_aranges .debug_aranges
0x00000000000003d8 0x20 kernel/blk_drv/blk_drv.a(floppy.o) 0x0000000000000418 0x20 kernel/blk_drv/blk_drv.a(hd.o)
.debug_aranges .debug_aranges
0x00000000000003f8 0x20 kernel/blk_drv/blk_drv.a(hd.o) 0x0000000000000438 0x20 kernel/blk_drv/blk_drv.a(ramdisk.o)
.debug_aranges .debug_aranges
0x0000000000000418 0x20 kernel/blk_drv/blk_drv.a(ramdisk.o) 0x0000000000000458 0x20 kernel/chr_drv/chr_drv.a(tty_io.o)
.debug_aranges .debug_aranges
0x0000000000000438 0x20 kernel/chr_drv/chr_drv.a(tty_io.o) 0x0000000000000478 0x20 kernel/chr_drv/chr_drv.a(console.o)
.debug_aranges .debug_aranges
0x0000000000000458 0x20 kernel/chr_drv/chr_drv.a(console.o) 0x0000000000000498 0x20 kernel/chr_drv/chr_drv.a(serial.o)
.debug_aranges .debug_aranges
0x0000000000000478 0x20 kernel/chr_drv/chr_drv.a(serial.o) 0x00000000000004b8 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o)
.debug_aranges .debug_aranges
0x0000000000000498 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) 0x00000000000004d8 0x20 kernel/math/math.a(math_emulate.o)
.debug_aranges .debug_aranges
0x00000000000004b8 0x20 kernel/math/math.a(math_emulate.o) 0x00000000000004f8 0x18 lib/lib.a(ctype.o)
.debug_aranges .debug_aranges
0x00000000000004d8 0x18 lib/lib.a(ctype.o) 0x0000000000000510 0x20 lib/lib.a(_exit.o)
.debug_aranges .debug_aranges
0x00000000000004f0 0x20 lib/lib.a(_exit.o) 0x0000000000000530 0x20 lib/lib.a(open.o)
.debug_aranges .debug_aranges
0x0000000000000510 0x20 lib/lib.a(open.o) 0x0000000000000550 0x20 lib/lib.a(close.o)
.debug_aranges .debug_aranges
0x0000000000000530 0x20 lib/lib.a(close.o) 0x0000000000000570 0x18 lib/lib.a(errno.o)
.debug_aranges .debug_aranges
0x0000000000000550 0x18 lib/lib.a(errno.o) 0x0000000000000588 0x20 lib/lib.a(write.o)
.debug_aranges .debug_aranges
0x0000000000000568 0x20 lib/lib.a(write.o) 0x00000000000005a8 0x20 lib/lib.a(dup.o)
.debug_aranges .debug_aranges
0x0000000000000588 0x20 lib/lib.a(dup.o) 0x00000000000005c8 0x20 lib/lib.a(setsid.o)
.debug_aranges .debug_aranges
0x00000000000005a8 0x20 lib/lib.a(setsid.o) 0x00000000000005e8 0x20 lib/lib.a(execve.o)
.debug_aranges .debug_aranges
0x00000000000005c8 0x20 lib/lib.a(execve.o) 0x0000000000000608 0x20 lib/lib.a(wait.o)
.debug_aranges .debug_aranges
0x00000000000005e8 0x20 lib/lib.a(wait.o) 0x0000000000000628 0x20 lib/lib.a(string.o)
.debug_aranges .debug_aranges
0x0000000000000608 0x20 lib/lib.a(string.o) 0x0000000000000648 0x20 lib/lib.a(malloc.o)
.debug_pubnames .debug_pubnames
*(.debug_pubnames) *(.debug_pubnames)
.debug_info 0x0000000000000000 0x16d23 .debug_info 0x0000000000000000 0x178f7
*(.debug_info .gnu.linkonce.wi.*) *(.debug_info .gnu.linkonce.wi.*)
.debug_info 0x0000000000000000 0x553 init/main.o .debug_info 0x0000000000000000 0x553 init/main.o
.debug_info 0x0000000000000553 0x4cb6 kernel/kernel.o .debug_info 0x0000000000000553 0x4cb6 kernel/kernel.o
.debug_info 0x0000000000005209 0xb2b mm/mm.o .debug_info 0x0000000000005209 0xb2b mm/mm.o
.debug_info 0x0000000000005d34 0xa290 fs/fs.o .debug_info 0x0000000000005d34 0xac3f fs/fs.o
.debug_info 0x000000000000ffc4 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .debug_info 0x0000000000010973 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
.debug_info 0x00000000000108f6 0xc9f kernel/blk_drv/blk_drv.a(floppy.o) .debug_info 0x00000000000112a5 0xc9f kernel/blk_drv/blk_drv.a(floppy.o)
.debug_info 0x0000000000011595 0xd5f kernel/blk_drv/blk_drv.a(hd.o) .debug_info 0x0000000000011f44 0xd5f kernel/blk_drv/blk_drv.a(hd.o)
.debug_info 0x00000000000122f4 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o) .debug_info 0x0000000000012ca3 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o)
.debug_info 0x0000000000012dc9 0xacd kernel/chr_drv/chr_drv.a(tty_io.o) .debug_info 0x0000000000013778 0xacd kernel/chr_drv/chr_drv.a(tty_io.o)
.debug_info 0x0000000000013896 0xdb0 kernel/chr_drv/chr_drv.a(console.o) .debug_info 0x0000000000014245 0xdb0 kernel/chr_drv/chr_drv.a(console.o)
.debug_info 0x0000000000014646 0x85c kernel/chr_drv/chr_drv.a(serial.o) .debug_info 0x0000000000014ff5 0x85c kernel/chr_drv/chr_drv.a(serial.o)
.debug_info 0x0000000000014ea2 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o) .debug_info 0x0000000000015851 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o)
.debug_info 0x00000000000159e9 0x7b5 kernel/math/math.a(math_emulate.o) .debug_info 0x0000000000016398 0x7b5 kernel/math/math.a(math_emulate.o)
.debug_info 0x000000000001619e 0x66 lib/lib.a(ctype.o) .debug_info 0x0000000000016b4d 0x66 lib/lib.a(ctype.o)
.debug_info 0x0000000000016204 0x77 lib/lib.a(_exit.o) .debug_info 0x0000000000016bb3 0x77 lib/lib.a(_exit.o)
.debug_info 0x000000000001627b 0xd0 lib/lib.a(open.o) .debug_info 0x0000000000016c2a 0xd0 lib/lib.a(open.o)
.debug_info 0x000000000001634b 0x97 lib/lib.a(close.o) .debug_info 0x0000000000016cfa 0x97 lib/lib.a(close.o)
.debug_info 0x00000000000163e2 0x36 lib/lib.a(errno.o) .debug_info 0x0000000000016d91 0x36 lib/lib.a(errno.o)
.debug_info 0x0000000000016418 0xc9 lib/lib.a(write.o) .debug_info 0x0000000000016dc7 0xc9 lib/lib.a(write.o)
.debug_info 0x00000000000164e1 0x97 lib/lib.a(dup.o) .debug_info 0x0000000000016e90 0x97 lib/lib.a(dup.o)
.debug_info 0x0000000000016578 0x95 lib/lib.a(setsid.o) .debug_info 0x0000000000016f27 0x95 lib/lib.a(setsid.o)
.debug_info 0x000000000001660d 0xcb lib/lib.a(execve.o) .debug_info 0x0000000000016fbc 0xcb lib/lib.a(execve.o)
.debug_info 0x00000000000166d8 0xed lib/lib.a(wait.o) .debug_info 0x0000000000017087 0xed lib/lib.a(wait.o)
.debug_info 0x00000000000167c5 0x55e lib/lib.a(string.o) .debug_info 0x0000000000017174 0x55e lib/lib.a(string.o)
.debug_info 0x00000000000176d2 0x225 lib/lib.a(malloc.o)
.debug_abbrev 0x0000000000000000 0x43b9
.debug_abbrev 0x0000000000000000 0x4694
*(.debug_abbrev) *(.debug_abbrev)
.debug_abbrev 0x0000000000000000 0x1d3 init/main.o .debug_abbrev 0x0000000000000000 0x1d3 init/main.o
.debug_abbrev 0x00000000000001d3 0xf63 kernel/kernel.o .debug_abbrev 0x00000000000001d3 0xf63 kernel/kernel.o
.debug_abbrev 0x0000000000001136 0x20b mm/mm.o .debug_abbrev 0x0000000000001136 0x20b mm/mm.o
.debug_abbrev 0x0000000000001341 0x19f1 fs/fs.o .debug_abbrev 0x0000000000001341 0x1bb3 fs/fs.o
.debug_abbrev 0x0000000000002d32 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .debug_abbrev 0x0000000000002ef4 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
.debug_abbrev 0x0000000000002e9b 0x27d kernel/blk_drv/blk_drv.a(floppy.o) .debug_abbrev 0x000000000000305d 0x27d kernel/blk_drv/blk_drv.a(floppy.o)
.debug_abbrev 0x0000000000003118 0x23c kernel/blk_drv/blk_drv.a(hd.o) .debug_abbrev 0x00000000000032da 0x23c kernel/blk_drv/blk_drv.a(hd.o)
.debug_abbrev 0x0000000000003354 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o) .debug_abbrev 0x0000000000003516 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o)
.debug_abbrev 0x00000000000034fc 0x279 kernel/chr_drv/chr_drv.a(tty_io.o) .debug_abbrev 0x00000000000036be 0x279 kernel/chr_drv/chr_drv.a(tty_io.o)
.debug_abbrev 0x0000000000003775 0x26b kernel/chr_drv/chr_drv.a(console.o) .debug_abbrev 0x0000000000003937 0x26b kernel/chr_drv/chr_drv.a(console.o)
.debug_abbrev 0x00000000000039e0 0x175 kernel/chr_drv/chr_drv.a(serial.o) .debug_abbrev 0x0000000000003ba2 0x175 kernel/chr_drv/chr_drv.a(serial.o)
.debug_abbrev 0x0000000000003b55 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o) .debug_abbrev 0x0000000000003d17 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o)
.debug_abbrev 0x0000000000003ce2 0x163 kernel/math/math.a(math_emulate.o) .debug_abbrev 0x0000000000003ea4 0x163 kernel/math/math.a(math_emulate.o)
.debug_abbrev 0x0000000000003e45 0x3e lib/lib.a(ctype.o) .debug_abbrev 0x0000000000004007 0x3e lib/lib.a(ctype.o)
.debug_abbrev 0x0000000000003e83 0x51 lib/lib.a(_exit.o) .debug_abbrev 0x0000000000004045 0x51 lib/lib.a(_exit.o)
.debug_abbrev 0x0000000000003ed4 0x97 lib/lib.a(open.o) .debug_abbrev 0x0000000000004096 0x97 lib/lib.a(open.o)
.debug_abbrev 0x0000000000003f6b 0x75 lib/lib.a(close.o) .debug_abbrev 0x000000000000412d 0x75 lib/lib.a(close.o)
.debug_abbrev 0x0000000000003fe0 0x2c lib/lib.a(errno.o) .debug_abbrev 0x00000000000041a2 0x2c lib/lib.a(errno.o)
.debug_abbrev 0x000000000000400c 0xa1 lib/lib.a(write.o) .debug_abbrev 0x00000000000041ce 0xa1 lib/lib.a(write.o)
.debug_abbrev 0x00000000000040ad 0x75 lib/lib.a(dup.o) .debug_abbrev 0x000000000000426f 0x75 lib/lib.a(dup.o)
.debug_abbrev 0x0000000000004122 0x73 lib/lib.a(setsid.o) .debug_abbrev 0x00000000000042e4 0x73 lib/lib.a(setsid.o)
.debug_abbrev 0x0000000000004195 0x85 lib/lib.a(execve.o) .debug_abbrev 0x0000000000004357 0x85 lib/lib.a(execve.o)
.debug_abbrev 0x000000000000421a 0xb6 lib/lib.a(wait.o) .debug_abbrev 0x00000000000043dc 0xb6 lib/lib.a(wait.o)
.debug_abbrev 0x00000000000042d0 0xe9 lib/lib.a(string.o) .debug_abbrev 0x0000000000004492 0xe9 lib/lib.a(string.o)
.debug_abbrev 0x000000000000457b 0x119 lib/lib.a(malloc.o)
.debug_line 0x0000000000000000 0x4599
.debug_line 0x0000000000000000 0x47b9
*(.debug_line .debug_line.* .debug_line_end) *(.debug_line .debug_line.* .debug_line_end)
.debug_line 0x0000000000000000 0x1a7 init/main.o .debug_line 0x0000000000000000 0x1a7 init/main.o
.debug_line 0x00000000000001a7 0xe86 kernel/kernel.o .debug_line 0x00000000000001a7 0xe86 kernel/kernel.o
.debug_line 0x000000000000102d 0x274 mm/mm.o .debug_line 0x000000000000102d 0x274 mm/mm.o
.debug_line 0x00000000000012a1 0x1c50 fs/fs.o .debug_line 0x00000000000012a1 0x1d86 fs/fs.o
.debug_line 0x0000000000002ef1 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .debug_line 0x0000000000003027 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
.debug_line 0x0000000000003088 0x24c kernel/blk_drv/blk_drv.a(floppy.o) .debug_line 0x00000000000031be 0x24c kernel/blk_drv/blk_drv.a(floppy.o)
.debug_line 0x00000000000032d4 0x2bf kernel/blk_drv/blk_drv.a(hd.o) .debug_line 0x000000000000340a 0x2bf kernel/blk_drv/blk_drv.a(hd.o)
.debug_line 0x0000000000003593 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o) .debug_line 0x00000000000036c9 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o)
.debug_line 0x00000000000036f3 0x33b kernel/chr_drv/chr_drv.a(tty_io.o) .debug_line 0x0000000000003829 0x33b kernel/chr_drv/chr_drv.a(tty_io.o)
.debug_line 0x0000000000003a2e 0x3ab kernel/chr_drv/chr_drv.a(console.o) .debug_line 0x0000000000003b64 0x3ab kernel/chr_drv/chr_drv.a(console.o)
.debug_line 0x0000000000003dd9 0xd9 kernel/chr_drv/chr_drv.a(serial.o) .debug_line 0x0000000000003f0f 0xd9 kernel/chr_drv/chr_drv.a(serial.o)
.debug_line 0x0000000000003eb2 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o) .debug_line 0x0000000000003fe8 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o)
.debug_line 0x000000000000408d 0xe1 kernel/math/math.a(math_emulate.o) .debug_line 0x00000000000041c3 0xe1 kernel/math/math.a(math_emulate.o)
.debug_line 0x000000000000416e 0x28 lib/lib.a(ctype.o) .debug_line 0x00000000000042a4 0x28 lib/lib.a(ctype.o)
.debug_line 0x0000000000004196 0x39 lib/lib.a(_exit.o) .debug_line 0x00000000000042cc 0x39 lib/lib.a(_exit.o)
.debug_line 0x00000000000041cf 0x62 lib/lib.a(open.o) .debug_line 0x0000000000004305 0x62 lib/lib.a(open.o)
.debug_line 0x0000000000004231 0x5c lib/lib.a(close.o) .debug_line 0x0000000000004367 0x5c lib/lib.a(close.o)
.debug_line 0x000000000000428d 0x28 lib/lib.a(errno.o) .debug_line 0x00000000000043c3 0x28 lib/lib.a(errno.o)
.debug_line 0x00000000000042b5 0x76 lib/lib.a(write.o) .debug_line 0x00000000000043eb 0x76 lib/lib.a(write.o)
.debug_line 0x000000000000432b 0x5a lib/lib.a(dup.o) .debug_line 0x0000000000004461 0x5a lib/lib.a(dup.o)
.debug_line 0x0000000000004385 0x77 lib/lib.a(setsid.o) .debug_line 0x00000000000044bb 0x77 lib/lib.a(setsid.o)
.debug_line 0x00000000000043fc 0x5d lib/lib.a(execve.o) .debug_line 0x0000000000004532 0x5d lib/lib.a(execve.o)
.debug_line 0x0000000000004459 0x7a lib/lib.a(wait.o) .debug_line 0x000000000000458f 0x7a lib/lib.a(wait.o)
.debug_line 0x00000000000044d3 0xc6 lib/lib.a(string.o) .debug_line 0x0000000000004609 0xc6 lib/lib.a(string.o)
.debug_line 0x00000000000046cf 0xea lib/lib.a(malloc.o)
.debug_frame .debug_frame
*(.debug_frame) *(.debug_frame)
.debug_str 0x0000000000000000 0x2093 .debug_str 0x0000000000000000 0x217e
*(.debug_str) *(.debug_str)
.debug_str 0x0000000000000000 0x1c0 init/main.o .debug_str 0x0000000000000000 0x1bc init/main.o
0x1ff (size before relaxing) 0x1fb (size before relaxing)
.debug_str 0x00000000000001c0 0xac0 kernel/kernel.o .debug_str 0x00000000000001bc 0xabc kernel/kernel.o
0x2332 (size before relaxing) 0x230a (size before relaxing)
.debug_str 0x0000000000000c80 0x185 mm/mm.o .debug_str 0x0000000000000c78 0x181 mm/mm.o
0x4e0 (size before relaxing) 0x4dc (size before relaxing)
.debug_str 0x0000000000000e05 0x904 fs/fs.o .debug_str 0x0000000000000df9 0x994 fs/fs.o
0x49ab (size before relaxing) 0x4e20 (size before relaxing)
.debug_str 0x0000000000001709 0xf0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) .debug_str 0x000000000000178d 0xec kernel/blk_drv/blk_drv.a(ll_rw_blk.o)
0x491 (size before relaxing) 0x48d (size before relaxing)
.debug_str 0x00000000000017f9 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) .debug_str 0x0000000000001879 0x1cf kernel/blk_drv/blk_drv.a(floppy.o)
0x673 (size before relaxing) 0x66f (size before relaxing)
.debug_str 0x00000000000019c8 0x15e kernel/blk_drv/blk_drv.a(hd.o) .debug_str 0x0000000000001a48 0x15e kernel/blk_drv/blk_drv.a(hd.o)
0x5e8 (size before relaxing) 0x5e4 (size before relaxing)
.debug_str 0x0000000000001b26 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) .debug_str 0x0000000000001ba6 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o)
0x58a (size before relaxing) 0x586 (size before relaxing)
.debug_str 0x0000000000001b69 0xfb kernel/chr_drv/chr_drv.a(tty_io.o) .debug_str 0x0000000000001be9 0xf7 kernel/chr_drv/chr_drv.a(tty_io.o)
0x4e3 (size before relaxing) 0x4df (size before relaxing)
.debug_str 0x0000000000001c64 0x1b9 kernel/chr_drv/chr_drv.a(console.o) .debug_str 0x0000000000001ce0 0x1b9 kernel/chr_drv/chr_drv.a(console.o)
0x5b7 (size before relaxing) 0x5b3 (size before relaxing)
.debug_str 0x0000000000001e1d 0x1a kernel/chr_drv/chr_drv.a(serial.o) .debug_str 0x0000000000001e99 0x1a kernel/chr_drv/chr_drv.a(serial.o)
0x3fc (size before relaxing) 0x3f8 (size before relaxing)
.debug_str 0x0000000000001e37 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) .debug_str 0x0000000000001eb3 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o)
0x4a7 (size before relaxing) 0x4a3 (size before relaxing)
.debug_str 0x0000000000001ec2 0x70 kernel/math/math.a(math_emulate.o) .debug_str 0x0000000000001f3e 0x6c kernel/math/math.a(math_emulate.o)
0x392 (size before relaxing) 0x38e (size before relaxing)
.debug_str 0x0000000000001f32 0x8d lib/lib.a(ctype.o) .debug_str 0x0000000000001faa 0x89 lib/lib.a(ctype.o)
0xb6 (size before relaxing) 0xb2 (size before relaxing)
.debug_str 0x0000000000001fbf 0x8 lib/lib.a(_exit.o) .debug_str 0x0000000000002033 0x8 lib/lib.a(_exit.o)
0xe2 (size before relaxing) 0xde (size before relaxing)
.debug_str 0x0000000000000000 0x8 lib/lib.a(open.o) .debug_str 0x0000000000000000 0x8 lib/lib.a(open.o)
0xf2 (size before relaxing) 0xee (size before relaxing)
.debug_str 0x0000000000001fc7 0x8 lib/lib.a(close.o) .debug_str 0x000000000000203b 0x8 lib/lib.a(close.o)
0xe4 (size before relaxing) 0xe0 (size before relaxing)
.debug_str 0x0000000000001fcf 0x8 lib/lib.a(errno.o) .debug_str 0x0000000000002043 0x8 lib/lib.a(errno.o)
0x93 (size before relaxing) 0x8f (size before relaxing)
.debug_str 0x0000000000000000 0x8 lib/lib.a(write.o) .debug_str 0x0000000000000000 0x8 lib/lib.a(write.o)
0xf0 (size before relaxing)
.debug_str 0x0000000000001fd7 0x6 lib/lib.a(dup.o)
0xdc (size before relaxing)
.debug_str 0x0000000000001fdd 0x9 lib/lib.a(setsid.o)
0xec (size before relaxing) 0xec (size before relaxing)
.debug_str 0x0000000000001fe6 0x9 lib/lib.a(execve.o) .debug_str 0x000000000000204b 0x6 lib/lib.a(dup.o)
0xf5 (size before relaxing) 0xd8 (size before relaxing)
.debug_str 0x0000000000001fef 0x11 lib/lib.a(wait.o) .debug_str 0x0000000000002051 0x9 lib/lib.a(setsid.o)
0x102 (size before relaxing) 0xe8 (size before relaxing)
.debug_str 0x0000000000002000 0x93 lib/lib.a(string.o) .debug_str 0x000000000000205a 0x9 lib/lib.a(execve.o)
0x147 (size before relaxing) 0xf1 (size before relaxing)
.debug_str 0x0000000000002063 0x11 lib/lib.a(wait.o)
0xfe (size before relaxing)
.debug_str 0x0000000000002074 0x93 lib/lib.a(string.o)
0x143 (size before relaxing)
.debug_str 0x0000000000002107 0x77 lib/lib.a(malloc.o)
0x15e (size before relaxing)
.debug_loc .debug_loc
*(.debug_loc) *(.debug_loc)

@ -18,7 +18,7 @@ CPP =gcc -E -nostdinc -I../include
OBJS= open.o read_write.o inode.o file_table.o buffer.o super.o \ OBJS= open.o read_write.o inode.o file_table.o buffer.o super.o \
block_dev.o char_dev.o file_dev.o stat.o exec.o pipe.o namei.o \ block_dev.o char_dev.o file_dev.o stat.o exec.o pipe.o namei.o \
bitmap.o fcntl.o ioctl.o truncate.o select.o bitmap.o fcntl.o ioctl.o truncate.o select.o mysystem_call.o
fs.o: $(OBJS) fs.o: $(OBJS)
$(LD) -r -o fs.o $(OBJS) $(LD) -r -o fs.o $(OBJS)

Binary file not shown.

@ -0,0 +1,290 @@
#define __LIBRARY__
#include <unistd.h>
#include <stdarg.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <asm/segment.h>
#include <sys/stat.h>
#include <fcntl.h>
#define BUF_MAX 4096
#define DIRBUF 8192
#define NAME_MAX 14
struct dirent {
long d_ino;
off_t d_off;
unsigned short d_reclen;
char d_name[NAME_MAX+1];
};
/*参数count指定该缓冲区的大小*/
int sys_getdents(unsigned int fd,struct linux_dirent *dirp,unsigned int count)
{
if(!count)return -1;/*count is zero*/
if(fd>=NR_OPEN)return -EINVAL;/*fd is over range*/
struct file *file;
struct m_inode * inode;
int ret;
struct buffer_head *hd;
struct dir_entry *de;
struct dirent * temp;
char * buf;
int desize,ldsize,i,ldi;
file=current->filp[fd];
if(!file)return ENOTDIR;/*the file is not exist or not file*/
ldsize = sizeof(struct dirent);
desize = sizeof(struct dir_entry);
inode = file ->f_inode;
temp = (struct dirent *)malloc(ldsize);/* //the inter veriable */
buf = (char*)malloc(ldsize);
/*get the inode's bread*/
hd = bread(inode->i_dev , inode->i_zone[0]);
ldi=0;
ret=0;
for (;ret<inode->i_size;ret += desize){
if (ldi >= count-ldsize)
break; /* full */
de = (struct dir_entry *)(hd->b_data + ret);/* de is set to the current dir_entry */
if (!de -> inode )/* to skip if there is no data in de */
continue;
/*To write, copying current dirent, */
temp->d_ino = de->inode;
temp->d_off = 0;
temp->d_reclen = ldsize;
strcpy(temp->d_name,de->name);
/* by put_fs_byte to write back data to the usr */
memcpy(buf, temp, ldsize);
for (i=0;i < ldsize;i++){
put_fs_byte(*(buf+i), ((char*)dirp)+i+ldi);
}
/* memcpy(temp, buf, ldsize); */
ldi += ldsize;
}
return ldi;
}
int do_execve2(unsigned long * eip,long tmp,char * filename,
char ** argv, char ** envp)
{
struct m_inode * inode;
struct buffer_head * bh;
struct exec ex;
unsigned long page[MAX_ARG_PAGES];
int i,argc,envc;
int e_uid, e_gid;
int retval;
int sh_bang = 0;
unsigned long p=PAGE_SIZE*MAX_ARG_PAGES-4;
if ((0xffff & eip[1]) != 0x000f)
panic("execve called from supervisor mode");
for (i=0 ; i<MAX_ARG_PAGES ; i++) /* clear page-table */
page[i]=0;
if (!(inode=namei(filename))) /* get executables inode */
return -ENOENT;
argc = count(argv);
envc = count(envp);
restart_interp:
if (!S_ISREG(inode->i_mode)) { /* must be regular file */
retval = -EACCES;
goto exec_error2;
}
i = inode->i_mode;
e_uid = (i & S_ISUID) ? inode->i_uid : current->euid;
e_gid = (i & S_ISGID) ? inode->i_gid : current->egid;
if (current->euid == inode->i_uid)
i >>= 6;
else if (current->egid == inode->i_gid)
i >>= 3;
if (!(i & 1) &&
!((inode->i_mode & 0111) && suser())) {
retval = -ENOEXEC;
goto exec_error2;
}
if (!(bh = bread(inode->i_dev,inode->i_zone[0]))) {
retval = -EACCES;
goto exec_error2;
}
ex = *((struct exec *) bh->b_data); /* read exec-header */
if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) {
/*
* This section does the #! interpretation.
* Sorta complicated, but hopefully it will work. -TYT
*/
char buf[1023], *cp, *interp, *i_name, *i_arg;
unsigned long old_fs;
strncpy(buf, bh->b_data+2, 1022);
brelse(bh);
iput(inode);
buf[1022] = '\0';
if (cp = strchr(buf, '\n')) {
*cp = '\0';
for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++);
}
if (!cp || *cp == '\0') {
retval = -ENOEXEC; /* No interpreter name found */
goto exec_error1;
}
interp = i_name = cp;
i_arg = 0;
for ( ; *cp && (*cp != ' ') && (*cp != '\t'); cp++) {
if (*cp == '/')
i_name = cp+1;
}
if (*cp) {
*cp++ = '\0';
i_arg = cp;
}
/*
* OK, we've parsed out the interpreter name and
* (optional) argument.
*/
if (sh_bang++ == 0) {
p = copy_strings(envc, envp, page, p, 0);
p = copy_strings(--argc, argv+1, page, p, 0);
}
/*
* Splice in (1) the interpreter's name for argv[0]
* (2) (optional) argument to interpreter
* (3) filename of shell script
*
* This is done in reverse order, because of how the
* user environment and arguments are stored.
*/
p = copy_strings(1, &filename, page, p, 1);
argc++;
if (i_arg) {
p = copy_strings(1, &i_arg, page, p, 2);
argc++;
}
p = copy_strings(1, &i_name, page, p, 2);
argc++;
if (!p) {
retval = -ENOMEM;
goto exec_error1;
}
/*
* OK, now restart the process with the interpreter's inode.
*/
old_fs = get_fs();
set_fs(get_ds());
if (!(inode=namei(interp))) { /* get executables inode */
set_fs(old_fs);
retval = -ENOENT;
goto exec_error1;
}
set_fs(old_fs);
goto restart_interp;
}
brelse(bh);
if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize ||
ex.a_text+ex.a_data+ex.a_bss>0x3000000 ||
inode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) {
retval = -ENOEXEC;
goto exec_error2;
}
if (N_TXTOFF(ex) != BLOCK_SIZE) {
printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename);
retval = -ENOEXEC;
goto exec_error2;
}
if (!sh_bang) {
p = copy_strings(envc,envp,page,p,0);
p = copy_strings(argc,argv,page,p,0);
if (!p) {
retval = -ENOMEM;
goto exec_error2;
}
}
/* OK, This is the point of no return */
if (current->executable)
iput(current->executable);
current->executable = inode;
for (i=0 ; i<32 ; i++)
current->sigaction[i].sa_handler = NULL;
for (i=0 ; i<NR_OPEN ; i++)
if ((current->close_on_exec>>i)&1)
sys_close(i);
current->close_on_exec = 0;
free_page_tables(get_base(current->ldt[1]),get_limit(0x0f));
free_page_tables(get_base(current->ldt[2]),get_limit(0x17));
/*we should rewrite here*/
/**/
if (last_task_used_math == current)
last_task_used_math = NULL;
current->used_math = 0;
p += change_ldt(ex.a_text,page)-MAX_ARG_PAGES*PAGE_SIZE;
p = (unsigned long) create_tables((char *)p,argc,envc);
current->brk = ex.a_bss +
(current->end_data = ex.a_data +
(current->end_code = ex.a_text));
current->start_stack = p & 0xfffff000;
current->euid = e_uid;
current->egid = e_gid;
i = ex.a_text+ex.a_data;
while (i&0xfff)
put_fs_byte(0,(char *) (i++));
eip[0] = ex.a_entry; /* eip, magic happens :-) */
eip[3] = p; /* stack pointer */
return 0;
exec_error2:
iput(inode);
exec_error1:
for (i=0 ; i<MAX_ARG_PAGES ; i++)
free_page(page[i]);
return(retval);
}
int sys_sleep(unsigned int seconds)
{
sys_signal(SIGALRM,SIG_IGN);
sys_alarm(seconds);
if(sys_pause()!=-1)
{
/* printk("sleep\n");*/
return 0;
}
/*printk("do not sleep\n");*/
return -1;
}
/*just full the sys_call_table[89]*/
int sys_something()
{
return 0;
}
/*find the father inode constantly*/
long sys_getcwd(char *buf,size_t size)
{
return 0;
}

@ -89,8 +89,11 @@ extern int sys_symlink();
extern int sys_lstat(); extern int sys_lstat();
extern int sys_readlink(); extern int sys_readlink();
extern int sys_uselib(); extern int sys_uselib();
extern int sys_execve2(); extern int sys_execve2();
extern int sys_getdents(); extern int sys_getdents();
extern int sys_something();
extern int sys_sleep(); extern int sys_sleep();
extern int sys_getcwd(); extern int sys_getcwd();
@ -109,7 +112,7 @@ sys_getpgrp, sys_setsid, sys_sigaction, sys_sgetmask, sys_ssetmask,
sys_setreuid,sys_setregid, sys_sigsuspend, sys_sigpending, sys_sethostname, sys_setreuid,sys_setregid, sys_sigsuspend, sys_sigpending, sys_sethostname,
sys_setrlimit, sys_getrlimit, sys_getrusage, sys_gettimeofday, sys_setrlimit, sys_getrlimit, sys_getrusage, sys_gettimeofday,
sys_settimeofday, sys_getgroups, sys_setgroups, sys_select, sys_symlink, sys_settimeofday, sys_getgroups, sys_setgroups, sys_select, sys_symlink,
sys_lstat, sys_readlink, sys_uselib, sys_execve2, sys_getdents, sys_sleep, sys_getcwd}; sys_lstat, sys_readlink, sys_uselib, sys_execve2, sys_getdents, sys_something ,sys_sleep, sys_getcwd};
/* So we don't have to do any more manual updating.... */ /* So we don't have to do any more manual updating.... */
int NR_syscalls = sizeof(sys_call_table)/sizeof(fn_ptr); int NR_syscalls = sizeof(sys_call_table)/sizeof(fn_ptr);

@ -58,8 +58,8 @@
#ifdef __LIBRARY__ #ifdef __LIBRARY__
#define __NR_setup 0 /* used only by init, to get system going */ #define __NR_setup 0 /* used only by init, to get system going */
#define _exit 1 #define __NR_exit 1
#define _fork 2 #define __NR_fork 2
#define __NR_read 3 #define __NR_read 3
#define __NR_write 4 #define __NR_write 4
#define __NR_open 5 #define __NR_open 5
@ -144,8 +144,12 @@
#define __NR_lstat 84 #define __NR_lstat 84
#define __NR_readlink 85 #define __NR_readlink 85
#define __NR_uselib 86 #define __NR_uselib 86
#define __NR_execve2 87 #define __NR_execve2 87
#define __NR_getdents 88 #define __NR_getdents 88
#define __NR_something 89
#define __NR_sleep 90 #define __NR_sleep 90
#define __NR_getcwd 91 #define __NR_getcwd 91
#define _syscall0(type,name) \ #define _syscall0(type,name) \
@ -268,6 +272,13 @@ int getppid(void);
pid_t getpgrp(void); pid_t getpgrp(void);
pid_t setsid(void); pid_t setsid(void);
long getcwd(char *buf,size_t size);
int something(void);
int sleep(unsigned int seconds);
int execve2(const char *path,char *argv[],char *envp[]);
#define __always_inline inline __attribute__((always_inline)) #define __always_inline inline __attribute__((always_inline))
#endif #endif

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save